以下、実施形態について、図面を一例として参照しつつ詳細に説明する。説明において、同一要素又は同一機能を有する要素には同一の符号を付し、重複する説明を省略する場合がある。
〔プラント管理システム〕
本実施形態に係るプラント管理システムは、プラントを管理するためのシステムであり、プラントの状態を判断するのに用いられる。図1に示されるプラント管理システム1は、例えばセメントクリンカ製造用のプラントに適用される。プラント管理システム1は、プラント管理装置100と、プラント管理サーバ200とを備える。
プラント管理装置100は、機械学習用のデータ(以下、「学習用データ」という。)を生成するためのデータを取得することと、機械学習により構築されたプラントの状態の推定用モデルに基づいてプラントの状態の推定データを導出することと、を実行する。学習用データは、下記入力側データ及び出力側データを含む。
入力側データは、上記推定データを導出する際に、推定用モデルに入力されるデータに相当する。入力側データは、時系列に並ぶ複数の時区間を含む時間軸と、プラントの運転状態に関する複数の状態項目を含む項目軸との二次元空間において、時区間及び状態項目の組み合わせにより特定されるセルごとのデータを含むマップデータである。
出力側データは、入力側データの入力に応じて推定モデルが出力すべきデータを予め教えるためのデータである。出力側データは、マップデータに対応するプラントの状態を示す教師データである。マップデータに対応するとは、マップデータに相関するものの、当該マップデータから直接的には導出されない関係にあることを意味する。教師データの具体例としては、マップデータを構成するデータの取得期間よりも未来のプラントの状態を示すデータ、又はマップデータを構成するデータの取得期間中のプラントの状態であって、マップデータを構成するデータから直接的には導出されない状態を示すデータ等が挙げられる。なお、「プラントの状態を示す」とは、「プラントの状態を評価している」ことを意味し、必ずしもプラントの状態を適切に示している場合に限定されない。
プラント管理装置100は、取得したデータに基づいてマップデータを機械学習の入力側データとして生成することと、取得したデータに基づいて教師データを機械学習の出力側データとして生成することと、を更に実行するように構成されていてもよい。また、プラント管理装置100は、推定用モデルに入力したマップデータと、当該マップデータが推定用モデルに入力されて導出された推定データとを画像データとして表示することを更に実行するように構成されていてもよい。
プラント管理サーバ200は、マップデータと教師データとを組み合わせた学習用データを蓄積することと、蓄積された学習用データに基づく機械学習により、プラントの状態の推定用モデルを構築することと、を実行する。
また、プラント管理サーバ200は、学習用データのマップデータを推定用モデルに入力して導出した推定データと、当該学習用データの教師データとの乖離が所定の範囲を超えている場合に、当該学習用データを除外することと、いずれかの学習用データが除外された場合に、残った学習用データに基づく機械学習により、推定用モデルを再構築することと、を更に実行するように構成されていてもよい。以下、プラント管理装置100及びプラント管理サーバ200の具体的な構成を詳細に例示する。
(プラント管理装置)
プラント管理装置100は、セメントクリンカ製造用のプラント10におけるセメントキルン12の状態を管理するための装置である。プラント10は、プレヒーター11と、セメントキルン12と、冷却機13と、複数のセンサ14とを有する。なお、図1においては、セメントクリンカの原料の流れを実線矢印で示し、高温ガスの流れを破線矢印で示している。
プレヒーター11は、前工程(原料粉砕工程)の装置(不図示)から供給されたセメントクリンカの原料を予熱する。プレヒーター11は、例えば、多段サイクロンを構成する複数のサイクロン11a及びボトムサイクロン11cを有する。プレヒーター11は、サイクロン11a(例えば、最上段サイクロンの入口)の投入口から投入されたセメントクリンカの原料を順次下方のサイクロン11aへ落下させて、セメントクリンカの原料が徐々に高温になるように予熱する。
プレヒーター11は、仮焼炉11bを更に有していてもよい。すなわち、プレヒーター11は、SP方式(Suspension Preheater方式:多段サイクロン予熱方式)であってもよく、NSP方式(New Suspension Preheater方式:仮焼炉を併設した多段サイクロン予熱方式)であってもよい。仮焼炉11bは、ボトムサイクロン11cのガス側入口に位置し、セメントクリンカの原料をバーナ11dによって仮焼する。ボトムサイクロン11cは、仮焼炉11bとセメントキルン12との間に位置し、予熱されたセメントクリンカの原料をセメントキルン12に供給する。
セメントキルン12は、プレヒーター11から供給されたセメントクリンカの原料を焼成する。セメントキルン12は、例えば回転窯(ロータリーキルン)であり、回転軸方向に沿う原料下流側に傾斜したドラム本体12aと、バーナ12bとを有する。ドラム本体12aは、原料の供給を受ける窯尻12cと、焼成したセメントクリンカを排出する窯前12dとを含む。ドラム本体12aは、例えば窯尻12cよりも窯前12dが下方に位置するように、水平面に対して2°~5°傾斜した回転軸まわりに回転する。これにより、ドラム本体12aは、供給されたセメントクリンカの原料を移動させながら撹拌し、バーナ12bによって焼成し、セメントクリンカを生成する。
冷却機13は、セメントキルン12から排出されたセメントクリンカを冷却する。冷却機13は、例えばエアークエンチングクーラー(クリンカクーラー)であり、高温のセメントクリンカを空気によって冷却するとともに、冷却によって発生した高温ガスを仮焼炉11bに供給する。
複数のセンサ14は、プラント10の運転状態に関する各要素の値を測定する。例えば、複数のセンサ14は、センサ14a,14b,14c,14d,14eを含む。センサ14a,14dは、例えば熱電対であって、ガス(空気又は抽気)の温度を測定する。センサ14b,14cは、例えばガス分析器であって、それぞれ酸素濃度、一酸化炭素濃度を測定する。センサ14eは、例えばフリーライム検出器であって、セメントクリンカ中のフリーライムの量を測定する。なお、フリーライムとは、反応してセメント鉱物にならなかったライム(CaO)をいう。センサ14a,14b,14cは、プレヒーター11(例えば、ガス側の、ボトムサイクロン11cの出口又は仮焼炉11bの出口又はプレヒーター11の出口)に配置されていてもよく、セメントキルン12の窯尻12cにも配置されていてもよい。センサ14dは、例えば冷却機13から仮焼炉11bへの高温ガスの流路に配置されている。センサ14eは、例えば冷却機13の出口に配置されている。
なお、複数のセンサ14は、上記に限定されず、プレヒーター11に供給されたセメントクリンカの原料の量を量るセンサ又はセメントクリンカの生産量を量るセンサ、又、二酸化炭素の濃度を測定するセンサ、窒素酸化物の濃度を測定するセンサ、セメントクリンカの原料の温度を測定するセンサ、セメントキルン12の回転の電力又はトルク又は回転数を検出するセンサ、プレヒーター11の排気ガスファン(不図示)の回転数を検出するセンサ、バーナ11d,12bの燃料量を測定するセンサ、及びセメントクリンカの容重を測定するセンサ等を含んでいてもよい。
図2に示されるように、プラント管理装置100は、機能上の構成(以下、「機能モジュール」という。)として、管理部110と、データ取得部101と、マップデータ生成部103と、教師データ生成部105と、推定部106と、表示部107と、を備える。
管理部110は、データの管理を行う。管理部110は、マップデータ及び教師データを学習用データ記憶部102に保存することと、マップデータの少なくとも一部のデータに適用させるためのメンバーシップ関数をメンバーシップ関数記憶部104に記憶することとを実行する。
データ取得部101は、マップデータ及び教師データを生成するためのデータを取得し、取得したデータをデータ記憶部101aに保存する。例えばデータ取得部101は、プラントの状態を示すデータをセンサ14等から取得する。データ取得部101は、天気の情報、オペレータの識別情報等、センサ14によっては直接取得されない情報をオペレータの入力に基づいて取得してもよい。データ取得部101は、データ記憶部101aのデータを管理部110の学習用データ記憶部102に保存する。
マップデータ生成部103は、学習用データ記憶部102に蓄積されたデータに基づいてマップデータを生成し、生成したマップデータをマップデータ記憶部103aに保存する。
図3は、マップデータ生成部103が生成するマップデータを例示する図である。図3に示されるように、マップデータ51は、時系列に並ぶ複数の時区間を含む時間軸51tと、プラント10の運転状態に関する複数の状態項目を含む項目軸51pとの二次元空間において、時区間及び状態項目の組み合わせにより特定されるセル51cごとのデータを含む。マップデータ51においては、時間軸51tが横軸とされ、項目軸51pが縦軸とされているがこれに限られず、時間軸51tが縦軸とされ、項目軸51pが横軸とされていてもよい。時間軸51tにおいては、項目軸51pから遠ざかる方向(例えば図示右方向)が時間の経過方向とされているがこれに限られず、項目軸51pに近付く方向(例えば図示左方向)が時間の経過方向とされていてもよい。また、複数の時区間は連続的に並んでいてもよいし、断続的に並んでいてもよい。なお、「時区間」は、特定の一瞬を示す一つの時刻であってもよく、開始時刻及び終了時刻により特定される期間であってもよい。
項目軸51pは、温度等、数値データで示される状態項目を含む他、天気の情報、オペレータの識別情報等、プラントの運転状態に関するあらゆる状態項目を含み得る。項目軸51pは、いずれかの状態項目の微分値を示す状態項目を含んでいてもよい。例えば項目軸51pの状態項目aは、地点A(例えばプレヒータ-11の出口)の空気の温度である。状態項目bは、地点Aの第一ガス(例えば酸素)の濃度である。状態項目cは、地点Aの第二ガス(例えば一酸化炭素)の濃度である。状態項目dは、状態項目cの微分値である。状態項目eは、地点B(例えば冷却機13から仮焼炉11bへの高温ガスの流路)の抽気の温度である。状態項目fは、セメントクリンカ中のフリーライムの量である。
なお、マップデータ51において、ある状態項目に関するデータとして、特定の時区間のデータがない場合には、同じ状態項目における当該時区間に近接する時区間のデータそのもの、又は周辺の複数の時区間のデータから近似される計算値によって得られたデータが代用されてもよい。また、データが無いことが示されていてもよい。データが無いことを示す場合は、対応するセル51cのデータをデータが無いことを表すデータ(例えば、後述するデータb1)によって表したマップデータ51を生成してもよく、当該セル51cが欠けた外形のマップデータ51を生成してもよい。
マップデータ生成部103は、マップデータ51の少なくとも一部のデータにファジー集合のメンバーシップ関数を適用してマップデータ51を生成してもよい。図5は、ファジー集合のメンバーシップ関数を例示する図である。図5の2つのグラフGは、いずれもメンバーシップ関数Fを示している。例えばグラフG1は、データの程度に関するファジー集合(例えば温度の高さに関するファジー集合)のメンバーシップ関数F1を示している。また、図5のグラフG2は、データの有無に関するファジー集合(クリスプ集合)のメンバーシップ関数F2を示している。なお、グラフG1の縦軸はファジー集合のグレード(温度が高いことに対する一致度)を示し、横軸はデータの値を示す。グラフG2の縦軸はファジー集合のグレード(データが有ることに対する一致度)を示し、横軸はデータの有無(データが有る場合が正であり、データが無い場合が偽であること)を示す。正と偽の中間的なデータは存在しない。なお、グレードの範囲としては、ファジー集合では0から1の範囲の全てを使ってもよいし、一部しか使わなくてもよい。
マップデータ生成部103は、時間軸51t及び項目軸51pの組み合わせにより特定されるセル51cごとのデータが画素用のデータフォーマットで、マップデータ51を生成してもよい。例えば、マップデータ生成部103は、画素用のデータフォーマットでグレードを示すメンバーシップ関数Fを用いてマップデータ51を生成してもよい。画素用のデータフォーマットとしては、6桁の16進数(000000~FFFFFF)の先頭2桁によりR(赤)の明度(強さ)を示し、中間の2桁によりG(緑)の明度を示し、末尾の2桁によりB(青)の明度(強さ)を示すRGBカラーコードが挙げられる。グレードの範囲に対応させる色相の範囲としては、可視光の波長に相当する約400nmから約700nmの一部又は全部を、波長の短い順、又は、その逆順で使うと、虹と同一となり人間であるオペレータにも分かり易い。波長とグレードとを線形に対応させて色相を決めると、人間には色が急に変わって不自然に見えるので、いくつかある色空間で定義されるような方法で決めてもよい。その際、彩度が高い方が変化が分かり易い。
彩度及び明度の少なくとも一方を、0から1に正規化し、その全部又は一部をグレードの範囲に予め対応させておいてもよい。一般的なコンピュータ用のカラーディスプレイは、明度の範囲を調整して加色混合して表示する構造なので、グレードをそのような明度の範囲に対応させると表示の計算が容易になる。フルレンジの明度の範囲を使うと、暗めの画像となり易いが、慣れれば違和感なく視認可能である。この違和感を軽減するために、フルレンジではなく、明度の高い範囲のみをグレードの範囲に対応させてもよい。色相の数は、色相の数のメモリを用意して、別の原色として機械が認識できるようにしておくことにより、任意の数に設定することが可能である。人間においても、赤・緑・青の3原色に加えて、黄を4番目の独立色として感じる人がおり、必ずしも色相は3原色に限られていない。人間の視覚に親和性が高いのは、赤・緑・青、又は、シアン(水色)・マゼンタ・イエロー(黄)の3原色に白や黒の無色の原色を加えて混合した色の範囲である。そこで、人間の視認性をも考慮する場合、色相の数は、3原色の3つか、3原色を直線上に並べた時にできる2つの間にも中間色を対応させた5色の5つであってもよい。5色の具体例としては、赤、イエロー、緑、シアン及び青が挙げられる。
複数種類の色相をそれぞれ対応させた複数種類のメンバーシップ関数Fを同一のデータに適用し、それにより得られる複数種類の色を合成してセル51cごとのデータを導出してもよい。例えばマップデータ生成部103は、赤、緑、及び青等の3原色をそれぞれ対応させた「大」、「中」及び「小」の3つのファジー集合のメンバーシップ関数Fを同一のデータに適用し、それにより得られる3種類の色を合成してセル51cごとのデータを導出してもよい。3つのファジー集合は、データの値(数字)を感覚的(定性的)に表現するものであればよく、大・中・小の他に、高い・丁度良い・低い、及び多い・普通・少ない等であってもよい。
3つのファジー集合を用いる場合、「大」と「中」との間、及び「中」と「小」との間では明度や彩度が低くなる。これに対し、3原色及び中間色を含む5色をそれぞれ対応させた「大」、「やや大」、「中」、「やや小」及び「小」等の5つのファジー集合を用いると、「大」と「中」との間、及び「中」と「小」との間においても彩度や明度を高くすることができる。5つのファジー集合は、「非常に大」、「大」、「中」、「小」及び「非常に小」であってもよい。
更に、上記のメンバーシップ関数F1,F2に色の要素を対応させて用いてもよい。例えば、図5に示す例では、マップデータ生成部103は、各セルのデータにメンバーシップ関数F1,F2を適用し、グラフG1,G2の各グレードを対応させたチャートC1,C2から求まる色の要素c01,c02を、データフォーマットに沿って混合したデータを各セルの色とすることによってマップデータ51を生成する。チャートC1は、例えばカラーチャートであり、HSV(Hue,Saturation,Value)色空間の最も彩度が高い色環を所定の色相順(例えば青から緑を経由して赤に至る順)に並べて構成される。なお、チャートC1は、連続のカラーチャートであってもよく、不連続のカラーチャートであってもよい。チャートC2は、例えばカラーチャートであり、色の要素c02(例えば透明)と指定色の塗りつぶし(例えば黒色b01)とから構成される。一例として、図5では、時区間t3における状態項目a(地点Aの温度)が380℃であった場合(データの値:380、データが有ること:正)に、メンバーシップ関数F1,F2が適用されたデータが、それぞれチャートC1,C2で評価されて色の要素c01,c02が求まり、更に、色の要素c01とc02が混合されて、セルの画素がデータc1となることを示している。また、図3のマップデータ51の時区間t8及び状態項目f(セメントクリンカ中のフリーライムの量)で特定されるセル51cのように、例えば対応するデータがまだ取得されていない場合(データの値:無し、データが有ること:偽)、メンバーシップ関数F1,F2が適用されることによって、当該セル51cの画素がデータb1となる。
マップデータ生成部103は、少なくとも二つの状態項目に対し異なるメンバーシップ関数Fを適用するように構成されていてもよい。例えば、温度の高さのようにアナログ的な評価が必要とされる状態項目には、温度等の値の上昇に応じてグレードが緩やかに上昇するメンバーシップ関数を適用し、「正常」及び「異常」のように二値的な評価が必要とされる状態項目には、値の変化に応じてグレードがステップ上に変化するメンバーシップ関数を適用してもよい。
マップデータ生成部103は、プラント10に投入される原料の状態や製品及びプラント10の運転環境の少なくともいずれかを含む外部要因に応じて、マップデータ51のデータに適用するメンバーシップ関数Fを変更するように構成されていてもよい。例えばマップデータ生成部103は、上記外部要因に対応したメンバーシップ関数Fをメンバーシップ関数記憶部104から取得して用いる。メンバーシップ関数記憶部104は、外部要因に対応して使い分けられるように予め設定された複数種類のメンバーシップ関数を状態項目ごとに記憶している。この場合、メンバーシップ関数Fの使い分けにより、外部環境の影響を抑制し、いずれの外部環境においても概ね似た傾向のマップデータ51を生成することができる。
図2に戻り、教師データ生成部105は、マップデータ51に対応するプラント10の状態を評価して、教師データを生成する。例えば教師データ生成部105は、学習用データ記憶部102からマップデータ51と、当該マップデータ51よりも未来のデータを取得し、マップデータ51に対応するプラント10の状態を示す教師データを生成し、生成した教師データを教師データ記憶部105aに保存する。
図4は、教師データ生成部105が生成する教師データを例示する図である。図4に示される教師データ52は、例えばマップデータ51よりも未来のマップデータ51Aにおけるフリーライムの量の評価値(例えば時区間t1,t2,t3,t4,t5,t6,t7に続く時区間t8,t9,t10におけるフリーライムの量の評価値)を含む。評価値は、例えば「良い」、「普通」又は「悪い」等の定性的な評価値である。評価値は、「改善傾向」又は「悪化傾向」等、変化傾向に対する定性的な評価値であってもよい。また評価値は、フリーライムの量自体、所定数の時区間に亘るフリーライムの量を加重平均した値等、定量的な評価値であってもよい。評価対象データは、フリーライムの量以外のデータであってもよい。例えば評価対象データは、セメントクリンカ中の塩素(Cl-)の濃度、セメントクリンカ中の硫黄(SO32-)の濃度等であってもよく、また、結果が出るのはかなり後になるが、当該セメントクリンカによって製造されたセメントの強度のようなもの(例えば当該セメントを含むモルタル又はコンクリートの所定材齢における強度)が含まれていてもよい。
また、教師データ52は、上記の評価値を複数個含んでいてもよく、上記の評価値を評価関数のようなもので評価したデータを含んでいてもよい。また、教師データ52は、未来のデータを含まなくてもよい。また、教師データ52として、例えば「良い」又は「悪い」のような二値的な評価値を使えば、「悪い」の評価のマップデータ51を除いて機械学習を行うことで、いわゆる教師無しの学習も可能である。
なお、教師データ52は、サンプリングの誤差等で学習用データとして適さない場合もあり、そのようなデータは、後述する学習用データ選択部204で、マップデータと共に学習用データから破棄されるようになっているので、教師データ生成部105が適切な教師かどうか判断する必要はない。
図2に戻り、推定部106は、学習用データに基づく機械学習により構築されたプラント10の状態のモデル記憶部205の推定用モデルに基づいて、プラント10の状態を示す推定データ53を出力する。推定用モデルは、マップデータ51の入力に応じて、プラント10の状態を示す推定データ53を出力するプログラムモジュールである。推定用モデルの具体例としては、マップデータ51を含む入力ベクトルと、教師データ52を含む出力ベクトルとを結ぶニューラルネットが挙げられる。例えば推定部106は、推定用モデルの導出に用いられたマップデータ51とは異なるマップデータ51を学習用データ記憶部102から取得し、当該マップデータ51を推定用モデルに入力して(例えば後述の推定処理部に送信して)推定データ53を導出する(例えば後述の推定処理部から取得する)。
表示部107は、推定部106が推定用モデルに入力したマップデータ51と、推定部106が導出した推定データ53とを画像データとして表示する。表示部107は、時系列に並ぶ複数のマップデータ51を動画表示してもよい。動画表示により、オペレータによる変化の気付きを促すことができる。
(プラント管理サーバ)
プラント管理サーバ200は、機能モジュールとして、学習用データ管理部210と、学習用データ取得部201と、データ蓄積部202と、モデル構築部203と、学習用データ選択部204と、モデル記憶部205と、推定処理部206とを備える。
学習用データ取得部201は、プラント管理装置100の学習用データ記憶部102から、マップデータ51と教師データ52とを組み合わせた学習用データを取得する。
学習用データ管理部210は、学習用データ取得部201が取得した学習用データをデータ蓄積部202に蓄積することと、マップデータ51を補正することと、を実行する。
学習用データ管理部210は、少なくとも二つの状態項目同士の間で、マップデータ51のデータの変動時刻のずれを縮小するように、当該二つの状態項目間で時間をずらしてマップデータ51を補正する。例えば、学習用データ管理部210は、共通の現象に起因するデータの変動が時間差をもって出現する二つの状態項目同士の間で、マップデータ51のデータの変動時刻のずれを縮小するように時間をずらしてマップデータ51を補正してもよい。なお、ずらすべき時間(以下、「シフト量」という。)は、標準的な遅れ時間として予め設定されている。例えば、状態項目aのデータ(地点Aの温度)に対し、データc2を含む状態項目eのデータ(地点Bの温度)が標準的な遅れ時間Δt(いわゆる無駄時間)を含む場合、遅れ時間Δtにて状態項目eのデータ全体を過去側にずらしてもよい。反対に、遅れ時間Δtにて状態項目aのデータ全体を未来側にずらしてもよい。
シフト量は、統計的解析等を使って一定値に定められていてもよい。一方の状態項目(例えば状態項目e)をずらしながら、他方の状態項目(例えば状態項目a)との相関関係が極大となるようにシフト量を変化させてもよい。
なお、例えばセメントキルン12の場合、リング(焼成によって融けた原料のキルン内部の付着物)の堰によって、標準的な遅れ時間Δtが大きく変化する場合がある。このような場合、遅れ時間Δtの大きさ自体がセメントキルン12の状態の重要な指標となりうる。遅れ時間Δtの大きさも、セメントキルン12の状態の指標として活用する場合には、遅れ時間Δtの変化に追随してシフト量を変化させずに一定に保つ方が有効となり得る。
状態項目の時間をシフトさせると、時間軸51tの端部におけるデータが欠落することとなる。このようなデータの欠落は、データ無しとして扱ってもよいし(例えば上記のデータb1)、当該欠落に合わせてマップデータ51の外形を変更してもよい。
項目軸51pが、第1の状態項目と、第2の状態項目と、第2の状態項目に比較して第1の状態項目に対する相関の強い第3の状態項目とを含む場合に、学習用データ管理部210は、第3の状態項目が第1の状態項目及び第2の状態項目の間に位置するようにマップデータ51を調節してもよい。例えば図3のマップデータ51の項目軸51pは、状態項目a(第1の状態項目)と、状態項目b(第2の状態項目)と、状態項目bに比較して状態項目aに対する相関の強い状態項目eとを含んでいる。このような場合、学習用データ管理部210は、状態項目eが、状態項目a及び状態項目bの間に位置するようにマップデータ51を調節してもよい。また、学習用データ管理部210は、上流で取得されるデータに関する状態項目(例えば地点Aで取得される温度である状態項目a)から下流で取得されるデータに関する状態項目(例えば地点Bで取得される温度である状態項目e)の順に状態項目が並ぶようにマップデータ51を調節してもよい。或いは、各種現象のトリガとなる情報に関する状態項目が互いに近接したマップデータ51を調節してもよい。
また、学習用データ管理部210は、マップデータ51を補正した際に用いたデータ(以下、「補正用パラメータ」という。)をデータ蓄積部202に保存する。
モデル構築部203は、データ蓄積部202に蓄積された学習用データに基づく機械学習により、プラント10の状態の推定用モデルを構築し、モデル記憶部205に保存する。例えばモデル構築部203は、ニューラルネットのノードの重み付けパラメータをディープラーニングによりチューニングする。
学習用データ選択部204は、モデル記憶部205に保存された推定用モデルに、モデル構築部203を通して、学習用データのマップデータ51を入力して推定データ53を導出し、当該推定データ53と、当該学習用データの教師データ52との乖離が所定の範囲を超えている場合に、当該学習用データを学習対象から除外する。例えば学習用データ選択部204は、当該学習用データの除外を示すフラグデータをデータ蓄積部202に書き込み、学習用データを除外した旨をモデル構築部203に通知する。これに応じ、モデル構築部203は、フラグデータの付された学習用データを除外して、モデル記憶部205に保存された推定用モデルを再構築する。
推定処理部206は、プラント管理装置100の推定部106からマップデータ51を取得し、当該マップデータ51をモデル記憶部205の推定用モデルに入力して推定データ53を導出し、当該推定データ53を推定部106に送信する。例えば推定処理部206は、学習用データ管理部210が記憶した補正用パラメータをマップデータ51に適用した上で、補正後のマップデータ51を推定用モデルに入力し、導出した推定データ53を推定部106に送信する。
(プラント管理システムのハードウェア構成)
図6は、プラント管理システム1のハードウェア構成を示すブロック図である。図6に示されるように、プラント管理装置100は、回路121を有する。回路121は、少なくとも一つのプロセッサ122と、メモリ123と、ストレージ124と、ネットワークアダプタ125と、入出力ポート126と、モニタ127と、入力デバイス128と、タイマ129とを有する。
ストレージ124は、コンピュータによって読み取り可能な不揮発型の記憶媒体(例えばハードディスク又はフラッシュメモリ)である。ストレージ124は、プラント管理装置100の各機能モジュールを構成するためのプログラムの記憶領域と、上記学習用データ記憶部102等の記憶部に割り当てられる記憶領域とを含む。メモリ123は、ストレージ124からロードしたプログラム及びプロセッサ122による演算結果等を一時的に記録する。プロセッサ122は、メモリ123と協働して上記プログラムを実行することで、プラント管理装置100の各機能モジュールを構成する。
ネットワークアダプタ125は、プロセッサ122からの指令に応じて、ネットワーク回線NWを介したネットワーク通信を行う。入出力ポート126は、センサ14等との間で電気信号の入出力を行う。モニタ127は、例えば液晶モニタ等の画像表示装置であり、例えば上記表示部107等として、オペレータに対する情報表示に用いられる。入力デバイス128は、例えばキーパッド等の情報入力装置であり、例えば上記データ取得部101へのプラント10に投入される原料の状態、プラント10の運転環境等の外部要因の入力等に用いられる。タイマ129は、例えば一定周期の基準パルスをカウントすることで経過時間を計測する。
プラント管理サーバ200は、回路221を有する。回路221は、少なくとも一つのプロセッサ222と、メモリ223と、ストレージ224と、ネットワークアダプタ225と、タイマ226とを有する。
ストレージ224は、コンピュータによって読み取り可能な不揮発型の記憶媒体(例えばハードディスク又はフラッシュメモリ)である。ストレージ224は、プラント管理サーバ200の各機能モジュールを構成するためのプログラムの記憶領域と、上記データ蓄積部202及び上記モデル記憶部205に割り当てられる記憶領域とを含む。メモリ223は、ストレージ224からロードしたプログラム及びプロセッサ222による演算結果等を一時的に記録する。プロセッサ222は、メモリ223と協働して上記プログラムを実行することで、プラント管理サーバ200の各機能モジュールを構成する。ネットワークアダプタ225は、プロセッサ222からの指令に応じて、ネットワーク回線NWを介したネットワーク通信を行う。タイマ226は、例えば一定周期の基準パルスをカウントすることで経過時間を計測する。
なお、プラント管理システム1のハードウェア構成は、必ずしもプログラムにより各機能モジュールを構成するものに限られない。例えばプラント管理装置100及びプラント管理サーバ200の各機能モジュールは、専用の論理回路又はこれを集積したASIC(Application Specific Integrated Circuit)により構成されていてもよい。
〔学習用データ生成方法〕
続いて、学習用データ生成方法の一例として、プラント管理装置100が実行する学習用データ生成プロセスの内容を説明する。
図7は、学習用データ生成プロセスを示すフローチャートである。図7に示されるように、プラント管理装置100は、まずステップS01を実行する。ステップS01では、マップデータ生成部103がマップデータ51を生成するためのデータが、データ取得部101から学習用データ記憶部102に蓄積されるのを管理部110が待機する。
次に、プラント管理装置100は、ステップS02を実行する。ステップS02では、マップデータ生成部103が、マップデータ51を生成するためのデータを学習用データ記憶部102から取得して、マップデータ51を生成し保存する。なお、マップデータ51の生成プロセスの詳細については後述する。
次に、プラント管理装置100は、ステップS03を実行する。ステップS03では、教師データ生成部105が、教師データ52を生成するためのデータを学習用データ記憶部102から取得して、教師データ52を生成し保存する。
以上により生成されたマップデータ51と教師データ52は管理部110に送信され、学習用データ記憶部102に保存されて、学習用データ生成プロセスが完了する。プラント管理装置100は、以上の学習用データ生成プロセスを繰り返し実行する。
(マップデータ生成プロセス)
続けて、図8を参照し、マップデータ生成プロセスの詳細について説明する。図8に示されるように、プラント管理装置100は、まずステップS11を実行する。ステップS11では、管理部110が、各状態項目に適用するメンバーシップ関数Fを選択する。例えば、プラント10に投入される原料の状態及びプラント10の運転環境の少なくともいずれかを含む外部要因に応じて、マップデータ51のデータに適用するメンバーシップ関数Fを選択する。
次に、プラント管理装置100は、ステップS12を実行する。ステップS12では、管理部110が、データ取得部101からマップデータ51及び教師データ52を生成するために必要なデータを全て取得する。
次に、プラント管理装置100は、ステップS13,S14を順に実行する。ステップS13では、マップデータ生成部103が、ステップS12において取得されたデータにメンバーシップ関数Fを適用して、対応するセル51cのデータを生成する。ステップS14では、各セル51cの生成したデータを、マップデータ生成部103のマップデータ記憶部103aに保存する。
次に、プラント管理装置100は、ステップS15を実行する。ステップS15では、マップデータ生成部103が、所定期間(例えば、上記時区間t1~t8)のデータの保存が完了したか否かを確認する。プラント管理装置100は、所定期間のデータの保存が完了していないと判断したときは、処理をステップS13に戻す。以後、所定期間のデータの保存が完了したと判断するまで、プラント管理装置100は、ステップS13,S14の処理を繰り返し実行する。これにより、時間軸51tと項目軸51pとの組み合わせにより特定する各セル51cのデータが全て保存される。以上により、マップデータ生成プロセスが完了する。プラント管理装置100は、以上のマップデータ生成プロセスを繰り返し実行する。
〔モデル構築方法〕
次に、モデル構築方法の一例として、プラント管理サーバ200が実行するモデル構築プロセスの内容を説明する。図9は、モデル構築プロセスを示すフローチャートである。図9に示されるように、プラント管理サーバ200は、まずステップS21を実行する。ステップS21では、学習用データ取得部201が、プラント管理装置100から学習用データを取得し、当該学習用データをデータ蓄積部202に保存する。
次に、プラント管理サーバ200は、ステップS22を実行する。ステップS22では、モデル構築部203が、データ蓄積部202に所定数の学習用データが蓄積されたか否かを確認する。プラント管理サーバ200は、所定数の学習用データが蓄積されていないと判断したときは、処理をステップS21に戻す。以後、所定数の学習用データが蓄積されたと判断するまで、プラント管理サーバ200は、学習用データの取得及び保存を繰り返し実行する。
ステップS22において、所定数の学習用データが蓄積されたと判断したときは、プラント管理サーバ200は、ステップS23を実行する。ステップS23では、学習用データ管理部210が、マップデータ51の少なくとも二つの状態項目同士の間で、データの変動時刻のずれを縮小するように時間を調節する。例えば、図3の状態項目a,e同士の間で、データc2を含む状態項目eのデータの全体を、遅れ時間Δtだけずらした時区間に調節する。学習用データ管理部210は、蓄積された学習用データのマップデータ51を、当該調節で補正したマップデータ51に書き換えてもよい。
次に、プラント管理サーバ200は、ステップS24を実行する。ステップS24では、項目軸51pが、第1の状態項目と、第2の状態項目と、第2の状態項目に比較して第1の状態項目に対する相関の強い第3の状態項目とを含む場合に、第3の状態項目が第1の状態項目及び第2の状態項目の間に位置するように、学習用データ管理部210がマップデータ51を調節する。例えば、図3のマップデータ51の項目軸51pは、状態項目a(第1の状態項目)と、状態項目b(第2の状態項目)と、状態項目bに比較して状態項目aに対する相関の強い状態項目eとを含んでいる。このような場合、学習用データ管理部210は、状態項目eが、状態項目a及び状態項目bの間に位置するようにマップデータ51を調節する。また、学習用データ管理部210は、上流で取得されるデータに関する状態項目(例えば地点Aで取得される温度である状態項目a)から下流で取得されるデータに関する状態項目(例えば地点Bで取得される温度である状態項目e)の順に状態項目が並ぶようにマップデータ51を調節してもよい。或いは、学習用データ管理部210は、各種現象のトリガとなる情報に関する状態項目が互いに近接したマップデータ51を調節してもよい。学習用データ管理部210は、蓄積された学習用データのマップデータ51を、当該調節で補正したマップデータ51に書き換えてもよい。
また、学習用データ管理部210は、ステップS23及びステップS24で使用したデータ蓄積部202のマップデータ51の補正に用いた、遅れ時間と状態項目の順番とのデータ(上記補正用パラメータ)を記憶しておく。
次に、プラント管理サーバ200は、ステップS25を実行する。ステップS25では、モデル構築部203が、データ蓄積部202に蓄積され補正された学習用データに基づく機械学習により、プラント10の状態の推定用モデルを構築し、モデル記憶部205に保存する。
次に、プラント管理サーバ200は、ステップS26,S27を順に実行する。ステップS26では、学習用データ選択部204が、モデル記憶部205の推定用モデルに学習用データのマップデータ51を入力して推定データ53を導出する。ステップS27では、学習用データ選択部204が、推定データ53と、当該推定データ53の導出に用いた学習用データの教師データ52との乖離が所定の範囲を超えているか否かを判断する。
ステップS27において推定データ53と教師データ52との乖離が範囲を超えていると判断したときは、プラント管理サーバ200は、ステップS28を実行する。ステップS28では、学習用データ選択部204が、当該推定データ53の導出に用いた学習用データを学習対象から除外する。例えば学習用データ選択部204は、当該学習用データの除外を示すフラグデータをデータ蓄積部202に書き込む。
次に、プラント管理サーバ200は、ステップS29を実行する。ステップS27において推定データ53と教師データ52との乖離が範囲を超えていないと判断したときは、プラント管理サーバ200は、ステップS28を省略してステップS29を実行する。ステップS29では、学習用データ選択部204が、データ蓄積部202に蓄積された全ての学習用データのチェックが完了したか否かを確認する。
ステップS29において、データ蓄積部202に蓄積された全ての学習用データのチェックが完了していないと判断したときは、プラント管理サーバ200は、処理をステップS26に戻す。以後、データ蓄積部202に蓄積された全ての学習用データのチェックが完了したと判断するまで、プラント管理サーバ200は、ステップS26~S28の処理を繰り返し実行する。
ステップS29においてデータ蓄積部202に蓄積された全ての学習用データのチェックが完了したと判断したときは、プラント管理サーバ200は、ステップS30を実行する。ステップS30では、モデル構築部203が、データ蓄積部202に蓄積されたいずれかの学習用データが学習対象から除外されたか否か(例えば学習用データ選択部204からデータ除外の通知があるか否か)を判断する。
ステップS30において、データ蓄積部202に蓄積されたいずれかの学習用データが学習対象から除外されたと判断したときは、プラント管理サーバ200は、ステップS31を実行する。ステップS31では、モデル構築部203が、残った学習用データに基づく機械学習により、推定用モデルを再構築する。例えばモデル構築部203は、フラグデータが付された学習用データを除外し、フラグデータが付されていない学習用データに基づく機械学習により推定用モデルを再構築する。その後、プラント管理サーバ200は処理をステップS26に戻す。以後、除外すべき学習用データがなくなるまで、学習用データの除外と推定用モデルの再構築とが繰り返される。ステップS30において、除外された学習用データはないと判定した場合、プラント管理サーバ200はモデル構築プロセスを完了する。プラント管理サーバ200は、以上のモデル構築プロセスを繰り返し実行する。
〔プラントの状態の推定方法〕
次に、プラント10の状態の推定方法の一例として、プラント管理装置100が実行する推定プロセスの内容を説明する。図10は、プラントの状態の推定プロセスを示すフローチャートである。図10に示されるように、プラント管理装置100は、まずステップS41を実行する。ステップS41では、マップデータ生成部103が、マップデータ51を生成するためのデータが学習用データ記憶部102に蓄積されるのを待機する。
次に、プラント管理装置100は、ステップS42を実行する。ステップS42では、マップデータ生成部103が、学習用データ記憶部102からマップデータ51を生成するためのデータを取得して、マップデータ51を生成する。マップデータ生成部103は、生成したマップデータ51を学習用データ記憶部102に保存する。
次に、プラント管理装置100は、ステップS43を実行する。ステップS43では、推定部106が、学習用データ記憶部102から取得したマップデータ51を推定処理部206に送信し、補正用パラメータによって補正されたマップデータ51を推定用モデルに入力して導出された推定データ53を推定処理部206から取得する。この時、推定処理部206は、学習用データ管理部210が記憶した補正用パラメータをマップデータ51に適用した上で、補正後のマップデータ51を推定用モデルに入力し、導出した推定データ53を推定部106に送信する。
次に、プラント管理装置100は、ステップS44を実行する。ステップS44では、推定処理部206が推定用モデルに入力したマップデータ51と、推定処理部206が導出した推定データ53とを推定部106が受け取り、表示部107が画像データとして表示する。以上により、推定プロセスが完了する。プラント管理装置100は、以上の推定プロセスを繰り返し実行する。
〔本実施形態の効果〕
本開示の一側面に係るプラント管理システム1は、時系列に並ぶ複数の時区間(例えば時区間t1,t2,t3,t4,t5,t6,t7,t8)を含む時間軸51tと、プラント10の運転状態に関する複数の状態項目(例えば状態項目a,b,c,d,e,f)を含む項目軸51pとの二次元空間において、時区間及び状態項目の組み合わせにより特定されるセル51cごとのデータを含むマップデータ51を生成するマップデータ生成部103と、マップデータ51に対応するプラント10の状態を示す教師データ52を生成する教師データ生成部105と、マップデータ51と、当該マップデータ51に対応する教師データ52とを組み合わせた学習用データを蓄積する学習用データ管理部210と、学習用データ管理部210に蓄積された学習用データに基づく機械学習により、プラント10の状態の推定用モデルを構築するモデル構築部203と、マップデータ51を推定用モデルに入力してプラント10の状態を示す推定データ53を導出する推定部106と、を備える。
このプラント管理システム1によれば、プラント10の運転状態に関する複数の要素の変化のパターンをマップデータ化して機械学習するので、計器異常のようなノイズもある程度許容した運転状態の総合的な変化に基づくプラント10の状態の変化を高精度に反映させることが可能な推定用モデルが構築される。この推定用モデルに基づいてマップデータから得られた推定データ53により、プラント10の状態を適切に判断することができる。このため、運転の正常や異常、また故障といった運転状態の判断を適切に行うことができる。したがって、プラント管理システム1は、プラント10の状態を判断するのに有用である。
プラント管理システム1は、学習用データのマップデータ51を推定用モデルに入力して導出した推定データ53と、当該学習用データの教師データ52との乖離が所定の範囲を超えている場合に、当該学習用データを除外する学習用データ選択部204を更に備え、モデル構築部203は、学習用データ選択部204によりいずれかの学習用データが除外された場合に、残った学習用データに基づく機械学習により、推定用モデルを再構築するように構成されていてもよい。この場合、例えば、サンプリング誤差等によって教師データの変化とプラント10の状態の変化とが対応していない場合等、学習用データに適さないものが学習用データに含まれていた場合には、当該学習用データに適さないものを除外して機械学習し直すので、推定用モデルをブラッシュアップすることができる。これにより、より適切にプラント10の状態を判断することができる。
マップデータ生成部103は、マップデータ51の少なくとも一部のデータにファジー集合のメンバーシップ関数Fを適用してマップデータ51を生成してもよい。この場合、マップデータ51のセル51cごとのデータをファジー化することにより、マップデータ51に熟練した人間のオペレータが感じているような各運転状態の変化の特徴が現れやすい。このため、機械学習の処理負担を軽減しつつ適切にプラント10の状態を判断することができる。
マップデータ生成部103は、少なくとも二つの状態項目に対し異なるメンバーシップ関数Fを適用するように構成されていてもよい。プラント10の運転状態に関する複数の要素において、当該運転状態の変化の特徴の現れやすさが互いに異なることが考えられる。このように異なる運転状態に関する状態項目に対して異なるメンバーシップ関数Fを適用することで、各運転状態に対して機械学習の処理負担を軽減し得る程度に応じたファジー化が可能となる。
マップデータ生成部103は、プラント10に投入されるセメントクリンカの原料の状態及びプラント10の運転環境の少なくともいずれかを含む外部要因に応じて、マップデータ51のデータに適用するメンバーシップ関数Fを変更するように構成されていてもよい。この場合、各運転状態の変化の特徴がマップデータ51にいっそう現れやすくなる。このため、機械学習の処理負担をより軽減することができる。
学習用データ管理部210は、少なくとも二つの状態項目(例えば状態項目a,e)同士の間で、データの変動時刻のずれを縮小するように、当該二つの状態項目a,eの間で時間をずらしてマップデータ51を補正してもよい。この場合、変動時刻のずれによってプラント10の運転状態に関する複数の要素による複合的な特徴が現れにくくなることを抑制することができる。
項目軸51pは、少なくとも、第1の状態項目(例えば状態項目a)と、第2の状態項目(例えば状態項目b)と、第2の状態項目に比較して第1の状態項目に対する相関の強い第3の状態項目(例えば状態項目e)とを含み、学習用データ管理部210は、第3の状態項目が第1の状態項目及び第2の状態項目の間に位置するようにマップデータ51を補正してもよい。この場合、プラント10の運転状態に関する複数の要素による複合的な特徴をより現れやすくすることができる。
項目軸51pは、いずれかの状態項目(例えば状態項目c)の微分値を示す状態項目(例えば状態項目d)を含んでいてもよい。これにより、例えば、プラント10の運転状態に関する要素が系統誤差を含んでいる場合等に当該系統誤差をキャンセルでき、運転状態の変化傾向を特徴としてマップデータ51に現すことができる。
マップデータ生成部103は、データのフォーマットが、画素用のデータフォーマットであるマップデータ51を生成してもよい。この場合、汎用化された画素認識用の機械学習エンジンを利用し得るので、機械学習の処理負担の軽減に寄与する。
プラント管理装置100は、推定用モデルに入力したマップデータ51と、当該マップデータ51が推定用モデルに入力されて導出された推定データ53とを画像データとして表示する表示部107を更に備えていてもよい。この場合、画像データを表示することで、推定データが示す運転状態の総合的な変化に基づくプラント10の状態の変化と人間のオペレータの視覚による認識とを対比することができる。
以上、実施形態について説明したが、本発明は必ずしも上述した実施形態に限定されるものではなく、その要旨を逸脱しない範囲で様々な変更が可能である。例えば、本発明は、セメントキルン12を含むプラント10のみならず、種々のプラントに適用することができる。
なお、プラント管理システム1は、上記のマップデータ生成プロセスを含む学習用データ生成プロセスをプラント管理サーバ200が実行するように構成されていてもよい。プラント管理サーバ200のモデル構築部203は、プラント10に投入される原料の状態や原料及びプラント10の運転環境の少なくともいずれかを含む外部要因に応じて、複数種類の推定用モデルを構築するように構成されていてもよく、推定部106は、外部要因に応じて複数種類の推定用モデルを使い分けるように構成されていてもよい。