(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-01
(45)【発行日】2024-07-09
(54)【発明の名称】学習装置、学習方法及び学習プログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20240702BHJP
G05B 19/418 20060101ALI20240702BHJP
【FI】
G06N20/00 130
G05B19/418 Z
(21)【出願番号】P 2023076236
(22)【出願日】2023-05-02
(62)【分割の表示】P 2021188226の分割
【原出願日】2021-11-18
【審査請求日】2023-05-02
(73)【特許権者】
【識別番号】399035766
【氏名又は名称】エヌ・ティ・ティ・コミュニケーションズ株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】伊藤 浩二
(72)【発明者】
【氏名】島田 健一郎
(72)【発明者】
【氏名】泉谷 知範
(72)【発明者】
【氏名】木村 大地
(72)【発明者】
【氏名】小山 和輝
(72)【発明者】
【氏名】藤原 大悟
【審査官】福西 章人
(56)【参考文献】
【文献】特開2021-128388(JP,A)
【文献】特開2016-99734(JP,A)
【文献】特開2008-102720(JP,A)
【文献】特開2017-142595(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
G06F 18/00-18/40
G05B 19/418
(57)【特許請求の範囲】
【請求項1】
製品の生産工程における状況を表す説明変数と、前記生産工程における機器の操作を表す目的変数との組み合わせである第1のデータのそれぞれに、前記生産工程において排出される所定の物質の濃度が大きいほど小さくなる重みを付与する付与部と、
前記第1のデータの中から、前記説明変数と指定された説明変数との距離、及び前記重みに基づいて第2のデータを抽出する抽出部と、
前記第2のデータを用いて、前記説明変数から前記目的変数を出力するモデルを更新する更新部と、
を有することを特徴とする学習装置。
【請求項2】
前記付与部は、前記生産工程において排出されるCO2の濃度が大きいほど小さくなる重みを付与することを特徴とする請求項1に記載の学習装置。
【請求項3】
学習装置によって実行される学習方法であって、
製品の生産工程における状況を表す説明変数と、前記生産工程における機器の操作を表す目的変数との組み合わせである第1のデータのそれぞれに、前記生産工程において排出される所定の物質の濃度が大きいほど小さくなる重みを付与する付与工程と、
前記第1のデータの中から、前記説明変数と指定された説明変数との距離、及び前記重みに基づいて第2のデータを抽出する抽出工程と、
前記第2のデータを用いて、前記説明変数から前記目的変数を出力するモデルを更新する更新工程と、
を含むことを特徴とする学習方法。
【請求項4】
製品の生産工程における状況を表す説明変数と、前記生産工程における機器の操作を表す目的変数との組み合わせである第1のデータのそれぞれに、前記生産工程において排出される所定の物質の濃度が大きいほど小さくなる重みを付与する付与ステップと、
前記第1のデータの中から、前記説明変数と指定された説明変数との距離、及び前記重みに基づいて第2のデータを抽出する抽出ステップと、
前記第2のデータを用いて、前記説明変数から前記目的変数を出力するモデルを更新する更新ステップと、
をコンピュータに実行させることを特徴とする学習プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、学習装置、学習方法及び学習プログラムに関する。
【背景技術】
【0002】
従来、人間の行動を機械学習モデルに学習させ、当該モデルを用いて人間又はロボット等に動作を教示する模倣学習という技術が知られている。
【0003】
また、観測されたデータを大量に蓄積しておき、蓄積されたデータの中から要求点の近傍のデータを抽出し、当該抽出したデータを用いてモデルの逐次学習を行うJust-In-Time(JIT)法という技術が知られている(例えば、非特許文献1を参照)。
【0004】
ここで、例えば化学プラントにおいては、時間の経過に応じて、機器の経年劣化、触媒の劣化、生産ロード計画の変更等の環境の変化が生じる。
【0005】
これに対し、化学プラントにおけるオペレータによる機器の操作を学習する模倣学習にJIT法を適用して、モデルを環境の変化に適応させることが考えられる。
【先行技術文献】
【特許文献】
【0006】
【非特許文献】
【0007】
【文献】山本 茂、「Just-In-Time予測制御:蓄積データに基づく予測制御」、計測と制御 第 52 巻 第 10 号 2013 年 10 月号(https://www.jstage.jst.go.jp/article/sicejl/52/10/52_878/_pdf/-char/ja)
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、模倣学習にJIT法を適用した場合、逐次学習を繰り返すうちに、初期の段階でモデルに反映されたオペレータのスキルが失われていき、モデルの出力の妥当性が低下するという問題がある。
【0009】
例えば、初期の段階でオペレータの操作を学習したモデルの出力に従って機器を操作すれば、未熟なオペレータによる操作であったとしても、機器及び機器が稼働するプラントの運転品質が向上することが期待される。そのため、当該モデルの出力の妥当性は高いということができる。
【0010】
一方で、時間の経過に従って、オペレータを模倣し実施した履歴が訓練用のデータとして蓄積されていくとともにモデルの学習が逐次行われるため、初期段階で学習したデータの影響は薄くなり、モデルの出力の妥当性が低下することが考えられる。
【0011】
そして、そのような妥当性が低下した出力に従って機器の操作を行った場合、機器及びプラントの運転品質の低下、及びコストの増加といった問題が生じ得る。
【課題を解決するための手段】
【0012】
上述した課題を解決し、目的を達成するために、学習装置は、製品の生産工程における状況を表す説明変数と、前記生産工程における機器の操作を表す目的変数との組み合わせである第1のデータのそれぞれに、前記生産工程において排出される所定の物質の濃度が大きいほど小さくなる重みを付与する付与部と、前記第1のデータの中から、前記説明変数と指定された説明変数との距離、及び前記重みに基づいて第2のデータを抽出する抽出部と、前記第2のデータを用いて、前記説明変数から前記目的変数を出力するモデルを更新する更新部と、を有することを特徴とする。
【発明の効果】
【0013】
本発明によれば、模倣学習においてJIT法による逐次学習を繰り返した場合の、モデルの出力の妥当性の低下を抑止することができる。
【図面の簡単な説明】
【0014】
【
図1】
図1は、プラント運用システムについて説明する図である。
【
図2】
図2は、第1の実施形態に係るサーバの構成例を示す図である。
【
図4】
図4は、予測対象と訓練データの関係を説明する図である。
【
図5】
図5は、第1の実施形態に係る学習処理の流れを示すフローチャートである。
【
図7】
図7は、第2の実施形態に係る学習処理の流れを示すフローチャートである。
【
図8】
図8は、学習プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【0015】
以下に、本願に係る学習装置、学習方法及び学習プログラムの実施形態を図面に基づいて詳細に説明する。なお、本発明は、以下に説明する実施形態により限定されるものではない。
【0016】
[第1の実施形態]
[第1の実施形態の構成]
まず、
図1を用いて、プラント運用システムについて説明する。プラント運用システム1は、プラントにおける製品の生産工程の管理及び制御を行うためのシステムである。プラントには、化学製品を生産するための化学プラントが含まれる。
【0017】
図1に示すように、サーバ10、端末装置20、端末装置30及びプラントシステム40を有する。
【0018】
サーバ10は、模倣学習を行うためのモデルに関する処理を行う。サーバ10は学習装置として機能することができる。
【0019】
また、サーバ10、端末装置20、端末装置30及びプラントシステム40は、ネットワークNを介して互いにデータ通信ができるように接続されている。例えば、ネットワークNはインターネット及びイントラネットである。
【0020】
端末装置20及び端末装置30は、パーソナルコンピュータ、タブレット型端末及びスマートフォン等の情報処理装置である。また、端末装置30は、プラントの機器を操作するための専用の端末であってもよい。
【0021】
プラントシステム40は、生産工程で使用される機器及び分散制御システム(DCS:Distributed Control System)を含むものであってもよい。例えば、機器は、反応器、冷却器、気液分離器等である。
【0022】
オペレータは、端末装置30を介してプラントシステム40に含まれる機器を操作するユーザである。また、スタッフは、端末装置20を介して、サーバ10において使用されるモデルを管理するユーザである。
【0023】
図1に基づき、プラント運用システム1の各装置の処理を説明する。
【0024】
まず、端末装置20は、スタッフの操作に応じてモデルの管理を行う(ステップS1)。例えば、端末装置20は、サーバ10に対して、モデルの変更や学習処理及び推論処理の実行を指示することができる。また、端末装置20は、サーバ10から取得した情報を出力し、スタッフに提示することができる。
【0025】
端末装置30は、オペレータの操作に応じて、プラントシステム40の機器を操作する(ステップS2)。例えば、端末装置30は、操作により、機器内の温度、機器内の圧力、生産工程における生産量の目標値、機器に投入する原料の量等を設定する。
【0026】
プラントシステム40は、端末装置30からの操作に従い稼働する(ステップS3)。そして、プラントシステム40は、稼働の履歴をサーバ10に提供する(ステップS4)。
【0027】
例えば、履歴には、プラントシステム40の各所に設置されたセンサのセンサ値、端末装置30からの操作によって設定された設定値が含まれる。また、履歴は、各レコードに時刻(タイムスタンプ)が付された時系列データであってもよい。
【0028】
サーバ10は、モデルの学習、モデルを使った推論及びデータ抽出のための重みの付与を行う(ステップS5)。サーバ10の各処理の詳細については後述する。
【0029】
さらに、サーバ10は、推論結果をオペレータに提供する(ステップS6)。例えば、推論結果は、状況から予測される操作内容である。オペレータは、提供された操作内容に従いプラントシステム40を操作する。
【0030】
モデルは、オペレータの操作内容を模倣学習により学習する。そのため、モデルによる推論結果として得られる操作内容に従うことで、他のオペレータが操作を模倣することができる。
【0031】
図2を用いて、サーバ10について詳細に説明する。
図2は、第1の実施形態に係るサーバの構成例を示す図である。
【0032】
図2に示すように、サーバ10は、通信部11、記憶部12及び制御部13を有する。
【0033】
通信部11は、ネットワークを介して、他の装置との間でデータ通信を行う。例えば、通信部11はNIC(Network Interface Card)である。
【0034】
記憶部12は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、光ディスク等の記憶装置である。なお、記憶部12は、RAM(Random Access Memory)、フラッシュメモリ、NVSRAM(Non Volatile Static Random Access Memory)等のデータを書き換え可能な半導体メモリであってもよい。
【0035】
記憶部12は、サーバ10で実行されるOS(Operating System)や各種プログラムを記憶する。記憶部12は、モデル情報121及び履歴DB122を記憶する。
【0036】
モデル情報121は、モデルを構築するためのパラメータ等の情報である。例えば、モデルがニューラルネットワークである場合、モデル情報121は、各層の重み及びバイアスである。さらに、モデル情報121は、前処理の順番、移動平均処理における窓幅(ウィンドウサイズ)等のパラメータを含む。
【0037】
履歴DB122は、プラントシステム40から提供された履歴を含む情報である。
図3は、履歴DBの例を示す図である。
図3に示すように、履歴DB122は、時刻、第1温度、第2温度、第1圧力、第2圧力、流量、設定値、CO2濃度等の説明変数リスト、目的変数である設定値、及び重みを含む。
【0038】
第1温度、第2温度、第1圧力、第2圧力及び流量は、それぞれプラントシステム40の各所に設置されたセンサのセンサ値である。
【0039】
第1温度、第2温度、第1圧力、第2圧力及び流量は、モデルの説明変数であって、製品の生産工程における状況を表す説明変数の一例である。
【0040】
また、設定値は、端末装置30からの操作によって設定される値である。設定値は、実際に設定された値を正規化した値であってもよい。また、設定値は、モデルの目的変数に相当する。
【0041】
設定値は、モデルの目的変数であって、生産工程における機器の操作を表す目的変数の一例である。
【0042】
CO2濃度は、生産工程で発生するCO2の濃度であり、後述する重みを付与する処理において指標として用いられる。
【0043】
重みは、履歴DBの各レコードに付与される値である。重みを付与する処理及び重みを使ってデータを抽出する処理については後述する。
【0044】
なお、時刻は、第1温度、第2温度、第1圧力、第2圧力、流量及びCO2濃度が取得された日時を示すタイムスタンプである。
【0045】
例えば、
図3には、時刻「2021/11/5 13:30:01」における第1温度が「40℃」であり、第2温度が「241℃」であり、第1圧力が「501hPa」であり、第2圧力が「119hPa」であり、流量が「12m3/s」であり、設定値が「0.2」であり、CO2濃度が「700ppm」であることが示されている。
【0046】
さらに、
図3には、時刻「2021/11/5 13:30:01」のレコードには、重み「1.11」が付与されたことが示されている。
【0047】
制御部13は、サーバ10全体を制御する。制御部13は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)等の電子回路や、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の集積回路である。
【0048】
また、制御部13は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、内部メモリを用いて各処理を実行する。また、制御部13は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部13は、抽出部131、計算部132、更新部133、付与部134及び表示制御部135を有する。
【0049】
抽出部131は、履歴DB122に含まれるデータの中から、説明変数と指定された説明変数との距離、及び重みに基づいてデータを抽出する。履歴DB122に含まれるデータは、第1のデータの一例である。また、抽出部131によって抽出されるデータは、第2のデータの一例である。
【0050】
指定された説明変数を要求点と呼ぶ。例えば、要求点は、所定の時刻における説明変数(履歴DB122の各センサ値に相当)である。また、要求点における目的変数(設定値)は未知であってもよい。
【0051】
ここで、JIT法では、多次元ベクトルである訓練用のデータ(本実施形態の履歴DB122に相当)と多次元ベクトルである要求点とのユークリッド距離を基にデータが抽出される。なお、訓練用のデータと要求点との距離は、ユークリッド距離に限られず、例えばマハラノビス距離及びコサイン類似度等であってもよい。
【0052】
一方で、本実施形態のサーバ10(学習装置)は、訓練用のデータと要求点との距離だけでなく、重みを使ってデータの抽出を行う。
【0053】
まず、抽出部131は、要求点と履歴DB122の各レコードとの間のユークリッド距離を計算する。なお、要求点及び履歴DB122の各レコードはベクトルで表されるため、抽出部131は、非特許文献2に記載の方法によりユークリッドノルムを計算してもよい。
【0054】
従来のJIT法では、計算されたユークリッド距離が小さいk(kは整数)個のレコードであるk最近傍(k-NN:k Nearest Neighbors)が抽出される。
【0055】
一方、抽出部131は、計算したユークリッド距離だけでなく、履歴DB122の重みを参照してレコードを抽出する。
【0056】
ここでは、重みが大きいほど抽出対象として望ましいデータであるものとする。このとき、抽出部131は、履歴DB122の中から、距離が大きいほど大きくなり、かつ重みが大きいほど小さくなる値が小さいデータを優先して抽出する。
【0057】
例えば、抽出部131は、ユークリッド距離に重みの逆数を掛けた値が小さい順にk(例えば1,000)個のレコードを履歴DB122から抽出する。
【0058】
また、例えば、抽出部131は、重みが閾値以上である履歴DB122のレコードを、ユークリッド距離が小さい順にk個だけ抽出してもよい。
【0059】
また、例えば、抽出部131は、ユークリッド距離が閾値以下である履歴DB122のレコードを、重みが大きい順にk個だけ抽出してもよい。
【0060】
計算部132は、モデル情報121から構築したモデルに、説明変数を入力することにより目的変数を計算する。すなわち、計算部132は推論処理を行う。
【0061】
更新部133は、抽出部131によって抽出されたデータを用いて、説明変数から目的変数を出力するモデルを更新する。
【0062】
例えば、更新部133は、計算部132によって計算された目的変数と、抽出部131によって抽出されたデータに含まれる目的変数との差分を表す目的関数を計算し、当該目的関数が小さくなるように、学習の終了条件を満たすまでモデルのパラメータ、すなわちモデル情報121を繰り返し更新する。
【0063】
図4は、予測対象と訓練データの関係を説明する図である。時刻t-1までのデータである訓練データは、履歴DB122の設定値が登録済みのレコードである。一方、時刻tの予測対象のデータは、要求点に相当する。例えば時刻0から時刻t-1までの期間が訓練データを検索する対象期間である。そのため、時間の経過(tの増加)に従い、訓練データを検索する対象期間が増加していく。
【0064】
付与部134は、説明変数と目的変数との組み合わせである履歴DB122に含まれるデータのそれぞれに重みを付与する。
【0065】
例えば、付与部134は、履歴DB122に含まれるデータのそれぞれに、指標を目標値に近付けることへの寄与度が大きいほど大きくなる重みを付与する。なお、本実施形態では、重みが大きいほど抽出対象として望ましいデータであるものとする。
【0066】
このような重みに基づいて抽出したデータに基づいて学習が行われたモデルの出力に従って機器の操作を行うことで、より指標が改善されやすくなると考えられる。
【0067】
例えば、付与部134は、製品の生産工程における状況を表す説明変数と、生産工程における機器の操作を表す目的変数との組み合わせである履歴DB122に含まれるデータのそれぞれに、生産工程において排出される所定の物質の濃度が大きいほど小さくなる重みを付与する。
【0068】
また、付与部134は、第1の時刻に観測された事象に基づく指標の目標値との近さから得られる重みを、履歴DB122に含まれるデータのうち、第1の時刻よりあらかじめ定められた時間だけ過去の第2の時刻に対応付けられたデータに付与する。
【0069】
さらに、付与部134は、指標が正の値であって、小さい方が望ましいとされる値である場合(例えば、目標値が0)、指標の逆数を重みとして付与する。
【0070】
生産工程において排出される所定の物質は、例えばCO2である。ここでは、温室効果ガス削減の観点から、排出されるCO2の濃度は小さい方が望ましいこととする。
【0071】
また、本実施形態のプラントシステム40においては、設定値を設定する操作(設定値)の影響がCO2の濃度に反映されるまでに要する時間が、約20分であることが知られているものとする。
【0072】
例えば、付与部134は、第1の時刻のレコードにおけるCO2の濃度の逆数を正規化した値である重みを、履歴DB122の第1の時刻より20分前の時刻のレコードに付与する。CO2の濃度は常に0以上であるため、CO2の濃度が目標値である0に近いほどCO2の濃度の逆数は大きくなる。
【0073】
図3の例では、付与部134は、時刻「2021/11/5 14:00:02」のCO2濃度の逆数1/900を正規化した値を、時刻「2021/11/5 13:40:02」の重みに付与(加算)する。
【0074】
さらに、ここでは、30分前から設定値のCO2濃度への影響が生じ始めると考え、付与部134は、時刻「2021/11/5 14:00:02」のCO2濃度から得られた重みを、時刻「2021/11/5 13:30:02」から「2021/11/5 13:40:02」までの重みに付与(加算)する。
【0075】
なお、指標は、CO2濃度に限られず、生産量、歩留まり、稼働時間、消費エネルギー等であってもよい。
【0076】
また、状態が安定することが望ましいとされる場合、重みは、指標の分散が小さくなるほど大きくなる値であってもよい。
【0077】
[第1の実施形態の処理]
図5を用いて第1の実施形態の学習処理の流れを説明する。
図5は、第1の実施形態に係る学習処理の流れを示すフローチャートである。
【0078】
図5に示すように、まず、サーバ10は、評価用変数を基に履歴のレコードに重みを付与する(ステップS101)。評価用変数は、CO2濃度のような指標である。評価用変数は、説明変数又は目的変数に含まれているものであってもよい。
【0079】
次に、サーバ10は、所定のレコードからの距離及び重みを基に、履歴からレコードを抽出する(ステップS102)。例えば、サーバ10は、要求点であるレコードからのユークリッド距離に重みの逆数を掛けた値が小さい順に所定の数のレコードを抽出する。
【0080】
ここで、サーバ10は、抽出したレコードを基にモデルを更新する(ステップS103)。例えば、サーバ10は、抽出したレコードの各センサ値をモデルに入力して得られる設定値の誤差が最小化されるようにモデルを更新する。
【0081】
サーバ10は、Ridge及びLasso等の線形手法、又は深層学習等の非線形手法によりモデルを更新することができる。
【0082】
[第1の実施形態の効果]
これまで説明してきたように、付与部134は、説明変数と目的変数との組み合わせである第1のデータのそれぞれに重みを付与する。抽出部131は、第1のデータの中から、説明変数と指定された説明変数との距離、及び重みに基づいて第2のデータを抽出する。更新部133は、第2のデータを用いて、説明変数から目的変数を出力するモデルを更新する。
【0083】
このように、サーバ10は、単に要求点との距離だけでなく、付与された重みを考慮して学習のためのデータを抽出することができる。その結果、本実施形態によれば、模倣学習においてJIT法による逐次学習を繰り返した場合の、モデルの出力の妥当性の低下を抑止することができる。
【0084】
付与部134は、第1のデータのそれぞれに、指標を目標値に近付けることへの寄与度が大きいほど大きくなる重みを付与する。抽出部131は、第1のデータの中から、距離が大きいほど大きくなり、かつ重みが大きいほど小さくなる値が小さいデータを優先して抽出する。
【0085】
これにより、要求点との距離と重みの両方を考慮したデータを容易に抽出することができる。
【0086】
付与部134は、第1の時刻に観測された事象に基づく指標の目標値との近さから得られる重みを、第1のデータのうち、第1の時刻よりあらかじめ定められた時間だけ過去の第2の時刻に対応付けられたデータに付与する。
【0087】
これにより、データが指標に反映されるまでに遅れ(タイムラグ)がある場合であっても、指標を改善するようなデータを精度良く抽出することができる。
【0088】
付与部134は、指標が正の値であって、小さい方が望ましいとされる値である場合、指標の逆数を重みとして付与する。これにより、指標の大小関係を逆転させ、容易に重みとして利用することができる。
【0089】
付与部134は、製品の生産工程における状況を表す説明変数と、生産工程における機器の操作を表す目的変数との組み合わせである第1のデータのそれぞれに、生産工程において排出される所定の物質の濃度が大きいほど小さくなる重みを付与する。
【0090】
これにより、濃度が小さい方が望ましい物質の排出を抑えることが可能の操作をモデルに学習させることができる。
【0091】
表示制御部135は、モデルの学習処理の実行を指示するための画面、又は履歴DBの内容を閲覧するための画面等を、端末装置20に表示させる。
【0092】
[第2の実施形態]
第2の実施形態では、サーバ10が、データの特性に応じて複数のモデルを使い分ける場合の例を説明する。また、第2の実施形態は、第1の実施形態と同様の構成のサーバ10により実施される。
【0093】
第2の実施形態において、抽出部131は、説明変数と目的変数とを組み合わせたである履歴DB122を分類した複数のクラスタのうちいずれかに属するデータの中から、要求点と説明変数との距離に基づいてデータを抽出する。
【0094】
抽出部131は、JIT法により各クラスタ内の過去のレコードを抽出する。なお、抽出部131は、データを抽出する際に、第1の実施形態において付与される重みを考慮してもよいし、考慮しなくてもよい。
【0095】
また、更新部133は、抽出部131によって抽出されたデータを用いて、複数のクラスタのそれぞれに対応するモデルのうち、抽出部131によってデータが抽出されたクラスタに対応するモデルを更新する。
【0096】
抽出部131は、履歴DB122の各レコードを
図6の方法により複数のクラスタに分類するものとする。
図6は、分類方法を説明する図である。
【0097】
抽出部131は、統計的なクラスタリング手法により分類を行ってもよいし、ルールベースでの分類を行っても良い。
【0098】
図6に示すように、抽出部131は、履歴DB122のレコードのうち、時刻が所定の期間に含まれるレコード群について、2つの変数間の各ラグ数における相互相関を計算する。
【0099】
例えば、抽出部131は、第1温度と第2温度の相互相関を計算する。また、ラグ数が0の場合の相互相関は、同じ時刻すなわち同一のレコードの第1温度と第2温度の相互相関である。
【0100】
また、例えば、ラグ数が10の場合の相互相関は、ある時刻の第1温度と当該時刻の10秒後の第2温度との相互相関である。
【0101】
また、ラグ数が-10の場合の相互相関は、ある時刻の第1温度と当該時刻の10秒前の第2温度との相互相関である。
【0102】
そして、抽出部131は、相互相関がピークを取るラグ数に応じて、レコード群をクラスタA、クラスタB、クラスタCのいずれかに分類する。
【0103】
例えば、抽出部131は、相互相関がピークを取るラグ数が-10以上0未満である場合、レコード群をクラスタAに分類する。
【0104】
例えば、抽出部131は、相互相関がピークを取るラグ数が-20以上-10未満である場合、レコード群をクラスタBに分類する。
【0105】
例えば、抽出部131は、相互相関がピークを取るラグ数が-30以上-20未満である場合、レコード群をクラスタCに分類する。
【0106】
ここで、各クラスタに対応するモデルは、それぞれ学習の方法が異なる。例えば、モデルごとに、使用される説明変数及びハイパーパラメータが異なる。ハイパーパラメータは、例えば、丸め幅、時間幅(ウィンドウサイズ)、予測先、ステップ数、DNNの層数、ノード数、活性化関数等である。
【0107】
ウィンドウサイズは、時系列データの学習を行う際の、スライディングウィンドウのサイズである。
【0108】
クラスタAに対応するモデルの学習におけるウィンドウサイズは10分である。また、クラスタBに対応するモデルの学習におけるウィンドウサイズは20分である。また、クラスタCに対応するモデルの学習におけるウィンドウサイズは30分である。
【0109】
[第2の実施形態の処理]
図7を用いて第2の実施形態の学習処理の流れを説明する。
図7は、第2の実施形態に係る学習処理の流れを示すフローチャートである。
【0110】
図7に示すように、まず、サーバ10は、あらかじめ指定された2つの変数間の、各ラグ数における相互相関を計算する(ステップS201)。
【0111】
次に、サーバ10は、相互相関を基にレコードをクラスタリングする(ステップS202)。例えば、サーバ10は、相互相関がピークを取るラグ数を基にクラスタリングを行う。
【0112】
サーバ10は、クラスタごとに定められた方法によりモデルの学習を実行する(ステップS203)。モデルの学習は、計算部132及び更新部133によって行われる。
【0113】
[第2の実施形態の効果]
これまで説明してきたように、抽出部131は、説明変数と目的変数とを組み合わせたである履歴DB122を分類した複数のクラスタのうちいずれかに属するデータの中から、要求点と説明変数との距離に基づいてデータを抽出する。また、更新部133は、抽出部131によって抽出されたデータを用いて、複数のクラスタのそれぞれに対応するモデルのうち、抽出部131によってデータが抽出されたクラスタに対応するモデルを更新する。
【0114】
このように、学習方法の異なる複数のモデルをあらかじめ用意しておき、JIT法と組み合わせることで、モデルの変更を要する大幅な環境(運用条件等)の変化にも対応することができる。
【0115】
[システム構成等]
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散及び統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散又は統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、CPU(Central Processing Unit)及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。なお、プログラムは、CPUだけでなく、GPU等の他のプロセッサによって実行されてもよい。
【0116】
また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【0117】
[プログラム]
一実施形態として、サーバ10は、パッケージソフトウェアやオンラインソフトウェアとして上記の学習処理を実行する学習プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の学習プログラムを情報処理装置に実行させることにより、情報処理装置をサーバ10として機能させることができる。ここで言う情報処理装置には、デスクトップ型又はノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置には、タブレット型端末、スマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistant)等のスレート端末等がその範疇に含まれる。
【0118】
また、サーバ10は、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記の学習処理に関するサービスを提供するサーバとして実装することもできる。例えば、サーバは、要求点の指定を入力とし、学習済みのモデルを出力とする学習サービスを提供するサーバ装置として実装される。この場合、サーバは、Webサーバとして実装することとしてもよいし、アウトソーシングによって上記の学習処理に関するサービスを提供するクラウドとして実装することとしてもかまわない。
【0119】
図8は、学習プログラムを実行するコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
【0120】
メモリ1010は、ROM(Read Only Memory)1011及びRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
【0121】
ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、サーバ10の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、サーバ10における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
【0122】
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020は、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して、上述した実施形態の処理を実行する。
【0123】
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
【符号の説明】
【0124】
1 プラント運用システム
10 サーバ
20、30 端末装置
40 プラントシステム
11 通信部
12 記憶部
13 制御部
121 モデル情報
122 履歴DB
131 抽出部
132 計算部
133 更新部
134 付与部
135 表示制御部