IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日立造船株式会社の特許一覧

特開2024-84020情報処理装置、制御システム、指標値算出方法、および指標値算出プログラム
<>
  • 特開-情報処理装置、制御システム、指標値算出方法、および指標値算出プログラム 図1
  • 特開-情報処理装置、制御システム、指標値算出方法、および指標値算出プログラム 図2
  • 特開-情報処理装置、制御システム、指標値算出方法、および指標値算出プログラム 図3
  • 特開-情報処理装置、制御システム、指標値算出方法、および指標値算出プログラム 図4
  • 特開-情報処理装置、制御システム、指標値算出方法、および指標値算出プログラム 図5
  • 特開-情報処理装置、制御システム、指標値算出方法、および指標値算出プログラム 図6
  • 特開-情報処理装置、制御システム、指標値算出方法、および指標値算出プログラム 図7
  • 特開-情報処理装置、制御システム、指標値算出方法、および指標値算出プログラム 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024084020
(43)【公開日】2024-06-24
(54)【発明の名称】情報処理装置、制御システム、指標値算出方法、および指標値算出プログラム
(51)【国際特許分類】
   G06N 20/00 20190101AFI20240617BHJP
【FI】
G06N20/00
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022198177
(22)【出願日】2022-12-12
(71)【出願人】
【識別番号】000005119
【氏名又は名称】日立造船株式会社
(74)【代理人】
【識別番号】110000338
【氏名又は名称】弁理士法人 HARAKENZO WORLD PATENT & TRADEMARK
(72)【発明者】
【氏名】林 翔太
(72)【発明者】
【氏名】白石 裕司
(57)【要約】
【課題】機械学習モデルの更新に関する処理を適切に行う。
【解決手段】情報処理装置(2)は、訓練データセットに含まれる訓練データが外れ値であるか否かを判定するための閾値を用いて、機械学習モデルに入力された入力データが外れ値であるか否かを判定する外れ値判定部(204)と、当該判定結果に基づき、入力データに対する機械学習モデルの適合性を示す指標値を算出する指標値算出部(205)と、を備える。
【選択図】図2
【特許請求の範囲】
【請求項1】
機械学習モデルの生成に用いた訓練データセットに含まれる訓練データが外れ値であるか否かを判定するための閾値を用いて、前記機械学習モデルに入力された複数の入力データのそれぞれについて、当該入力データが外れ値であるか否かを判定する外れ値判定部と、
前記外れ値判定部の判定結果に基づき、前記入力データに対する前記機械学習モデルの適合性を示す指標値を算出する指標値算出部と、を備える情報処理装置。
【請求項2】
前記訓練データセットに含まれる各訓練データについて、当該訓練データが他の訓練データに対して乖離している程度を示す乖離度を算出し、算出した乖離度のうち所定の順位の乖離度を、上記閾値に決定する閾値決定部を備え、
前記外れ値判定部は、複数の前記入力データに含まれる各入力データについて算出された、当該入力データが他の入力データに対して乖離している程度を示す乖離度を前記閾値と比較することにより、各入力データが外れ値であるか否かを判定する、請求項1に記載の情報処理装置。
【請求項3】
前記機械学習モデルは、所定の対象に関する前記入力データから、当該対象の将来の状態が正常であるか異常であるかを予測するモデルであり、
前記指標値算出部は、外れ値であると判定された前記入力データのうち、当該入力データを用いた予測後に前記対象の状態が異常であった入力データの数または当該入力データの数を用いて算出される値を前記指標値として算出する、請求項1または2に記載の情報処理装置。
【請求項4】
前記機械学習モデルは、所定の対象に関する前記入力データから、当該対象の将来の状態が正常であるか異常であるかを予測するモデルであり、
前記機械学習モデルに複数の前記入力データを入力して行った予測における、異常と正しく判定できた件数を、異常と正しく判定できた件数と異常を正常と誤判定した件数との和で除することにより、当該予測における再現率を算出する再現率算出部と、
前記指標値と前記再現率とに基づいて、複数の前記入力データの中から前記機械学習モデルの再学習に用いるものを抽出する学習用データ抽出部と、を備える、請求項1または2に記載の情報処理装置。
【請求項5】
機械学習モデルの生成に用いた訓練データセットに含まれる訓練データが外れ値であるか否かを判定するための閾値を用いて、前記機械学習モデルに入力された複数の入力データのそれぞれについて、当該入力データが外れ値であるか否かを判定する外れ値判定部と、
前記外れ値判定部の判定結果に応じて前記機械学習モデルの再学習を促す報知部と、を備える情報処理装置。
【請求項6】
機械学習モデルの生成に用いた訓練データセットに含まれる訓練データが外れ値であるか否かを判定するための閾値を用いて、前記機械学習モデルに入力された複数の入力データのそれぞれについて、当該入力データが外れ値であるか否かを判定する外れ値判定部と、
前記外れ値判定部の判定結果に基づき、複数の前記入力データの中から前記機械学習モデルの再学習に用いるものを抽出する学習用データ抽出部と、を備える情報処理装置。
【請求項7】
機械学習モデルの生成に用いた訓練データセットに含まれる訓練データが外れ値であるか否かを判定するための閾値を用いて、前記機械学習モデルに入力された複数の入力データのそれぞれについて、当該入力データが外れ値であるか否かを判定する外れ値判定部と、
前記外れ値判定部の判定結果に基づいて決定されたタイミングで前記機械学習モデルの再学習を行う学習部と、を備える情報処理装置。
【請求項8】
請求項1に記載の情報処理装置と、
前記指標値に基づいて決定されたタイミングで前記機械学習モデルを更新する学習装置と、
更新後の前記機械学習モデルに入力データを入力することにより得られた出力データに基づいて所定の制御対象に対する制御内容を決定する制御装置と、を含み、
前記情報処理装置は、更新後の前記機械学習モデルに入力された前記入力データを取得して、前記入力データに対する前記機械学習モデルの適合性を示す指標値を算出する、制御システム。
【請求項9】
少なくとも1つの情報処理装置により実行される指標値算出方法であって、
機械学習モデルの生成に用いた訓練データセットに含まれる訓練データが外れ値であるか否かを判定するための閾値を用いて、前記機械学習モデルに入力された複数の入力データのそれぞれについて、当該入力データが外れ値であるか否かを判定する外れ値判定ステップと、
前記外れ値判定ステップにおける判定結果に基づき、前記入力データに対する前記機械学習モデルの適合性を示す指標値を算出する指標値算出ステップと、を含む指標値算出方法。
【請求項10】
請求項1に記載の情報処理装置としてコンピュータを機能させるための指標値算出プログラムであって、前記外れ値判定部および前記指標値算出部としてコンピュータを機能させるための指標値算出プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機械学習モデルの交換や再学習に関する処理を行う情報処理装置等に関する。
【背景技術】
【0002】
様々な分野で機械学習モデルの利用が進められている。例えば、下記の特許文献1には、ごみの焼却を行うと共に、焼却時に発生する熱を利用して発電を行うごみ焼却プラント設備において、機械学習したニューラルネットワークモデルを用いて所定時間後の発生蒸気量を予測することが記載されている。また、同文献には、新たに取得された学習データを用いて新たな機械学習モデルを生成すると共に、当該機械学習モデルの予測精度の評価値を算出し、先の機械学習モデルよりも評価値が高ければ、新たな機械学習モデルの方を使用することも記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2005-249349号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上述のような従来技術おいて、機械学習モデルの予測精度を適切に評価することは難しい。これは、特許文献1の技術を適用する場合、所定時間後に発生蒸気量が低下すると予測されたときには、蒸気量を低下させないようにするための介入制御を行うためである。つまり、発生蒸気量が低下すると予測された後、発生蒸気量が低下しなかった場合には、予測が外れたのか、予測は当たっていたが介入制御により低下を防ぐことができたのかの区別がつかず、それゆえ予測精度の適切な評価が難しい。
【0005】
このように、機械学習モデルによる推論結果の正否の検証が難しい場合には、機械学習モデルの交換の必要性や再学習の必要性の判定、あるいは再学習に用いるデータの選別等、機械学習モデルの更新に関する各種処理を適切に行うことが困難になるという問題がある。これは、プラントで使用される予測モデルに限られず、推論結果の正否の検証が難しい事象について推論を行う機械学習モデルを用いる場合に共通して生じる問題点である。
【0006】
本発明の一態様は、機械学習モデルによる推論結果の正否の検証が難しい場合にも、機械学習モデルの更新に関する処理を適切に行うことを可能にする情報処理装置等を実現することを目的とする。
【課題を解決するための手段】
【0007】
上記の課題を解決するために、本発明の一態様に係る情報処理装置は、機械学習モデルの生成に用いた訓練データセットに含まれる訓練データが外れ値であるか否かを判定するための閾値を用いて、前記機械学習モデルに入力された複数の入力データのそれぞれについて、当該入力データが外れ値であるか否かを判定する外れ値判定部と、前記外れ値判定部の判定結果に基づき、前記入力データに対する前記機械学習モデルの適合性を示す指標値を算出する指標値算出部と、を備える。
【0008】
また、本発明の他の態様に係る情報処理装置は、上記の課題を解決するために、機械学習モデルの生成に用いた訓練データセットに含まれる訓練データが外れ値であるか否かを判定するための閾値を用いて、前記機械学習モデルに入力された複数の入力データのそれぞれについて、当該入力データが外れ値であるか否かを判定する外れ値判定部と、前記外れ値判定部の判定結果に応じて前記機械学習モデルの再学習を促す報知部と、を備える。
【0009】
また、本発明のさらに他の態様に係る情報処理装置は、上記の課題を解決するために、機械学習モデルの生成に用いた訓練データセットに含まれる訓練データが外れ値であるか否かを判定するための閾値を用いて、前記機械学習モデルに入力された複数の入力データのそれぞれについて、当該入力データが外れ値であるか否かを判定する外れ値判定部と、前記外れ値判定部の判定結果に基づき、複数の前記入力データの中から前記機械学習モデルの再学習に用いるものを抽出する学習用データ抽出部と、を備える。
【0010】
また、本発明のさらに他の態様に係る情報処理装置は、上記の課題を解決するために、機械学習モデルの生成に用いた訓練データセットに含まれる訓練データが外れ値であるか否かを判定するための閾値を用いて、前記機械学習モデルに入力された複数の入力データのそれぞれについて、当該入力データが外れ値であるか否かを判定する外れ値判定部と、前記外れ値判定部の判定結果に基づいて決定されたタイミングで前記機械学習モデルの再学習を行う学習部と、を備える。
【0011】
また、本発明の一態様に係る指標値算出方法は、上記の課題を解決するために、少なくとも1つの情報処理装置により実行される指標値算出方法であって、機械学習モデルの生成に用いた訓練データセットに含まれる訓練データが外れ値であるか否かを判定するための閾値を用いて、前記機械学習モデルに入力された複数の入力データのそれぞれについて、当該入力データが外れ値であるか否かを判定する外れ値判定ステップと、前記外れ値判定ステップにおける判定結果に基づき、前記入力データに対する前記機械学習モデルの適合性を示す指標値を算出する指標値算出ステップと、を含む。
【発明の効果】
【0012】
本発明の一態様によれば、機械学習モデルの更新に関する処理を適切に行うことが可能になる。
【図面の簡単な説明】
【0013】
図1】本発明の一実施形態に係る制御システムの概要を示す図である。
図2】本発明の一実施形態に係る情報処理装置(推論モデルの適合性を示す指標値を算出する装置)の要部構成の一例を示すブロック図である。
図3】本発明の一実施形態に係る情報処理装置(パラメータの最適値を探索する装置)の要部構成の一例を示すブロック図である。
図4】閾値の決定方法と入力データが外れ値であるか否かの判定方法を説明する図である。
図5】廃棄物を焼却することにより発生した熱を利用して発電を行う焼却発電プラントにおいて、算出した指標値と再現率の遷移を示す図である。
図6】探索結果の表示画面の例を示す図である。
図7】上記情報処理装置(推論モデルの適合性を示す指標値を算出する装置)が実行する処理の一例を示すフローチャートである。
図8】上記情報処理装置(パラメータの最適値を探索する装置)が実行する処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0014】
〔システム概要〕
図1は、本発明の一実施形態に係る制御システム7の概要を示す図である。図示のように、制御システム7には、学習装置1と、情報処理装置2と、情報処理装置3と、制御装置4と、制御対象5とが含まれている。制御システム7は、制御装置4により制御対象5の動作を制御するシステムであり、制御対象5に対する制御は、推論モデルによる推論の結果に基づいて行われる。
【0015】
制御対象5は、制御装置4の制御対象であり機器51を含む。また、制御対象5には計測装置52が取り付けられている。計測装置52は、機器51に関するデータの計測を行うものであり、機器51や計測したいデータに応じたものを適用すればよい。例えば、機器51の内部あるいは外部の温度を計測したい場合には、計測装置52として温度センサを用いればよい。
【0016】
制御対象に含まれる機器51および計測装置52は、各1つであってもよいし、複数であってもよい。例えば、制御対象5が1つのプラントである場合、機器51はプラント内の機器である。この場合、計測装置52は、機器51に取り付けられていてもよいし、プラント内の他の場所に取り付けられてもよく、プラント外に設置されていてもよい。
【0017】
学習装置1は、制御対象5に対する制御の内容を決定するために用いられる推論モデルを生成する。推論モデルは、訓練データを用いた機械学習により生成されるから機械学習モデルと呼ぶこともできる。また、学習装置1は、推論モデルの再学習を行い、当該推論モデルを更新する。なお、機械学習のアルゴリズムは任意であり、使用する訓練データや推論内容等に応じて適当なアルゴリズムを適用すればよい。
【0018】
推論モデルは、制御対象5に対する制御の内容を決定する指針となるような事項についての推論を行うものであればよい。例えば、推論モデルは、制御対象5の将来の稼働状態が正常であるか否かを予測するものであってもよい。また、例えば、推論モデルは、将来の計測装置52の測定値を予測するものであってもよいし、制御対象5に対する最適な制御の内容を予測するものであってもよい。
【0019】
情報処理装置2は、学習装置1が生成する推論モデルによる推論の際に当該推論モデルに入力された入力データに対する当該推論モデルの適合性を示す指標値を算出する。詳細は後述するが、情報処理装置2は、上記指標値の算出にあたり、推論モデルの生成に用いた訓練データセットに含まれる訓練データが外れ値であるか否かを判定するための閾値を用いて、推論モデルに入力された複数の入力データのそれぞれについて、当該入力データが外れ値であるか否かを判定する。そして、情報処理装置2は、その判定結果に基づいて上記指標値を算出する。これにより、入力データに対する推論モデルの適合性を的確に判定することが可能になる。この指標値は、学習装置1に推論モデルを更新させるタイミングを決定するために使用される。
【0020】
情報処理装置3は、制御対象5の制御に関するパラメータの最適値の探索を行う。また、情報処理装置3は、制御対象5の制御に関するパラメータの代わりに、あるいは当該パラメータに加えて、推論モデルによる推論に関するパラメータの最適値の探索を行ってもよい。この探索により検出されたパラメータは制御装置4に提供され、制御装置4はこのパラメータを適用して制御対象5に対する制御を行う。
【0021】
詳細は後述するが、情報処理装置3は、推論モデルによる推論および該推論の結果に応じた制御の少なくとも何れかに関する上述のパラメータと、当該制御後の制御対象5の稼働状態との関係を示す関数の予測分布を算出し、算出した予測分布に基づいてパラメータの最適値の候補を探索する。これにより、オペレータの技能に左右されることなくパラメータを適切に設定することが可能になる。
【0022】
制御装置4は、上述の推論モデルを用いて推論を行うと共に、当該推論の結果に基づいて制御対象5に対する制御内容を決定する。具体的には、制御装置4は、データ取得部41と、推論部42と、制御内容決定部43とを備えており、これらの各部により上述の機能が実現される。
【0023】
データ取得部41は、推論に必要なデータを取得する。例えば、データ取得部41は、計測装置52により計測された計測データを取得してもよい。データ取得部41が取得したデータは、そのままあるいは所定のデータ処理を施した上で、推論モデルの入力データとされる。そして、推論部42は、上述の推論モデルに上述の入力データを入力し、出力データを得る。
【0024】
制御内容決定部43は、推論部42の推論の結果、すなわち上述の出力データに応じた制御内容を決定する。例えば、推論モデルが制御対象5の将来の稼働状態が正常であるか否かを予測するものである場合、制御内容決定部43は、稼働状態が正常である可能性が高いことを示す出力データが出力されたときには制御内容を従前の内容から変更しないようにしてもよい。一方、制御内容決定部43は、稼働状態が正常ではない可能性が高いことを示す出力データが出力されたときには、稼働状態を正常にするための制御内容を決定すればよい。制御内容は、情報処理装置3が検出したパラメータに基づいて決定される。
【0025】
なお、学習装置1が推論モデルを更新したときには、データ取得部41は更新後の推論モデルを取得し、推論部42は更新後の推論モデルに入力データを入力することにより出力データを得て、制御内容決定部43は当該出力データに基づいて制御対象5に対する制御内容を決定する。
【0026】
以上のように、制御システム7は、訓練データが外れ値であるか否かを判定するための閾値を用いて推論モデルに入力された入力データが外れ値であるか否かを判定し、その判定結果に基づいて、当該入力データに対する推論モデルの適合性を示す指標値を算出する情報処理装置2と、算出された指標値に基づいて決定されたタイミングで推論モデルを更新する学習装置1と、更新後の推論モデルに入力データを入力することにより得られた出力データに基づいて制御対象5に対する制御内容を決定する制御装置4とを含む。このようにして推論モデルが更新されると、情報処理装置2は、更新後の推論モデルに入力された入力データを取得して、当該入力データに対する推論モデルの適合性を示す指標値を算出する。
【0027】
このように、制御システム7では、推論モデルの再学習および更新と、推論モデルと入力データとの適合性を示す指標値の算出とを繰り返し行うことができる。これにより、適切なタイミングで再学習を行い、制御対象5に対する制御内容が妥当である状態を維持することが可能になる。
【0028】
また、以上のように、制御システム7は、あるパラメータが適用されている期間における、当該パラメータと制御対象5の稼働状態との関係を示す関数の予測分布を算出し、算出した予測分布に基づいて上記パラメータの最適値の候補を探索する情報処理装置3と、検出された最適値の候補を適用して制御対象5に対する制御を行う制御装置4と、を含む。なお、あるパラメータとは、制御対象5の制御と、推論モデルによる推論との少なくとも何れかに関するパラメータである。
【0029】
そして、情報処理装置3は、検出された候補が適用されている期間における稼働状態を示す結果データを取得し、当該結果データに基づいて予測分布を更新すると共に、更新後の予測分布に基づいてパラメータの最適値の新たな候補を探索する。これにより、制御システム7では、制御対象5に対する制御を行いながら、パラメータを最適値に近付けていくことができる。
【0030】
〔情報処理装置2の構成〕
図2は、情報処理装置2の要部構成の一例を示すブロック図である。図示のように、情報処理装置2は、情報処理装置2の各部を統括して制御する制御部20と、情報処理装置2が使用する各種データを記憶する記憶部21を備えている。また、情報処理装置2は、情報処理装置2が他の装置と通信するための通信部22、情報処理装置2に対する各種データの入力を受け付ける入力部23、および情報処理装置2が各種データを出力するための出力部24を備えている。
【0031】
また、制御部20には、データ取得部201、平均距離算出部202、閾値決定部203、外れ値判定部204、指標値算出部205、再学習要否判定部206、再現率算出部207、および学習用データ抽出部208が含まれている。
【0032】
データ取得部201は、情報処理装置2で使用する各種データを取得する。例えば、データ取得部201は、推論モデルの生成に用いた複数の訓練データを含む訓練データセットや、推論のために推論モデルに入力された入力データを取得する。例えば、データ取得部201は、学習装置1から訓練データセットを取得し、制御装置4から入力データを取得してもよい。
【0033】
平均距離算出部202は、データ間の平均距離を算出する。具体的には、平均距離算出部202は、データ取得部201が取得する訓練データセットに含まれる訓練データの1つと、当該訓練データからの距離が最も近い所定数の訓練データのそれぞれとの距離の平均値を算出する処理を、各訓練データについて行う。また、平均距離算出部202は、データ取得部201が取得する複数の入力データのうちの1つと、当該入力データからの距離が最も近い所定数の他の入力データのそれぞれとの距離の平均値を算出する処理を、各入力データについて行う。
【0034】
閾値決定部203は、データ取得部201が取得する訓練データセットに含まれる訓練データが外れ値であるか否かを判定するための閾値を決定する。より詳細には、閾値決定部203は、訓練データセットに含まれる各訓練データについて、当該訓練データが他の訓練データに対して乖離している程度を示す乖離度を算出し、算出した乖離度のうち所定の順位の乖離度を閾値に決定する。上記乖離度は、例えば、平均距離算出部202が各訓練データについて算出する平均値であってもよい。
【0035】
外れ値判定部204は、データ取得部201が取得する複数の入力データのそれぞれについて、当該入力データが外れ値であるか否かを判定する。この判定には、閾値決定部203が決定する閾値が用いられる。つまり、外れ値判定部204は、閾値決定部203が決定する閾値を基準として入力データが外れ値であるか否かを判定する。
【0036】
指標値算出部205は、外れ値判定部204の判定結果に基づき、入力データに対する推論モデルの適合性を示す指標値を算出する。指標値については後記〔指標値の例〕の項目で説明する。
【0037】
再学習要否判定部206は、指標値算出部205が算出する指標値に基づいて推論モデルの再学習の要否を判定する。そして、再学習要否判定部206は、推論モデルの再学習が必要と判定したときには、学習装置1に指示して推論モデルの再学習を行わせる。つまり、再学習要否判定部206が、再学習が必要と判定したタイミングが、再学習を行うべきタイミングということになり、再学習要否判定部206は再学習のタイミングを決定しているともいえる。
【0038】
再現率算出部207は、推論モデルに複数の入力データを入力して行った各推論における再現率を算出する。再現率は、真の値が正事例のものの中で、正事例と予測した割合を示す指標である。例えば、状態が正常であるか異常であるかを予測する推論モデルの場合、再現率は、(異常と正しく判定できた件数)/{(異常と正しく判定できた件数)+(異常を正常と誤判定した件数)}との式で算出することができる。つまり、再現率算出部207は、異常と正しく判定できた件数を、異常と正しく判定できた件数と異常を正常と誤判定した件数との和で除することにより、当該判定における再現率を算出する。
【0039】
学習用データ抽出部208は、指標値算出部205が算出する指標値に基づいてデータ取得部201が取得する複数の入力データの中から推論モデルの再学習に用いるものを抽出する。上述のように、指標値算出部205が算出する指標値は、外れ値判定部204の判定結果に基づいて算出されるから、学習用データ抽出部208は、外れ値判定部204の判定結果に基づいて再学習に用いる入力データを抽出しているともいえる。
【0040】
また、学習用データ抽出部208は、再現率算出部207が算出する再現率についても考慮して再学習に用いる入力データを抽出してもよい。抽出した入力データは例えば、再学習要否判定部206が推論モデルの再学習が必要と判定したときに学習装置1に送信するようにしてもよい。
【0041】
以上のように、情報処理装置2は、推論モデルの生成に用いた訓練データセットに含まれる訓練データが外れ値であるか否かを判定するための閾値を用いて、推論モデルに入力された複数の入力データのそれぞれについて、当該入力データが外れ値であるか否かを判定する外れ値判定部204と、外れ値判定部204の判定結果に基づき、入力データに対する推論モデルの適合性を示す指標値を算出する指標値算出部205と、を備える。
【0042】
上記の構成によれば、訓練データが外れ値であるか否かを判定するための閾値を用いて推論モデルに入力された入力データが外れ値であるか否かを判定している。この処理では、仮に訓練データセットに含まれていたとすると外れ値と判定されるような入力データ、つまり学習済みの範囲から乖離した入力データが外れ値と判定される。
【0043】
そして、学習済みの範囲から乖離した入力データの数や割合が増えたとき、入力データに対する推論モデルの適合性は低くなっているといえる。また、このとき、推論モデルの再学習や交換の必要性は高くなっているといえる。よって、上記の判定結果に基づいて指標値を算出する上記の構成によれば妥当な指標値を算出することができる。
【0044】
また、この指標値の算出は、推論モデルによる推論結果を用いることなく行うことができる。このため、上記の構成によれば、推論結果の正否の検証が難しい場合にも妥当な指標値を算出すること、つまり推論に用いた入力データに対する推論モデルの適合性を的確に判定することが可能になる。そして、この指標値を用いることにより、推論モデルの更新に関する各種処理を適切に行うことも可能になる。
【0045】
また、以上のように、情報処理装置2は、推論モデルの生成に用いた訓練データセットに含まれる訓練データが外れ値であるか否かを判定するための閾値を用いて、推論モデルに入力された複数の入力データのそれぞれについて、当該入力データが外れ値であるか否かを判定する外れ値判定部204と、外れ値判定部204の判定結果に基づき、推論モデルに入力された複数の入力データの中から推論モデルの再学習に用いるものを抽出する学習用データ抽出部208とを備えている。
【0046】
上述のように、学習済みの範囲から乖離した入力データの数や割合が増えたとき、入力データに対する推論モデルの適合性は低くなっているといえる。また、このとき、推論モデルの再学習や交換の必要性は高くなっているといえる。よって、外れ値判定部204の判定結果に基づいて推論モデルの再学習に用いる入力データを抽出する上記の構成によれば、再学習用のデータとして妥当なものを抽出することができる。
【0047】
なお、学習用データ抽出部208は、指標値算出部205が算出する指標値を用いて入力データを抽出してもよいし、当該指標値は用いず、外れ値判定部204の判定結果を用いて入力データを抽出してもよい。つまり、再学習に用いる入力データを抽出するにあたり、指標値算出部205を備えていることは必須ではない。
【0048】
また、上記の構成によれば、再学習に用いる入力データを抽出にあたり、推論モデルによる推論結果を用いる必要がない。このため、上記の構成によれば、推論結果の正否の検証が難しい場合にも、推論モデルの更新に関する処理である再学習用のデータを抽出する処理を適切に行うことが可能になる。
【0049】
〔情報処理装置3の構成〕
図3は、情報処理装置3の要部構成の一例を示すブロック図である。図示のように、情報処理装置3は、情報処理装置2と同様に、制御部30、記憶部31、通信部32、入力部33、および出力部34を備えている。情報処理装置3の制御部30には、データ取得部301、評価値算出部302、予測分布算出部303、探索部304、最適化制御部305、および表示制御部306が含まれている。
【0050】
データ取得部301は、情報処理装置3において使用される各種データを取得する。具体的には、データ取得部301は、情報処理装置3(より正確には探索部304)が検出したパラメータを適用した制御が行われた期間における制御対象5の稼働状態を示す結果データを取得する。例えば、データ取得部301は、当該期間における計測装置52の計測データを結果データとして取得してもよい。
【0051】
評価値算出部302は、データ取得部301が取得する結果データを用いて、制御対象5の稼働状態を評価した評価値を算出する。評価値は、制御対象5の稼働状態の良し悪しを表すものであればよい。なお、この評価値は、適用したパラメータの良し悪しを表しているともいえる。
【0052】
例えば、制御システム7において、制御対象5の将来の稼働状態を示す値を予測する推論モデルを用い、制御対象5の稼働状態が正常である状態を維持する制御を行う場合、評価値算出部302は、異常時間率を評価値としてもよい。異常時間率は、制御対象5の稼働時間に対する、制御対象5の稼働状態が異常であった時間の比である。制御対象5の稼働状態が異常であるか正常であるかはデータ取得部301が取得する結果データに基づいて判定することができる。
【0053】
予測分布算出部303は、上述のパラメータと、当該パラメータが適用されている期間における制御対象5の稼働状態との関係を示す関数の予測分布を算出する。制御対象5の稼働状態は、評価値算出部302の算出する評価値により表される。例えば、評価値算出部302が異常時間率を算出する場合、予測分布算出部303は、制御対象5の稼働状態を示す情報として異常時間率を用いる。この場合、異常時間率を低くすることができるような値にパラメータを設定することが可能になる。なお、評価値算出部302に評価値を算出させる代わりに、当該評価値を、入力部33等を介して入力するようにし、評価値算出部302を省略してもよい。
【0054】
探索部304は、予測分布算出部303が算出する予測分布に基づいてパラメータの最適値の候補を探索する。なお、予測分布の算出方法と候補の探索方法については後記〔予測分布の算出方法と最適値の候補の探索方法の詳細〕の項目で説明する。
【0055】
最適化制御部305は、予測分布算出部303と探索部304によるパラメータの最適化に関する制御を行う。例えば、最適化制御部305は、所定の条件を満たした場合に、予測分布算出部303と探索部304に最適化を終了させる制御を行う。
【0056】
表示制御部306は、探索部304が検出した候補を表示装置に表示出力させる。表示装置は情報処理装置3が備えているものであってもよい。例えば、出力部34が表示装置である場合、表示制御部306は、探索部304が検出した候補を出力部34に表示出力させてもよい。また、表示制御部306は、情報処理装置3に接続されている表示装置に表示出力させてもよいし、通信部32を介して通信可能な他の装置を介して当該装置に接続された表示装置に表示出力させてもよい。
【0057】
以上のように、情報処理装置3は、上述のパラメータと当該パラメータが適用されている期間における制御対象5の稼働状態との関係を示す関数の予測分布を算出する予測分布算出部303と、算出された予測分布に基づいてパラメータの最適値の候補を探索する探索部304と、を備える。
【0058】
上記の構成によれば、当該パラメータと稼働状態との関係を定式化することが難しい場合であっても、妥当なパラメータを検出することが可能になる。よって、上記の構成によれば、推論モデルによる推論の結果に応じて所定の制御対象に対する制御を行う制御システム7において、個人の技能に左右されることなくパラメータを適切に設定することが可能になる。
【0059】
また、予測分布算出部303は、探索部304が検出した候補と、当該候補が適用されている期間における制御対象5の稼働状態とに基づいて予測分布を更新する。そして、探索部304は、更新後の予測分布に基づいてパラメータの最適値の新たな候補を探索する。
【0060】
この構成によれば、先に検出した最適値の候補を適用したときの稼働状態を踏まえて、最適値の新たな候補を探索するから、より妥当性の高い候補を検出することが可能になる。また、例えば季節変動や経年変化により制御対象の状態が変化した場合であっても、変化後の状態に適合した候補を検出することが可能になる。なお、この構成ではある程度のトライアンドエラーが発生し得るが、その回数は必要最小限に抑えられる。
【0061】
〔閾値の決定方法と、外れ値であるか否かの判定方法〕
図4は、閾値の決定方法と入力データが外れ値であるか否かの判定方法を説明する図である。本項目では、図4に基づいて、閾値決定部203による閾値の決定方法と、外れ値判定部204による外れ値であるか否かの判定方法について説明する。
【0062】
閾値決定部203は、推論モデルの機械学習に用いた訓練データセットを用いて閾値を決定する。閾値の決定にあたり、平均距離算出部202が、訓練データセットに含まれる訓練データの1つと、当該訓練データからの距離が最も近い所定数の訓練データのそれぞれとの距離の平均値を算出する処理を、各訓練データについて行う。上述のように、このようにして算出される平均値は、各訓練データが他の訓練データに対して乖離している程度を示すものであり、乖離度と呼ぶこともできる。
【0063】
図4の左側には、訓練データセットに含まれる各訓練データの特徴空間におけるプロットを示している。例えば、上述の所定数を5としたとする。この場合、平均距離算出部202は、訓練データの1つであるデータD1について、当該特徴空間内においてデータD1から距離が最も近い5つの訓練データのそれぞれとデータD1との距離を算出し、それらの平均値を算出する。同様に、平均距離算出部202は、データD2についても、データD2から距離が最も近い5つの訓練データのそれぞれとデータD2との距離の平均値を算出する。平均距離算出部202は、このような処理を訓練データセットに含まれる各訓練データについて行う。これらの処理は、データ分類の一手法であるk近傍法で行われる処理と同様の処理である。
【0064】
次に、閾値決定部203が、上述のようにして算出された平均値をその大きさの昇順に並べ、順位が所定の順位となる平均値を求め、当該平均値を閾値に決定する。算出された平均値が大きい値の訓練データほど、他の訓練データから乖離しており、訓練データセットの全体からみて外れ値である可能性が高いといえる。例えば、図4に示されるデータD2について算出される平均値は、データD1について算出される平均値よりも大きいため、データD2はデータD1よりも外れ値である可能性が高いといえる。
【0065】
所定の順位は適宜設定すればよく、どのような値に設定するかは特に限定されない。例えば、訓練データセットにおける所定の割合の訓練データが当該順位より上位になるように所定の順位を設定してもよい。具体例を挙げれば、96%の訓練データが当該順位より上位になるようにする場合、(訓練データの総数)×0.96の値が所定の順位となる。この場合、訓練データの4%が外れ値となる。
【0066】
一方、図4の右側には、推論モデルに入力された各入力データの特徴空間におけるプロットを示している。以下では、外れ値判定部204による外れ値であるか否かの判定方法について説明する。
【0067】
外れ値判定部204は、以上のようにして決定された閾値を用いて、推論モデルに入力された入力データが外れ値であるか否かを判定する。外れ値であるか否かの判定においても、まず、平均距離算出部202による平均値の算出が行われる。より詳細には、平均距離算出部202は、入力データの1つと、当該入力データからの距離が最も近い所定数の入力データのそれぞれとの距離の平均値を算出する処理を、各入力データについて行う。平均距離算出部202により算出される平均値は、各入力データが他の入力データに対して乖離している程度を示しており、乖離度と呼ぶこともできる。
【0068】
図4の右側の例においても、同図の左側の例と同様に所定数は5である。この場合、平均距離算出部202は、入力データの1つであるデータd1について、特徴空間内においてデータd1から距離が最も近い5つの入力データのそれぞれとデータd1との距離を算出し、それらの平均値を算出する。
【0069】
そして、外れ値判定部204は、算出された平均値と、閾値決定部203が決定した閾値とを比較し、それらの大小関係に基づいてデータd1が外れ値であるか否かを判定する。例えば、外れ値判定部204は、図示のように、データd1について算出された平均値が閾値以上であった場合に、データd1を外れ値と判定してもよい。同様にして外れ値判定部204は、他の入力データのそれぞれについて、当該入力データが外れ値であるか否かを判定する。
【0070】
なお、外れ値の検方法は上述の例に限られない。例えば、LOF(Local Outlier Factor)により外れ値を検出してもよい。この場合、閾値決定部203は、局所密度の閾値を決定し、外れ値判定部204は、局所密度が当該閾値以下である入力データを外れ値と判定すればよい。また、例えば、ホテリング理論により外れ値を検出してもよい。この場合、閾値決定部203は、異常度の閾値を決定し、外れ値判定部204は、異常度が当該閾値以上である入力データを外れ値と判定すればよい。
【0071】
以上のように、閾値決定部203は、訓練データセットに含まれる各訓練データについて、当該訓練データが他の訓練データに対して乖離している程度を示す乖離度を算出し、算出した乖離度のうち所定の順位の乖離度を閾値に決定してもよい。そして、外れ値判定部204は、複数の入力データに含まれる各入力データについて算出された、当該入力データが他の入力データに対して乖離している程度を示す乖離度を、閾値決定部203が決定した閾値と比較することにより、各入力データが外れ値であるか否かを判定してもよい。
【0072】
上記の判定により外れ値と判定される入力データの数が増えた場合、推論に用いた入力データの特徴が、訓練データの特徴とは異なるものに変化したといえる。よって、上記の構成によれば、入力データに対する推論モデルの適合性を的確に判定することが可能になる。
【0073】
なお、外れ値の検出方法と同様に、乖離度の算出方法も特に限定されない。例えば、上述のように近傍の所定数のデータからの平均距離を乖離度としてもよい。この場合、当該距離は、例えばユークリッド距離であってもよいし、マンハッタン距離やマハラノビス距離等の他の距離であってもよい。また、例えば、ホテリング理論における異常度を乖離度としてもよいし、LOFで用いられる局所密度を乖離度としてもよい。
【0074】
〔指標値の例〕
指標値算出部205が算出する指標値は、入力データに対する推論モデルの適合性を示すものであればよい。例えば、指標値算出部205は、所定期間に外れ値判定部204が外れ値と判定した入力データの総数を上記指標値としてもよい。例えば、制御対象5を毎日稼働させる場合に、一日のうちに推論に用いられた複数の入力データのそれぞれについて当該入力データが外れ値であるか否かが判定されたとする。この場合、指標値算出部205は、外れ値であると判定された入力データの総数を、その日の終了時点における推論モデルの適合性を示す指標値として算出してもよい。
【0075】
また、例えば、指標値算出部205は、外れ値判定部204が外れ値と判定した入力データの数を用いて指標値を算出してもよい。例えば、指標値算出部205は、所定期間に計測装置52で計測された入力データのうち、外れ値判定部204が外れ値と判定した入力データの割合を指標値として算出してもよい。
【0076】
また、推論モデルが、所定の対象(例えば制御対象5)に関する入力データから、当該対象の将来の状態が正常であるか異常であるかを予測するモデルである場合、指標値算出部205は、外れ値であると判定された入力データのうち、当該入力データを用いた予測後に上記対象の状態が異常であった入力データの数または当該入力データの数を用いて算出される値を指標値として算出してもよい。
【0077】
外れ値であると判定された入力データは、入力データを用いた予測後に対象の状態が異常であったものと正常であったものとに分類することができる。このうち、予測後に対象の状態が異常であったものについては、異常という状態に応じた特徴が含まれているといえる。
【0078】
一般に正常という状態は変わらないが、異常という状態には多様性があるから、異常という状態に応じた特徴が含まれている入力データに外れ値が多いときには、異常という状態が学習時から変化した可能性があり、再学習の必要性が高いといえる。よって、上記の構成によれば、異常という状態の性質が変化することを考慮した妥当な指標値を算出することができる。
【0079】
〔再現率を考慮した再学習要否の判定〕
上述のように、推論モデルは、所定の対象に関する入力データから、当該対象の将来の状態が正常であるか異常であるかを予測するモデルであってもよい。この場合、異常である状態を見逃すつまり実際には異常であるのに正常と判定してしまう可能性を低減するという観点から、推論モデルの精度は再現率で評価することが好ましい。
【0080】
上記のような推論モデルの推論結果の正否の検証は難しい場合があるが、再現率を単体で利用するのではなく、指標値算出部205が算出する指標値と共に利用することにより、効果的な再学習が可能になる。
【0081】
これについて、図5に基づいて説明する。図5は、廃棄物を焼却することにより発生した熱を利用して発電を行う廃棄物焼却発電プラントにおいて、指標値算出部205が算出した指標値と再現率の遷移を示す図である。つまり、ここでは制御対象5が廃棄物焼却発電プラントである例を示している。なお、指標値は、1日あたりの外れ値と判定された入力データの総数である。また、同図には、上記廃棄物焼却発電プラントにおける蒸気量の設定値の遷移についても併せて示している。同図の横軸は時間(日)であり、縦軸の値は0~1の値に正規化したものである。
【0082】
図5において、円C1で示した期間では、再現率は高い水準で推移している。一方、指標値については、直近まで低い水準であった値が急増し、その後、高い水準で推移している。指標値の急増の直前に設定値が大きい値に変化していることから、指標値の急増の原因は設定値が変更されて入力データの特徴が変化したことにあると考えられる。
【0083】
一方、円C2で示した期間では、設定値に大きな変化がないにもかかわらず、指標値が増加し、再現率が低下している。この期間においては、設定値の変更以外の要因により、外れ値と判定された入力データが増えると共に、再現率が低下したと考えられる。このように指標値が増加し、かつ再現率が低下している期間は、推論モデルが異常と正常を分類する能力が低い期間であるといえる。
【0084】
このように、所定の対象に関する入力データから、当該対象の将来の状態が正常であるか異常であるかを予測する推論モデルを用いる場合、再現率算出部207は、推論モデルに複数の入力データを入力して行った予測における再現率、すなわち、異常と正しく判定できた件数を、異常と正しく判定できた件数と異常を正常と誤判定した件数との和で除した値を算出してもよい。
【0085】
再現率が低下している期間は、推論モデルによる正常であるか異常であるかの予測の精度が低下している期間であるといえるから、再現率は、推論モデルが異常と正常を分類する能力の高低を示す指標として利用できると考えられる。しかし、再現率の算出に用いられる、異常と正しく判定できた件数と異常を正常と誤判定した件数は、推論モデルの予測結果に基づく介入制御やオペレータの操作等の影響を受けるため、再現率を絶対的な評価指標とすることは好ましくない。一方で、上述の指標値を用いれば、使用された入力データが未学習の傾向を持つ期間を特定することが可能である。
【0086】
このため、学習用データ抽出部208は、再現率算出部207が算出する再現率と、指標値算出部205が算出する指標値とに基づいて、複数の入力データの中から推論モデルの再学習に用いるものを抽出してもよい。これにより、特に学習すべき期間(入力データが未学習の傾向を持ち、かつ回避すべき異常となってしまった期間)を推定することができ、効率よく学習すべきデータ期間を特定し、当該期間の入力データを再学習用のデータとして抽出することができる。例えば、図5の例において、取得された入力データのうち、円C2で示した期間の入力データを用いて効果的な再学習を行うこともできる。
【0087】
〔予測分布の算出方法と最適値の候補の探索方法の詳細〕
予測分布算出部303による予測分布の算出方法(更新も含む)の詳細と、探索部304による最適値の候補の探索方法の詳細を以下説明する。なお、以下の説明は、ベイズ最適化における予測分布の算出方法と探索方法に関するものである。ただし、予測分布を用いて最適値の候補を探索するものであれば、以下の説明に係る方法以外の方法を適用することも可能である。
【0088】
最適化の対象とするパラメータがN個ある場合、それらの制御パラメータは、
【0089】
【数1】
【0090】
と表され、
それに対する評価値は、
【0091】
【数2】
【0092】
と表される。
【0093】
予測分布算出部303は、データ取得部301が取得する結果データに基づいて、最適化の対象とするパラメータと制御後における制御対象の稼働状態との関係を示す関数の予測分布を算出する。なお、この関数を以下では評価関数f(θ)と呼ぶ。また、新たな結果データ(例えば、探索部304が検出した候補を適用した制御の結果を示す結果データ)が取得されたときには、予測分布算出部303は、その結果データが反映されるように予測分布を更新する。
【0094】
パラメータと稼働状態との関係を、ガウスノイズε~Ν(0,β)を用いて
【0095】
【数3】
【0096】
と仮定すると、ガウス過程による評価関数の予測分布として以下の分布が得られる。
【0097】
【数4】
【0098】
【数5】
【0099】
【数6】
【0100】
ここで、k=k(θ,θ)であり、KΘは[KΘi,j=k(θ,θ)で得られるグラム行列である。また、
【0101】
【数7】
【0102】
である。kΘ,*は、[kΘ,*=k(θ,θ)の縦ベクトルであり、k(・,・)は、カーネル関数である。ここではカーネル関数のパラメータをαとする。
【0103】
平均関数μ(θ)は、結果データ(および当該結果データから評価値算出部302が算出した評価値)から予測される評価関数の平均値を示す。また、分散関数σ(θ)は、結果データ(および当該結果データから評価値算出部302が算出した評価値)から予測される評価関数の分散である。σ(θ)は、予測の不確実性を示し、結果データが不足している領域ではその値が大きくなる傾向がある。σが大きいと、予測が不確実であるといえ、予測の確実性を上げるために必要な結果データが不足しているといえる。数式(3)から明らかなように、分散関数σ(θ)に含まれるカーネル関数およびカーネル関数のパラメータαは、予測分布の算出に影響を与える。予測分布の算出の際には、パラメータαの最適化が行われる。最適化の方法は特に限定されず、例えば一般的なベイズ最適化で適用されている各種の最適化手法を適用することもできる。
【0104】
探索部304は、最適な制御パラメータを求めるために、最適な制御パラメータの候補を探索する。具体的には、探索部304は、後記数式(4)、(5)に示されるように、平均関数μ(θ)と分散関数σ(θ)を用いて獲得関数a(θ)を最大にするパラメータを探索する。この探索で検出されたパラメータが、最適なパラメータの候補となる。この探索は、UCB(Upper Confidence Bound)戦略に基づいている。
【0105】
数式(5)におけるκは探索と利用を調節するためのパラメータである。受付部104が、フィードバック制御の結果が既知の値の周辺と、フィードバック制御の結果が未知の範囲と、の何れを重視して探索を行うかの選択を受け付けた場合、探索部304は、κを受け付けた選択に応じた値に設定し、候補の探索を行う。
【0106】
無論、他の方法で新たなパラメータを探索することも可能である。例えば、PI(Probability of Improvement)戦略や、EI(Expected Improvement)戦略で最適なパラメータの候補を探索してもよい。この他にも、例えば、PTR(Probability in Target Range)あるいはMI(Mutual Information)等の戦略を適用し、各戦略に応じた獲得関数を用いて最適なパラメータの候補を探索してもよい。
【0107】
なお、評価関数の値を最小化するパラメータを最適なパラメータとして求める場合(例えば稼働状態を示す情報として異常時間率を用いる場合等)には、獲得関数a(θ)を最小にするパラメータを探索すればよい。
【0108】
【数8】
【0109】
【数9】
【0110】
探索部304が検出したパラメータの最適値の候補は、表示制御部306が表示装置に表示させる等により情報処理装置3のオペレータに提示されてもよい。そして、制御装置4によりその候補を適用した制御対象5に対する制御が開始され、当該制御が行われた期間に計測装置52により計測された計測データが制御装置4に取得され、蓄積される。そして、蓄積された計測データには適用されたパラメータが対応付けられ、新たな結果データとして情報処理装置3に入力される。
【0111】
そして、予測分布算出部303は、新たな結果データに基づいて予測分布を更新し、探索部304は、予測分布算出部303による更新後の予測分布に基づいて構成される評価関数に基づき、パラメータの最適値を探索する。このように、予測分布の更新と最適値の探索とを繰り返すことにより、最適なパラメータを検出することが可能になる。
【0112】
〔表示画面例(結果表示)〕
表示制御部306は、例えば図6のような表示画面を表示させて探索の結果をオペレータに提示してもよい。図6は、探索結果の表示画面の例を示す図である。より詳細には、図6は、探索するパラメータに含まれる要素a~dのそれぞれについて検出された候補の履歴を平行座標上に示した図である。
【0113】
このように、探索するパラメータには、複数の要素が含まれていてもよく、これにより複数の要素を並行して最適化することができる。例えば、上述の焼却発電プラントが制御対象5である場合、上記要素a~dは、自動燃焼制御に関する各種制御パラメータとしてもよい。自動燃焼制御に関する制御パラメータとしては、例えば、燃焼速度の調整、乾燥空気の供給流量の調整、燃焼空気の供給流量の調整、燃焼空気の温度の調整、および焼却する廃棄物層の高さの調整に関するパラメータ等が挙げられる。
【0114】
また、探索するパラメータには、例えば、推論モデルの推論の結果に応じた、制御対象5に対する制御の内容と制御量とを示すものが含まれていてもよい。これにより、推論モデルによる推論の結果に応じて制御の内容と制御量を適切に設定することが可能になる。
【0115】
また、探索するパラメータには、制御対象5に対する制御の内容と制御量とを示す上記パラメータに加え、推論モデルによる推論に用いられる推論用パラメータが含まれていてもよい。この場合、探索部304は、予測分布算出部303が算出する予測分布に基づいて、制御対象5に対する制御の内容と制御量の最適値の候補と、推論用パラメータの最適値の候補の両方を探索する。
【0116】
なお、推論用パラメータは、例えば、推論モデルがニューラルネットワークモデルである場合には、学習により求められる重み値のようなハイパーパラメータであってもよい。また、推論モデルが、複数の機械学習モデルの推論結果をアンサンブルして最終的な推論結果を出力するものである場合、上記推論用パラメータを、アンサンブル比(各推論結果に対する重み)としてもよい。
【0117】
制御対象5の稼働状態は、推論モデルによる推論の結果や、その結果に応じた介入制御等の影響を受ける。このため、制御対象5に対する制御の内容と制御量の最適値と、推論用パラメータの最適値とを個別に算出した場合、全体として最適なパラメータの組み合わせとならない場合がある。この点、上記の構成によれば、制御対象5に対する制御の内容と制御量の最適値と、推論用パラメータの最適値の両方を探索するから、全体として最適なパラメータの組み合わせを検出することが可能になる。
【0118】
また、制御対象5の将来の状態が正常であるか異常であるかを予測する推論モデルを用いる場合、当該推論モデルの出力値は、正常である確率および/または異常である確率を示すものとなる。このため、制御装置4において、制御内容決定部43が、正常であるか異常であるかに応じた制御内容を決定するためには、上記の確率についての閾値を用いて、正常であるか異常であるかを判定する必要がある。
【0119】
そして、上記閾値をどのような値に設定するかは、状況に応じた妥当な制御内容を決定するために重要であるから、上記要素a~dには、制御対象5の将来の状態が正常であるか異常であるかを判定する当該閾値が含まれていてもよい。これにより、正常であるか異常であるかを適切に判定し、その判定結果に応じた妥当な制御を行うことが可能になる。なお、最適化するパラメータに含まれる要素の数は任意であり、また、各要素の内容も上記の例に限られない。
【0120】
ここで図6の説明に戻る。図6に示す平行座標は、縦軸がパラメータに含まれる各要素の値である。そして、当該平行座標上に、1回の探索で検出されたパラメータに含まれる要素を折れ線で結んだグラフを図示している。つまり、折れ線と縦軸との交点が各要素の値を示している。このようなグラフは並行座標プロットと呼ばれる。図6に示す並行座標プロットは、探索部304による各探索で検出された候補の値の遷移を示しており、遷移情報と呼ぶことができる。
【0121】
このように、表示制御部306は、探索部304による各探索で検出された候補の値の遷移を示す遷移情報を表示してもよい。これにより、パラメータの最適値の候補が、探索を重ねることによりどのように遷移したかをオペレータに容易に認識させ、最適化が正常に進んでいるかを確認させることができる。
【0122】
特に、最適化の対象とするパラメータが複数の要素を含んでいる場合、表示制御部306は、平行座標プロットすなわち各探索において検出された候補の値を要素ごとに示すグラフを平行座標上に表示してもよい。これにより、パラメータに含まれる各要素について検出された各候補が、探索を重ねることによりどのように変化したかをオペレータに容易に認識させ、最適化が正常に進んでいるかを確認させることができる。
【0123】
なお、平行座標プロットは遷移情報の表示態様の一例に過ぎず、遷移情報の表示態様は任意である。例えば、表示制御部306は、探索部304による各探索で検出された候補の値の遷移を示すパラレルセットグラフ、等高線プロット、あるいはコレログラフ等を遷移情報として表示してもよい。
【0124】
また、図6の例において、折れ線グラフを構成する線分には、実線のものと、破線のものと、一点鎖線のものとがある。これらの線分のパターンは、当該線分上の各要素の値を適用して制御対象5の制御を行った後の制御対象5の稼働状態に応じたものとなっている。具体的には、異常時間率が第1の閾値未満であったときの要素を結ぶ線分は実線、異常時間率が第1の閾値以上、第2の閾値未満であったときの要素を結ぶ線分は一点鎖線、異常時間率が第2の閾値以上であったときの要素を結ぶ線分は破線となっている。
【0125】
このように、表示制御部306は、検出された候補を適用して制御対象5の制御を行った後の制御対象5の稼働状態に応じて遷移情報に含まれる各候補の値の表示態様を異ならせてもよい。これにより、各候補の良し悪しを容易に認識させることができる。なお、稼働状態に応じた表示態様をどのようなものとするかは任意であり、図示の例に限られない。例えば、表示制御部306は、稼働状態に応じた色で各候補の値を表示させてもよい。この場合、稼働状態を評価した評価値(例えば異常時間率等)の値と、表示色との対応関係を予め定めておけばよい。これにより、表示制御部306は、評価値算出部302が算出する評価値に応じた表示色で各候補の値を表示させることができる。
【0126】
〔情報処理装置2が実行する処理の流れ〕
情報処理装置2が実行する処理(指標値算出方法)の流れを図7に基づいて説明する。図7は、情報処理装置2が実行する処理の一例を示すフローチャートである。
【0127】
S11では、データ取得部201が、訓練データセットを取得する。訓練データセットの取得方法は任意である。例えば、データ取得部201は、入力部23を介して入力された訓練データセットを取得してもよいし、通信部22を介して学習装置1から訓練データセットを取得してもよい。
【0128】
S12では、平均距離算出部202が、S11で取得された訓練データセットに含まれる各訓練データについて、当該訓練データの近傍の所定数の訓練データとの距離の平均値をそれぞれ算出する。なお、ある訓練データの近傍の所定数の訓練データとは、その訓練データからの距離が最も近い所定数の他の訓練データである。
【0129】
S13では、閾値決定部203が、S12で算出された複数の平均値のうち所定の順位の平均値を、入力データが外れ値であるか否かを判定するための閾値に決定する。なお、S11~S13の処理は、遅くともS16の処理が行われるまでに行っておけばよく、必ずしもS14の直前に行う必要はない。
【0130】
S14では、データ取得部201が、推論モデルによる推論に用いられた入力データを取得する。入力データの取得方法は任意である。例えば、データ取得部201は、入力部23を介して入力された入力データを取得してもよい。また、例えば、データ取得部201は、通信部22を介して制御装置4から入力データを取得してもよいし、計測装置52から計測データを取得して入力データを生成してもよい。
【0131】
なお、データ取得部201は、所定期間分の入力データをまとめて取得してもよいし、入力データをリアルタイムつまり当該入力データが推論モデルによる推論に用いられたあるいは用いられるタイミングで取得してもよい。
【0132】
S15では、平均距離算出部202が、S14で取得された入力データについて、当該入力データの近傍の所定数の入力データとの距離の平均値を算出する。なお、S14で1つの入力データが取得された場合、平均距離算出部202は、それ以前に取得された複数の入力データとの距離の平均値を算出する。一方、S14で複数の入力データが取得された場合、平均距離算出部202は、入力データと、当該入力データの近傍の所定数の入力データとの距離の平均値を算出する処理を、取得された複数の入力データのそれぞれについて行う。
【0133】
S16(外れ値判定ステップ)では、外れ値判定部204が、S15で算出された平均値に基づいて、S14で取得された入力データが外れ値であるか否かを判定する。より詳細には、外れ値判定部204は、S15で算出された平均値とS13で決定された閾値とを比較し、その比較結果に基づいて入力データが外れ値であるか否かを判定する。なお、S14で複数の入力データが取得された場合には、外れ値判定部204は、各入力データについて当該入力データが外れ値であるか否かを判定する。
【0134】
S17(指標値算出ステップ)では、指標値算出部205が、S16の判定結果に基づいて入力データに対する推論モデルの適合性を示す指標値を算出する。例えば、指標値算出部205は、所定期間に計測装置52で計測された計測データに対応する入力データのうち、S16で外れ値であると判定された入力データの数を指標値として算出してもよい。
【0135】
S18では、再学習要否判定部206が、S17で算出された指標値に基づいて再学習の要否を判定する。例えば、再学習要否判定部206は、S17で算出された指標値が所定の閾値以上であった場合に再学習要(S18でYES)と判定し、当該閾値未満であった場合に再学習不要(S18でNO)と判定してもよい。S18でNOと判定された場合には図7の処理は終了する。なお、リアルタイムで入力データを取得する場合、S18でNOと判定された場合にS14に戻り、新たな入力データを取得するようにしてもよい。
【0136】
S18でYESと判定された場合にはS19に進み、再学習要否判定部206は、学習装置1にS14で取得された入力データを送信して推論モデルの再学習を行わせ、これにより図7の処理は終了する。
【0137】
なお、再現率算出部207は、S14で取得された入力データを用いて行われた推論の再現率を算出してもよい。そして、学習用データ抽出部208は、S17で算出された指標値と、再現率算出部207が算出する再現率とに基づいて、S14で取得された複数の入力データの中から推論モデルの再学習に用いるものを抽出してもよい。そして、学習用データ抽出部208は、S18でYESと判定されたときに、再学習に用いる入力データを学習装置1に送信するようにしてもよい。
【0138】
〔再学習を促す構成について〕
また、S19において、再学習要否判定部206は、再学習を行うように学習装置1を制御する代わりに、オペレータに推論モデルの再学習を促す処理を行ってもよい。この場合、再学習要否判定部206は、外れ値判定部204の判定結果に応じて推論モデルの再学習を促す報知部として機能する。なお、報知の態様および報知の対象は何れも特に限定されない。例えば、報知部210は、再学習が必要であることを示す情報を出力することによって報知してもよい。出力先は特に限定されず、例えば報知部210は、出力部24に当該情報を出力させてもよいし、学習装置1に当該情報を出力させてもよく、オペレータの所持する端末装置等の他の装置に当該情報を出力させてもよい。
【0139】
また、再学習を促す処理を行う場合、指標値算出部205は省略し、再学習要否判定部206が外れ値判定部204の判定結果を用いて再学習の要否を判定してもよい。例えば、再学習要否判定部206は、S16で外れ値であると判定された入力データの数をカウントし、カウントした数が所定の閾値以上であった場合に再学習要と判定してもよい。
【0140】
このように、情報処理装置2は、推論モデルの生成に用いた訓練データセットに含まれる訓練データが外れ値であるか否かを判定するための閾値を用いて、推論モデルに入力された複数の入力データのそれぞれについて、当該入力データが外れ値であるか否かを判定する外れ値判定部204と、外れ値判定部204の判定結果に応じて推論モデルの再学習を促す再学習要否判定部(報知部)206と、を備える構成であってもよい。これにより、推論結果の正否の検証が難しい場合にも、推論モデルの更新に関する処理である再学習を促す処理を適切に行うことが可能になる。
【0141】
〔情報処理装置2で再学習を行う構成について〕
また、情報処理装置2は、推論モデルの再学習を行う学習部を備えていてもよい。この場合、制御システム7から学習装置1を省略することができる。そして、この場合、図7のS18において再学習要と判定されると、S19では情報処理装置2が備える学習部により再学習が行われる。
【0142】
この場合も、上記〔再学習を促す構成について〕で説明したように、指標値算出部205は省略してもよい。指標値算出部205を省略する場合、外れ値判定部204の判定結果を用いて再学習のタイミングが決定される。例えば、再学習要否判定部206が外れ値判定部204の判定結果を用いて再学習の要否を判定してもよく、この場合、再学習要と判定された時点が再学習のタイミングとなる。また、再学習要否判定部206を省略し、学習部が再学習を行うか否かを判定してもよく、この場合、学習部が外れ値判定部204の判定結果に基づいて再学習のタイミングを決定することになる。
【0143】
このように、情報処理装置2は、推論モデルの生成に用いた訓練データセットに含まれる訓練データが外れ値であるか否かを判定するための閾値を用いて、推論モデルに入力された複数の入力データのそれぞれについて、当該入力データが外れ値であるか否かを判定する外れ値判定部204と、外れ値判定部204の判定結果に基づいて決定されたタイミングで推論モデルの再学習を行う学習部と、を備える構成であってもよい。
【0144】
上記の構成によれば、訓練データが外れ値であるか否かを判定するための閾値を用いて推論モデルに入力された入力データが外れ値であるか否かを判定している。この処理では、仮に訓練データセットに含まれていたとすると外れ値と判定されるような入力データ、つまり学習済みの範囲から乖離した入力データが外れ値と判定される。
【0145】
そして、学習済みの範囲から乖離した入力データの数や割合が増えたとき、入力データに対する推論モデルの適合性は低くなっているといえる。また、このとき、推論モデルの再学習や交換の必要性は高くなっているといえる。よって、外れ値判定部204の判定結果に基づいて決定されたタイミングで推論モデルの再学習を行う上記の構成によれば、妥当なタイミングで再学習を行うことができる。
【0146】
また、上記の構成によれば、推論モデルによる推論結果を用いる必要がない。このため、上記の構成によれば、推論結果の正否の検証が難しい場合にも、推論モデルの更新に関する処理である再学習を適切に行うことが可能になる。
【0147】
〔情報処理装置3が実行する処理の流れ〕
情報処理装置3が実行する処理(探索方法)の流れを図8に基づいて説明する。図8は、情報処理装置3が実行する処理の一例を示すフローチャートである。なお、図8の処理を実行する契機は特に限定されない。例えば、所定期間おきに実行するようにしてもよいし、制御対象5の稼働状態を示す異常時間率等の情報を基に、稼働状態が悪化しているあるいは悪化傾向にあると判定されたタイミングで実行するようにしてもよい。
【0148】
S21では、データ取得部301が、最適化の対象となるパラメータの初期値と、当該初期値に対応する結果データとを取得する。例えば、データ取得部301は、入力部33を介して入力される初期値と結果データを取得してもよい。パラメータの初期値に対応する結果データは、当該初期値を適用した制御対象5の制御が行われた期間における制御対象5の稼働状態を示すものであり、例えば当該期間に計測装置52により計測された計測値であってもよい。
【0149】
また、データ取得部301は、S21において、初期値とその結果データに加えて、パラメータの上限値およびその上限値を適用したときの結果データと、パラメータの下限値およびその下限値を適用したときの結果データとを取得していてもよい。
【0150】
パラメータの初期値の決定方法は特に限定されない。例えば、記述統計的手法等によりパラメータの初期値を決定してもよい。この場合、例えば、異常発生前後のパラメータの値の分布を示す度数分布表などを作成し、それを基に最適と考えられるパラメータの値を特定し、特定した値を初期値としてもよい。初期値が決まれば、パラメータの値を初期値に設定して制御対象5の制御を所定期間行い、当該期間における稼働状態を示す結果データを取得することができる。
【0151】
また、パラメータの上限値と下限値の決定方法も特に限定されない。例えば、初期値と同様に記述統計的手法等により決定してもよいし、初期値を基準とし、初期値から所定幅だけ乖離した値を上限値および下限値としてもよい。後者の場合、例えば所定幅を10%として、初期値に初期値の10%の値を加えて上限値とし、初期値から初期値の10%の値を差し引いて下限値としてもよい。上限値および下限値のそれぞれについても、初期値と同様にして結果データを取得することができる。
【0152】
S22では、評価値算出部302が、S21で取得された結果データを用いて、初期値を適用して制御対象5の制御を行った期間における制御対象5の稼働状態を評価した評価値を算出する。評価値としては、例えば上述した異常時間率を適用してもよい。なお、異常時間率を算出する際の「異常」の定義は、推論モデルの学習の際と同じとしてもよいし、より広い定義を適用してもよい。
【0153】
S23(予測分布を算出するステップ)では、予測分布算出部303が、S21で取得された初期値と、S22で算出された評価値とに基づいて、最適化の対象とするパラメータと制御対象5の稼働状態との関係を示す関数の予測分布を算出する。なお、表示制御部306は、算出された予測分布を出力部34に出力させる等してオペレータに提示してもよい。
【0154】
S24(候補を探索するステップ)では、探索部304が、S23で算出された予測分布に基づいてパラメータの最適値の候補を探索する。また、表示制御部306は、検出された候補を出力部34に出力させる等して当該候補をオペレータに提示する。
【0155】
この後、オペレータは、提示された候補を適用することに問題がないか確認し、問題ないと判断した場合には、制御装置4に当該候補を入力して、当該候補を適用した制御対象5の制御を開始させる。そして、オペレータは、当該候補を適用した制御が行われた期間に計測装置52で計測された計測データ等を制御対象5の稼働状態を示す結果データとして、適用したパラメータの値(提示された候補の値)と共に情報処理装置3に入力する。これらの処理はオペレータを介さず自動で行うようにしてもよい。
【0156】
なお、オペレータが、S24の探索の結果として提示された候補を適用することに問題があると判断した場合、S25以下の処理はスキップされる。この場合、探索部304は、先に検出した候補とは異なる候補を探索してもよい。また、予めパラメータの正常範囲を定めておいてもよい。この場合、オペレータの判断によらず、S24で検出された候補が当該正常範囲外である場合に、S25以下の処理がスキップされる。
【0157】
S25では、データ取得部301が、上述のようにして入力された、適用されたパラメータの値と結果データとを取得する。なお、データ取得部301は、適用されたパラメータの値と結果データを制御装置4から取得してもよい。そして、S26では、評価値算出部302が、S25で取得された結果データを用いて評価値を算出する。
【0158】
S27では、最適化制御部305が、S26で算出された評価値に基づいて最適化を終了するか否かを判定する。例えば、最適化制御部305は、評価値が所定の閾値以上である場合に最適化を終了する(S27でYES)と判定し、評価値が当該閾値未満である場合に最適化を続ける(S27でNO)と判定してもよい。S27でYESと判定された場合には図8の処理は終了し、S27でNOと判定された場合にはS23の処理に戻る。S27から遷移したS23では、S25で取得されたパラメータの値と結果データとを用いて予測分布が更新される。
【0159】
〔変形例〕
上述の各実施形態で説明した各処理の実行主体は任意であり、上述の例に限られない。つまり、相互に通信可能な複数の情報処理装置(プロセッサということもできる)により、学習装置1、情報処理装置2、3、および制御装置4の機能を実現することができる。例えば、図7および図8のフローチャートに記載されている各処理を複数の情報処理装置に分担させることもできる。つまり、上述の各実施形態における制御方法の実行主体は、1つの情報処理装置であってもよいし、複数の情報処理装置であってもよい。
【0160】
また、上述のように、学習装置1の機能を情報処理装置2に持たせてこれらを1つの装置に統合してもよいし、学習装置1、情報処理装置2、および情報処理装置3の機能の一部または全部を制御装置4に持たせてもよい。このように、制御システム7をどのような装置で構成するかについても適宜変更することが可能である。
【0161】
〔ソフトウェアによる実現例〕
学習装置1、情報処理装置2、3、および制御装置4(以下、「装置」と呼ぶ)の機能は、当該装置としてコンピュータを機能させるためのプログラムであって、当該装置の各制御ブロック(特に制御部20および制御部30に含まれる各部)としてコンピュータを機能させるためのプログラム(指標値算出プログラム/探索プログラム)により実現することができる。
【0162】
この場合、上記装置は、上記プログラムを実行するためのハードウェアとして、少なくとも1つの制御装置(例えばプロセッサ)と少なくとも1つの記憶装置(例えばメモリ)を有するコンピュータを備えている。この制御装置と記憶装置により上記プログラムを実行することにより、上記各実施形態で説明した各機能が実現される。
【0163】
上記プログラムは、一時的ではなく、コンピュータ読み取り可能な、1または複数の記録媒体に記録されていてもよい。この記録媒体は、上記装置が備えていてもよいし、備えていなくてもよい。後者の場合、上記プログラムは、有線または無線の任意の伝送媒体を介して上記装置に供給されてもよい。
【0164】
また、上記各制御ブロックの機能の一部または全部は、論理回路により実現することも可能である。例えば、上記各制御ブロックとして機能する論理回路が形成された集積回路も本発明の範疇に含まれる。この他にも、例えば量子コンピュータにより上記各制御ブロックの機能を実現することも可能である。
【0165】
〔まとめ〕
本発明の態様1に係る情報処理装置は、機械学習モデルの生成に用いた訓練データセットに含まれる訓練データが外れ値であるか否かを判定するための閾値を用いて、前記機械学習モデルに入力された複数の入力データのそれぞれについて、当該入力データが外れ値であるか否かを判定する外れ値判定部と、前記外れ値判定部の判定結果に基づき、前記入力データに対する前記機械学習モデルの適合性を示す指標値を算出する指標値算出部と、を備える。
【0166】
本発明の態様2に係る情報処理装置は、前記態様1において、前記訓練データセットに含まれる各訓練データについて、当該訓練データが他の訓練データに対して乖離している程度を示す乖離度を算出し、算出した乖離度のうち所定の順位の乖離度を、上記閾値に決定する閾値決定部を備え、前記外れ値判定部は、複数の前記入力データに含まれる各入力データについて、当該入力データが他の入力データに対して乖離している程度を示す乖離度を算出し、算出した乖離度を前記閾値と比較することにより、各入力データが外れ値であるか否かを判定する。
【0167】
本発明の態様3に係る情報処理装置は、前記態様1または2において、前記機械学習モデルは、所定の対象に関する前記入力データから、当該対象の将来の状態が正常であるか異常であるかを予測するモデルであり、前記指標値算出部は、外れ値であると判定された前記入力データのうち、当該入力データを用いた予測後に前記対象の状態が異常であった入力データの数または当該入力データの数を用いて算出される値を前記指標値として算出する。
【0168】
本発明の態様4に係る情報処理装置は、前記態様1から3の何れかにおいて、前記機械学習モデルは、所定の対象に関する前記入力データから、当該対象の将来の状態が正常であるか異常であるかを予測するモデルであり、前記機械学習モデルに複数の前記入力データを入力して行った予測における、異常と正しく判定できた件数を、異常と正しく判定できた件数と異常を正常と誤判定した件数との和で除することにより、当該予測における再現率を算出する再現率算出部と、前記指標値と前記再現率とに基づいて、複数の前記入力データの中から前記機械学習モデルの再学習に用いるものを抽出する学習用データ抽出部と、を備える。
【0169】
本発明の態様5に係る情報処理装置は、機械学習モデルの生成に用いた訓練データセットに含まれる訓練データが外れ値であるか否かを判定するための閾値を用いて、前記機械学習モデルに入力された複数の入力データのそれぞれについて、当該入力データが外れ値であるか否かを判定する外れ値判定部と、前記外れ値判定部の判定結果に応じて前記機械学習モデルの再学習を促す報知部と、を備える。
【0170】
本発明の態様6に係る情報処理装置は、機械学習モデルの生成に用いた訓練データセットに含まれる訓練データが外れ値であるか否かを判定するための閾値を用いて、前記機械学習モデルに入力された複数の入力データのそれぞれについて、当該入力データが外れ値であるか否かを判定する外れ値判定部と、前記外れ値判定部の判定結果に基づき、複数の前記入力データの中から前記機械学習モデルの再学習に用いるものを抽出する学習用データ抽出部と、を備える。
【0171】
本発明の態様7に係る情報処理装置は、機械学習モデルの生成に用いた訓練データセットに含まれる訓練データが外れ値であるか否かを判定するための閾値を用いて、前記機械学習モデルに入力された複数の入力データのそれぞれについて、当該入力データが外れ値であるか否かを判定する外れ値判定部と、前記外れ値判定部の判定結果に基づいて決定されたタイミングで前記機械学習モデルの再学習を行う学習部と、を備える。
【0172】
本発明の態様8に係る制御システムは、前記態様1に記載の情報処理装置と、前記指標値に基づいて決定されたタイミングで前記機械学習モデルを更新する学習装置と、更新後の前記機械学習モデルに入力データを入力することにより得られた出力データに基づいて所定の制御対象に対する制御内容を決定する制御装置と、を含み、前記情報処理装置は、更新後の前記機械学習モデルに入力された前記入力データを取得して、前記入力データに対する前記機械学習モデルの適合性を示す指標値を算出する。
【0173】
本発明の態様9に係る指標値算出方法は、少なくとも1つの情報処理装置により実行される指標値算出方法であって、機械学習モデルの生成に用いた訓練データセットに含まれる訓練データが外れ値であるか否かを判定するための閾値を用いて、前記機械学習モデルに入力された複数の入力データのそれぞれについて、当該入力データが外れ値であるか否かを判定する外れ値判定ステップと、前記外れ値判定ステップにおける判定結果に基づき、前記入力データに対する前記機械学習モデルの適合性を示す指標値を算出する指標値算出ステップと、を含む。
【0174】
本発明の態様10に係る指標値算出プログラムは、前記態様1に記載の情報処理装置としてコンピュータを機能させるための指標値算出プログラムであって、前記外れ値判定部および前記指標値算出部としてコンピュータを機能させる。
【0175】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【0176】
1 学習装置
2 情報処理装置
203 閾値決定部
204 外れ値判定部
205 指標値算出部
207 再現率算出部
208 学習用データ抽出部
4 制御装置
7 制御システム
図1
図2
図3
図4
図5
図6
図7
図8