(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-25
(45)【発行日】2024-12-03
(54)【発明の名称】学習装置、学習方法、および、学習プログラム、並びに、制御装置
(51)【国際特許分類】
G05B 13/02 20060101AFI20241126BHJP
【FI】
G05B13/02 L
(21)【出願番号】P 2021129016
(22)【出願日】2021-08-05
【審査請求日】2022-10-20
【前置審査】
(73)【特許権者】
【識別番号】000006507
【氏名又は名称】横河電機株式会社
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】劉 琢
(72)【発明者】
【氏名】鹿子木 宏明
【審査官】稲垣 浩司
(56)【参考文献】
【文献】特開2020-98538(JP,A)
【文献】特開2008-305194(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 13/02
(57)【特許請求の範囲】
【請求項1】
設備の状態に応じた行動を出力する機械学習モデルによる前記設備に設けられた制御対象の制御に先立ち、前記設備の状態を示す状態データ、および、前記制御対象に対する行動を示す行動データを含む初期設定データを取得するデータ取得部と、
前記初期設定データから前記機械学習モデルの初期設定に用いられるサンプルデータを抽出する抽出部と、
前記機械学習モデルの強化学習の開始に先立ち、前記サンプルデータに基づいて事前学習することによって、前記機械学習モデルを初期設定する事前学習部と
を備え
、
前記初期設定データは、前記制御対象のフィードバック制御、前記制御対象の手動制御、前記制御対象のステップ応答、または前記制御対象のシミュレーションのうちの少なくとも1つにより得られたものである、
学習装置。
【請求項2】
前記抽出部は、前記初期設定データを選定する選定部を有し、
前記抽出部は、前記選定された初期設定データから前記サンプルデータを抽出する、請求項1に記載の学習装置。
【請求項3】
前記抽出部は、前記機械学習モデルが前記行動を選択するための選択肢を定義する定義部を有し、
前記抽出部は、前記初期設定データに含まれる前記状態データと前記選択肢に含まれる行動との組み合わせを前記サンプルデータとして抽出する、請求項1または2に記載の学習装置。
【請求項4】
前記機械学習モデルは、前記初期設定データに含まれる前記状態データと前記選択肢に含まれる各行動との組み合わせに対するそれぞれの重みに基づいて、前記設備の状態に応じた前記行動を出力する、請求項3に記載の学習装置。
【請求項5】
前記定義部は、前記初期設定データに含まれる前記行動データが示す行動の分布に基づいて、前記選択肢を定義する、請求項3または4に記載の学習装置。
【請求項6】
前記定義部は、前記設備の状態に関わらない共通の前記選択肢を定義する、請求項3から5のいずれか一項に記載の学習装置。
【請求項7】
前記定義部は、前記設備の状態に応じた複数の前記選択肢を定義する、請求項3から5のいずれか一項に記載の学習装置。
【請求項8】
前記データ取得部は、前記機械学習モデルにより前記制御対象が制御されたことに応じて、前記状態データを取得し、
前記状態データ、および、前記状態データを前記機械学習モデルに入力したことに応じて前記機械学習モデルから取得される前記行動データを学習データとして強化学習することによって、前記機械学習モデルを更新する強化学習部を更に備える、
請求項1から7のいずれか一項に記載の学習装置。
【請求項9】
前記事前学習部は、前記制御対象を制御するための行動を決定するポリシーとなるテーブルに、前記サンプルデータに基づく前記状態データおよび前記行動データの組み合わせを初期設定し、
前記強化学習部は、一連の行動によって得られる報酬をより高めるように前記機械学習モデルの前記テーブルを更新する、
請求項8に記載の学習装置。
【請求項10】
設備の状態に応じた行動を出力する機械学習モデルによる前記設備に設けられた制御対象の制御に先立ち、前記設備の状態を示す状態データ、および、前記制御対象に対する行動を示す行動データを含む初期設定データを取得するデータ取得部と、
前記機械学習モデルの強化学習の開始に先立ち、前記初期設定データに基づいて事前学習することによって、前記機械学習モデルを初期設定する事前学習部と
を備え、
前記初期設定データは、前記制御対象のフィードバック制御、前記制御対象の手動制御、前記制御対象のステップ応答、または前記制御対象のシミュレーションのうちの少なくとも1つにより得られたものであり、
前記データ取得部は、前記機械学習モデルにより前記制御対象が制御されたことに応じて、前記状態データを取得し、
前記状態データ、および、前記状態データを前記機械学習モデルに入力したことに応じて前記機械学習モデルから取得される前記行動データを学習データとして強化学習することによって、前記機械学習モデルを更新する強化学習部を更に備え、
前記事前学習部は、前記制御対象を制御するための行動を決定するポリシーとなるテーブルに、前記初期設定データに基づく前記状態データおよび前記行動データの組み合わせを初期設定し、
前記強化学習部は、一連の行動によって得られる報酬をより高めるように前記機械学習モデルの前記テーブルを更新する、
学習装置。
【請求項11】
請求項1から10のいずれか一項に記載の学習装置と、
前記機械学習モデルにより前記制御対象を制御する制御部と
を備える、制御装置。
【請求項12】
設備の状態に応じた行動を出力する機械学習モデルによる前記設備に設けられた制御対象の制御に先立ち、前記設備の状態を示す状態データ、および、前記制御対象に対する行動を示す行動データを含む初期設定データを取得することと、
前記初期設定データから前記機械学習モデルの初期設定に用いられるサンプルデータを抽出することと、
前記機械学習モデルの強化学習の開始に先立ち、前記サンプルデータに基づいて事前学習することによって、前記機械学習モデルを初期設定することと
を備え
、
前記初期設定データは、前記制御対象のフィードバック制御、前記制御対象の手動制御、前記制御対象のステップ応答、または前記制御対象のシミュレーションのうちの少なくとも1つにより得られたものである、
学習方法。
【請求項13】
設備の状態に応じた行動を出力する機械学習モデルによる前記設備に設けられた制御対象の制御に先立ち、前記設備の状態を示す状態データ、および、前記制御対象に対する行動を示す行動データを含む初期設定データを取得することと、
前記機械学習モデルの強化学習の開始に先立ち、前記初期設定データに基づいて事前学習することによって、前記機械学習モデルを初期設定することと、
前記機械学習モデルにより前記制御対象が制御されたことに応じて、前記状態データを取得することと、
前記状態データ、および、前記状態データを前記機械学習モデルに入力したことに応じて前記機械学習モデルから取得される前記行動データを学習データとして強化学習することによって、前記機械学習モデルを更新することとを備え、
前記初期設定データは、前記制御対象のフィードバック制御、前記制御対象の手動制御、前記制御対象のステップ応答、または前記制御対象のシミュレーションのうちの少なくとも1つにより得られたものであり、
前記事前学習において、前記制御対象を制御するための行動を決定するポリシーとなるテーブルに、前記初期設定データに基づく前記状態データおよび前記行動データの組み合わせを初期設定し、
前記機械学習モデルの更新において、一連の行動によって得られる報酬をより高めるように前記機械学習モデルの前記テーブルを更新する
を備える、学習方法。
【請求項14】
コンピュータにより実行されて、前記コンピュータを、
設備の状態に応じた行動を出力する機械学習モデルによる前記設備に設けられた制御対象の制御に先立ち、前記設備の状態を示す状態データ、および、前記制御対象に対する行動を示す行動データを含む初期設定データを取得するデータ取得部と、
前記初期設定データから前記機械学習モデルの初期設定に用いられるサンプルデータを抽出する抽出部と、
前記機械学習モデルの強化学習の開始に先立ち、前記サンプルデータに基づいて事前学習することによって、前記機械学習モデルを初期設定する事前学習部と
して機能させ
、
前記初期設定データは、前記制御対象のフィードバック制御、前記制御対象の手動制御、前記制御対象のステップ応答、または前記制御対象のシミュレーションのうちの少なくとも1つにより得られたものである、
学習プログラム。
【請求項15】
コンピュータにより実行されて、前記コンピュータを、
設備の状態に応じた行動を出力する機械学習モデルによる前記設備に設けられた制御対象の制御に先立ち、前記設備の状態を示す状態データ、および、前記制御対象に対する行動を示す行動データを含む初期設定データを取得するデータ取得部と、
前記機械学習モデルの強化学習の開始に先立ち、前記初期設定データに基づいて事前学習することによって、前記機械学習モデルを初期設定する事前学習部と
して機能させ、
前記初期設定データは、前記制御対象のフィードバック制御、前記制御対象の手動制御、前記制御対象のステップ応答、または前記制御対象のシミュレーションのうちの少なくとも1つにより得られたものであり、
前記データ取得部は、前記機械学習モデルにより前記制御対象が制御されたことに応じて、前記状態データを取得し、
前記コンピュータを、前記状態データ、および、前記状態データを前記機械学習モデルに入力したことに応じて前記機械学習モデルから取得される前記行動データを学習データとして強化学習することによって、前記機械学習モデルを更新する強化学習部として更に機能させ、
前記事前学習部は、前記制御対象を制御するための行動を決定するポリシーとなるテーブルに、前記初期設定データに基づく前記状態データおよび前記行動データの組み合わせを初期設定し、
前記強化学習部は、一連の行動によって得られる報酬をより高めるように前記機械学習モデルの前記テーブルを更新する、
学習プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、学習装置、学習方法、および、学習プログラム、並びに、制御装置に関する。
【背景技術】
【0002】
特許文献1には、「学習対象が存在する環境の現在状態を観測するとともに現在状態で所定の行動を実行し、その行動に対し何らかの報酬を与えるというサイクルを試行錯誤的に反復して、報酬の総計が最大化されるような方策を最適解として学習する」と記載されている。
[先行技術文献]
[特許文献]
[特許文献1] 特開2018-202564
【発明の概要】
【0003】
本発明の第1の態様においては、学習装置を提供する。上記学習装置は、設備の状態に応じた行動を出力する機械学習モデルによる上記設備に設けられた制御対象の制御に先立ち、上記設備の状態を示す状態データ、および、上記制御対象に対する行動を示す行動データを含む初期設定データを取得するデータ取得部を備えてよい。上記学習装置は、上記機械学習モデルの強化学習の開始に先立ち、上記初期設定データに基づいて事前学習することによって、上記機械学習モデルを初期設定する事前学習部を備えてよい。
【0004】
上記学習装置は、上記初期設定データから上記機械学習モデルの初期設定に用いられるサンプルデータを抽出する抽出部を更に備えてよい。
【0005】
上記抽出部は、上記初期設定データを選定する選定部を有してよい。上記抽出部は、上記選別された初期設定データから上記サンプルデータを抽出してよい。
【0006】
上記抽出部は、上記機械学習モデルが上記行動を選択するための選択肢を定義する定義部を有してよい。上記抽出部は、上記初期設定データに含まれる上記状態データと上記選択肢に含まれる行動との組み合わせを上記サンプルデータとして抽出してよい。
【0007】
上記機械学習モデルは、上記初期設定データに含まれる上記状態データと上記選択肢に含まれる各行動との組み合わせに対するそれぞれの重みに基づいて、上記設備の状態に応じた上記行動を出力してよい。
【0008】
上記定義部は、上記初期設定データに含まれる上記行動データが示す行動の分布に基づいて、上記選択肢を定義してよい。
【0009】
上記定義部は、上記設備の状態に関わらない共通の上記選択肢を定義してよい。
【0010】
上記定義部は、上記設備の状態に応じた複数の上記選択肢を定義してよい。
【0011】
上記データ取得部は、上記機械学習モデルにより上記制御対象が制御されたことに応じて、上記状態データを取得してよい。上記学習装置は、上記状態データ、および、上記状態データを上記機械学習モデルに入力したことに応じて上記機械学習モデルから取得される上記行動データを学習データとして強化学習することによって、上記機械学習モデルを更新する強化学習部を更に備えてよい。
【0012】
上記事前学習部は、上記初期設定データに基づいて、上記状態データが入力されたことに応じて、上記状態データに対応する上記行動データにより近い行動を選択するように上記機械学習モデルを初期設定してよい。上記強化学習部は、一連の行動によって得られる報酬をより高めるように上記機械学習モデルを更新してよい。
【0013】
本発明の第2の態様においては、制御装置を提供する。上記制御装置は、上記学習装置を備えてよい。上記制御装置は、上記機械学習モデルにより上記制御対象を制御する制御部を備えてよい。
【0014】
本発明の第3の態様においては、学習方法を提供する。上記学習方法は、設備の状態に応じた行動を出力する機械学習モデルによる上記設備に設けられた制御対象の制御に先立ち、上記設備の状態を示す状態データ、および、上記制御対象に対する行動を示す行動データを含む初期設定データを取得することを備えてよい。上記学習方法は、上記機械学習モデルの強化学習の開始に先立ち、上記初期設定データに基づいて事前学習することによって、上記機械学習モデルを初期設定することを備えてよい。
【0015】
本発明の第4の態様においては、学習プログラムを提供する。上記学習プログラムは、コンピュータにより実行されてよい。上記学習プログラムは、上記コンピュータを、設備の状態に応じた行動を出力する機械学習モデルによる上記設備に設けられた制御対象の制御に先立ち、上記設備の状態を示す状態データ、および、上記制御対象に対する行動を示す行動データを含む初期設定データを取得するデータ取得部として機能させてよい。上記学習プログラムは、上記コンピュータを、上記機械学習モデルの強化学習の開始に先立ち、上記初期設定データに基づいて事前学習することによって、上記機械学習モデルを初期設定する事前学習部として機能させてよい。
【0016】
なお、上記の発明の概要は、本発明の特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【0017】
【
図1】本実施形態に係る学習装置100のブロック図の一例を、制御対象20が設けられた設備10と共に示す。
【
図2】本実施形態に係る学習装置100が状態データとして取得してよい測定値PVおよび操作量MVの一例を示す。
【
図3】本実施形態に係る学習装置100が行動データとして取得してよい操作変更量ΔMVの分布の一例を示す。
【
図4】本実施形態に係る学習装置100が事前学習するフローの一例を示す。
【
図5】本実施形態に係る学習装置100が事前学習により初期設定した初期設定済みの機械学習モデルのテーブルの一例を示す。
【
図6】本実施形態の変形例に係る学習装置100のブロック図の一例を、制御対象20が設けられた設備10と共に示す。
【
図7】本実施形態の変形例に係る学習装置100が機械学習モデルにより状態に応じた行動を出力する場合における演算結果の一例を示す。
【
図8】本実施形態の変形例に係る学習装置100が強化学習により更新した機械学習モデルのテーブルの一例を示す。
【
図9】本実施形態に係る制御装置900のブロック図の一例を、制御対象20が設けられた設備10と共に示す。
【
図10】本発明の複数の態様が全体的または部分的に具現化されてよいコンピュータ9900の例を示す。
【発明を実施するための形態】
【0018】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0019】
図1は、本実施形態に係る学習装置100のブロック図の一例を、制御対象20が設けられた設備10と共に示す。本実施形態に係る学習装置100は、制御対象20の制御に用いられる機械学習モデルの強化学習が開始されるに先立ち、事前学習することによって当該機械学習モデルを初期設定する。
【0020】
設備10は、制御対象20が備え付けられた施設や装置等である。例えば、設備10は、プラントであってもよいし、複数の機器を複合させた複合装置であってもよい。プラントとしては、化学やバイオ等の工業プラントの他、ガス田や油田等の井戸元やその周辺を管理制御するプラント、水力・火力・原子力等の発電を管理制御するプラント、太陽光や風力等の環境発電を管理制御するプラント、上下水やダム等を管理制御するプラント等が挙げられる。一例として、設備10は、プロセス装置の1つである三段水槽や熱処理炉等であってよい。
【0021】
設備10には、制御対象20が設けられている。本図においては、設備10に1つの制御対象20のみが設けられている場合を一例として示しているが、これに限定されるものではない。設備10には、複数の制御対象20が設けられていてよい。
【0022】
また、設備10には、設備10の内外における様々な状態(物理量)を測定する1または複数のセンサ(図示せず)が設けられていてよい。センサは、測定した状態を示す状態データを出力する。このような状態データには、例えば、運転データ、消費量データ、および、外部環境データ等が含まれていてよい。
【0023】
ここで、運転データは、制御対象20を制御した結果の運転状態を示す。例えば、運転データには、プロセス値と呼ばれる測定値PV(Process Variable)が含まれていてよい。一例として、設備10が三段水槽である場合、運転データには水槽の水位を示すデータが含まれていてよい。また、設備10が熱処理炉である場合、運転データには炉内の温度(炉温)を示すデータが含まれていてよい。
【0024】
また、運転データには、制御対象20に与えられた操作量MV(Manipulated Variable)を示すデータが含まれていてよい。一例として、設備10が三段水槽である場合、運転データには制御対象20であるバルブの開度を示すデータが含まれていてよい。また、設備10が熱処理炉である場合、運転データには制御対象20であるヒータの電熱線への電流を示すデータが含まれていてよい。
【0025】
消費量データは、設備10におけるエネルギーおよび原材料の少なくともいずれかの消費量を示す。例えば、消費量データには、電力や燃料の消費量等が含まれていてよい。
【0026】
外部環境データは、制御対象20の制御に対して外乱として作用し得る物理量を示す。例えば、外部環境データには、設備10の外気の温度、湿度、日照、風向き、風量、降水量、および、設備10に設けられた他の機器の制御に伴い変化する様々な物理量等が含まれていてよい。
【0027】
制御対象20は、制御の対象となる機器および装置等である。例えば、制御対象20は、設備10のプロセスにおける物体の量、温度、圧力、流量、速度、および、pH等の少なくとも1つの物理量を制御する、バルブ、ヒータ、モータ、ファン、および、スイッチ等のアクチュエータであってよく、操作量MVに応じた所要の操作を実行する。一例として、設備10が三段水槽である場合、制御対象20は水槽の水位を制御するバルブであってよい。また、設備10が熱処理炉である場合、制御対象20は炉温を制御するヒータであってよい。
【0028】
このような制御対象20は、例えば、フィードバック(FB:FeedBack)制御器により与えられる操作量MV(FB)に基づいたFB制御と、機械学習モデル(AI:Artificial Intelligenceモデルともいう)により与えられる操作量MV(AI)に基づいたAI制御との間で切り替え可能であってもよい。また、このようなFB制御は、例えば、比例制御(P制御)、積分制御(I制御)、および、微分制御(D制御)の少なくともいずれかを用いた制御であってよく、一例として、PID制御であってもよい。
【0029】
本実施形態に係る学習装置100は、このような制御対象20のAI制御に用いられる機械学習モデルの強化学習が開始されるに先立ち、事前学習することによって当該機械学習モデルを初期設定する。すなわち、本実施形態に係る学習装置100は、機械学習モデルの強化学習を、まっさらな状態から開始させるのではなく、事前学習により事前知識が導入された状態から開始させるべく、機械学習モデルを初期設定する。
【0030】
学習装置100は、PC(パーソナルコンピュータ)、タブレット型コンピュータ、スマートフォン、ワークステーション、サーバコンピュータ、または汎用コンピュータ等のコンピュータであってよく、複数のコンピュータが接続されたコンピュータシステムであってもよい。このようなコンピュータシステムもまた広義のコンピュータである。また、学習装置100は、コンピュータ内で1または複数実行可能な仮想コンピュータ環境によって実装されてもよい。これに代えて、学習装置100は、機械学習モデルの事前学習用に設計された専用コンピュータであってもよく、専用回路によって実現された専用ハードウェアであってもよい。また、学習装置100がインターネットに接続可能な場合、学習装置100は、クラウドコンピューティングにより実現されてもよい。
【0031】
学習装置100は、データ取得部110と、抽出部120と、事前学習部130と、モデル記憶部140とを備える。なお、これらブロックは、それぞれ機能的に分離された機能ブロックであって、実際のデバイス構成とは必ずしも一致していなくてもよい。すなわち、本図において、1つのブロックとして示されているからといって、それが必ずしも1つのデバイスにより構成されていなくてもよい。また、本図において、別々のブロックとして示されているからといって、それらが必ずしも別々のデバイスにより構成されていなくてもよい。
【0032】
データ取得部110は、設備10の状態に応じた行動を出力する機械学習モデルによる設備10に設けられた制御対象20の制御に先立ち、設備10の状態を示す状態データ、および、制御対象20に対する行動を示す行動データを含む初期設定データを取得する。データ取得部110は、取得した初期設定データを、抽出部120へ供給する。
【0033】
抽出部120は、初期設定データから機械学習モデルの初期設定に用いられるサンプルデータを抽出する。より詳細には、抽出部120は、選定部122と定義部124とを有する。
【0034】
選定部122は、データ取得部110が取得した初期設定データを選定する。これにより、抽出部120は、選定された初期設定データからサンプルデータを抽出する。選定部122は、選定した初期設定データを定義部124へ供給する。
【0035】
定義部124は、選定部122が選定した初期設定データに基づいて、機械学習モデルが行動を選択するための選択肢を定義する。これにより、抽出部120は、初期設定データに含まれる状態データと選択肢に含まれる行動との組み合わせをサンプルデータとして抽出する。抽出部120は、抽出したサンプルデータを事前学習部130へ供給する。
【0036】
事前学習部130は、機械学習モデルの強化学習の開始に先立ち、初期設定データに基づいて事前学習することによって、機械学習モデルを初期設定する。より詳細には、事前学習部130は、データ取得部110が取得した初期設定データから抽出部120が抽出したサンプルデータを用いて事前学習することによって、機械学習モデルを初期設定する。
【0037】
モデル記憶部140は、機械学習モデルを記憶する。事前学習部130が初期設定データに基づいて事前学習した場合には、モデル記憶部140は、事前学習部130により初期設定された初期設定済みの機械学習モデルを記憶する。このように、学習装置100は、制御対象20のAI制御に用いられる機械学習モデルの強化学習が開始されるに先立ち、事前学習することによって当該機械学習モデルを初期設定する。これについて、設備10が三段水槽である場合を一例に挙げ、詳細に説明する。
【0038】
図2は、本実施形態に係る学習装置100が状態データとして取得してよい測定値PVおよび操作量MVの一例を示す。本図において横軸は時間Tを示している。また、本図上において縦軸は測定値PVを示している。ここでは、測定値PVは水槽の水位を示している。また、本図下において縦軸は操作量MVを示している。ここでは、操作量MVはバルブ開度を示している。
【0039】
本図においては、時間TAにおいて、測定値PV=30、操作量MV=10の状態であったことを示している。そして時間TAに続く時間TBにおいて、操作量MV=5.1の状態に変化したことを示している。本実施形態に係る学習装置100は、状態データとして、少なくともこのような測定値PVおよび操作量MVを取得してよい。
【0040】
図3は、本実施形態に係る学習装置100が行動データとして取得してよい操作変更量ΔMVの分布の一例を示す。本図において、横軸は操作変更量ΔMVを示している。ここで、操作変更量ΔMVは、操作量MVにおける変更量、すなわち、操作量MVにおける次回値から今回値を減算した値を示している。一例として、時間TAにおける操作変更量ΔMVは、5.1-10=-4.9となる。本実施形態に係る学習装置100は、行動データとして、このような操作変更量ΔMVを取得してよい。また、本図において、縦軸は対応する操作変更量ΔMVが出現した回数を示している。このように、操作変更量ΔMVは、本図に示されるように、任意の操作変更量ΔMVがランダムに分布しているというよりは、ある程度集中した操作変更量ΔMVの群がいくつか存在するように分布していてもよい。
【0041】
図4は、本実施形態に係る学習装置100が事前学習するフローの一例を示す。
【0042】
ステップS410において、学習装置100は、初期設定データを取得する。例えば、データ取得部110は、設備10の状態に応じた行動を出力する機械学習モデルによる設備10に設けられた制御対象20の制御に先立ち、設備10の状態を示す状態データ、および、制御対象20に対する行動を示す行動データを含む初期設定データを取得する。
【0043】
データ取得部110は、初期設定データを、機械学習モデルによる制御対象20の制御(AI制御)に先立ち取得する。この際、データ取得部110は、例えば、制御対象20がFB制御(例えば、PID制御)されている際に得られたデータから初期設定データを取得してもよいし、制御対象20がオペレータにより手動制御されている際に得られたデータから初期設定データを取得してもよいし、制御対象20のステップ応答から得られたデータから初期設定データを取得してもよい。なお、実データが無いまたは不足している場合には、データ取得部110は、制御対象20の物理モデルに基づいてシミュレートされたシミュレーションデータから初期設定データを取得してもよい。この際、データ取得部110は、一つの初期状態から目標値に安定させる限定的なデータだけではなく、多数の初期条件や外乱による多様なシチュエーションにおける多彩なデータが含まれるように、初期設定データを取得するとよい。
【0044】
例えば、データ取得部110は、設備10に設けられたセンサが測定した状態データを、ネットワークを介して設備10から時系列に受信する。しかしながら、これに限定されるものではない。データ取得部110は、このような状態データを、設備10とは異なる他の装置から受信することによって取得してもよいし、ユーザ入力を介して取得してもよいし、各種メモリデバイスから読み出すことによって取得してもよい。
【0045】
一例として、データ取得部110は、例えば
図2に示されるような測定値PVを状態1、操作量MVを状態2として含む状態データを取得してよい。これにより、データ取得部110は、例えば、時間TAにおいて、状態(状態1,状態2)=(30,10)であったことを示す状態データを取得する。
【0046】
また、データ取得部110は、操作量MVにおける次回値から今回値を減算することで操作変更量ΔMVを示すデータを取得する。一例として、時間TAに続く時間TBにおいて、操作量MV=5.1の状態に変化していたとする。この場合、データ取得部110は、時間TBにおける操作量MV=5.1から時間TAにおける操作量MV=10を減算することで、時間TAにおける操作変更量ΔMV=-4.9であったことを示すデータを取得する。データ取得部110は、このような操作変更量ΔMVを行動データとして取得してよい。これにより、データ取得部110は、例えば、時間TAにおいて、行動(-4.9)であったことを示す行動データを取得する。
【0047】
すなわち、データ取得部110は、時間TAについて、状態データとして状態(30,10)を、行動データとして行動(-4.9)をそれぞれ取得してよい。これはつまり、時間TAにおいて、水槽の水位が30でありバルブ開度が10%である状態において、制御対象20であるバルブを-4.9%(例えば、バルブを閉じる方向である時計回りに4.9%)回転制御させたことを意味している。
【0048】
データ取得部110は、例えばこのようにして初期設定データを取得してよい。なお、上述の説明では、データ取得部110がネットワークを介して状態データを受信し、受信した状態データを用いて自身が演算することにより行動データを取得する場合を一例として示した。しかしながら、これに限定されるものではない。データ取得部110は、状態データに加えて行動データについても、ネットワークを介して受信してもよい。データ取得部110は、取得した初期設定データを抽出部120へ供給する。
【0049】
ステップS420において、学習装置100は、初期設定データを選定する。例えば、選定部122は、ステップS410において取得された初期設定データを選定する。すなわち、選定部122は、取得された初期設定データから、事前学習に用いられるべきデータを選ぶ。この際、選定部122は、例えば、制御性能の評価値であるオーバーシュート/アンダーシュートやハンチングの幅、オフセット値等を自動的に算出し、各評価値が予め定められた範囲内のデータのみとなるように、初期設定データを選定してもよい。また、選定部122は、例えば、カーネル関数に基づいてデータ間の類似性を評価し、類似性の低いデータが多く含まれるように、初期設定データを選定してもよい。選定部122は、選定した初期設定データを定義部124へ供給する。
【0050】
ステップS430において、学習装置100は、選択肢を定義する。例えば、定義部124は、ステップS420において選定された初期設定データに基づいて、機械学習モデルが行動を選択するための選択肢を定義する。一例として、定義部124は、ステップS420において選定された初期設定データに含まれる操作変更量ΔMVを分析することで選択肢を定義する。この際、定義部124は、例えば、x-means法等の既存のクラスタ分析技術により操作変更量ΔMVをクラス分けし、各クラスの代表となる操作変更量ΔMV(例えば、同一クラスに属する操作変更量ΔMVの中央値や平均値等)を選択肢として定義してよい。一例として、選定された初期設定データに含まれる操作変更量ΔMVが
図3に示されるように分布していたとする。この場合、定義部124は、操作変更量ΔMVを7つにクラス分けし、各クラスの代表値、ここでは、操作変更量ΔMV=-10、-5、-3、0、3、5、および、10からなる操作変更量ΔMVのセットを選択肢として定義してよい。このように、定義部124は、初期設定データに含まれる行動データが示す行動の分布に基づいて、選択肢を定義してよい。
【0051】
ステップS440において、学習装置100は、サンプルデータを抽出する。例えば、抽出部120は、ステップS420において選定された初期設定データからサンプルデータを抽出する。この際、抽出部120は、操作変更量ΔMVの実データをそのまま用いるのではなく、ステップS430において定義された選択肢の中の最も近い操作変更量ΔMV´に置き換える。そして、抽出部120は、同時点における状態データと置き換えられた操作変更量ΔMV´との組み合わせをサンプルデータとして抽出する。一例として、時間TAについて、行動データとして行動(-4.9)が取得されていた場合に、抽出部120は、「-4.9」をステップS430において定義された選択肢の中で最も近い操作変更量ΔMV´、ここでは「-5」に置き換える。そして、抽出部120は、時間TAについて、状態(30,10)と行動(-5)との組み合わせをサンプルデータとして抽出する。このように、抽出部120は、初期設定データ(より詳細にはステップS420において選定された初期設定データ)に含まれる状態データと選択肢に含まれる行動との組み合わせをサンプルデータとして抽出する。抽出部120は、抽出したサンプルデータを事前学習部130へ供給する。
【0052】
ステップS450において、学習装置100は、事前学習する。例えば、事前学習部130は、機械学習モデルの強化学習の開始に先立ち、初期設定データに基づいて事前学習することによって、機械学習モデルを初期設定する。より詳細には、事前学習部130は、ステップS410において取得された初期設定データからステップS440において抽出されたサンプルデータを用いて事前学習することによって、機械学習モデルを初期設定する。
【0053】
ここで、事前学習部130は、機械学習モデルに、設備10の状態に応じて、制御対象20を制御するための行動を決定するポリシーを保存する。一例として、事前学習部130は、機械学習モデルのテーブルに、ステップS440において抽出された複数のサンプルデータを保存する。このようなテーブルは、状態(状態1,状態2)、すなわち、測定値PVおよび操作量MVと、行動、すなわち、操作変更量ΔMV´との組み合わせ、および、当該組み合わせに対する評価を表す重みで構成される。事前学習部130は、ステップS440において抽出されたサンプルデータにおける状態と行動との各組み合わせをテーブルに保存し、各組合せに対する重みを初期値(例えば、全て1)に設定する。
【0054】
なお、上述の説明では、事前学習部130が、各組合せに対する重みを暫定的に均一な値に設定する場合を一例として示したが、これに限定されるものではない。各組合せについて重要度が異なる場合には、事前学習部130は、各組合せに対する重みを重要度に応じた値に設定してもよい。
【0055】
また、上述の説明では、事前学習部130が、サンプルデータにおける状態と行動とをその値のままテーブルに保存する場合を一例として示したが、これに限定されるものではない。事前学習部130は、サンプルデータにおける状態と行動との少なくともいずれかを、予め定められた範囲(例えば、0~1)に正規化して保存してもよい。
【0056】
このようにして、事前学習部130は、初期設定データに基づいて、状態データが入力されたことに応じて、状態データに対応する行動データにより近い行動を選択するように機械学習モデルを初期設定する。
【0057】
ステップS460において、学習装置100は、機械学習モデルを記憶する。例えば、モデル記憶部140は、ステップ450において事前学習によって初期設定された初期設定済みの機械学習モデルを記憶する。
【0058】
図5は、本実施形態に係る学習装置100が事前学習により初期設定した初期設定済みの機械学習モデルのテーブルの一例を示す。上述のとおり、状態1は測定値PVを示しており、ここでは水槽の水位を示す。また、状態2は操作量MVを示しており、ここではバルブ開度を示す。また、行動は操作変更量ΔMV´を示している。
【0059】
本図において、例えば1行目においては、水槽の水位が0、バルブ開度が0の状態で、バルブを+10%(反時計回りに10%)回転させたサンプルデータが保存されている。同様に、2行目においては、水槽の水位が3、バルブ開度が10の状態で、バルブを+5%回転させたサンプルデータが保存されている。そして、本テーブルにおいては、このような状態と行動との各組合せに対して重みが全て初期値である1に設定されている。
【0060】
機械学習モデルは、このように初期設定されたテーブルをポリシーとして行動を決定するので、初期設定データに含まれる状態データと選択肢に含まれる各行動との組み合わせに対するそれぞれの重みに基づいて、設備の状態に応じた行動を出力することとなる。
【0061】
なお、ここで着目すべきは、行動として、-10、-5、-3、0、3、5、および、10のいずれかの値のみが保存されている点である。すなわち、機械学習モデルのテーブルには、定義部124によって定義された選択肢に含まれる行動のみが保存されている。これにより、機械学習モデルが出力する行動は、選択肢に含まれるいずれかの行動、すなわち、操作変更量ΔMV=-10、-5、-3、0、3、5、および、10のいずれかに限定されることとなる。
【0062】
従来、温度の調整、液面の水位調整、流量の調整等のプロセス制御においてはPID制御が用いられてきた。PID制御では安定した制御ができる一方で、立ち上がり時にオーバーシュートやアンダーシュートが発生することがある。とりわけ、温度調整制御においてオーバーシュートが発生すると、対象物の温度が下がらず、生産開始が遅れる等の問題が生じる。ここで、オーバーシュート等をさせないようにPIDゲインを調整することは可能である。しかしながら、その場合、応答が安定するまでの整定時間が長くなってしまう。そのため、制御性能を向上させるべくPIDの各係数を最適な値に調整するために多くの時間と手間がかけられているのが現状である。
【0063】
そこで、機械学習モデルを用いたAI制御も提案されている。AI制御においては、とある制御対象の目標値に向かってオーバーシュート等の現象を抑えながら、より早く目標値付近に安定させるように機械学習することによって機械学習モデルを生成すれば、期待された制御ができるようになる。このような機械学習モデルを生成する手法の一つとして、強化学習が挙げられる。一般に、強化学習アルゴリズムにおいては、学習初期は機械学習モデルがランダムに操作量を変更する行動を取り、多数の試行錯誤を繰り返すことによって機械学習モデルが更新される。この場合、制御性能の良いモデルが出来上がるまでに膨大な学習時間がかかってしまうことが現在の課題である。また、応答時間が長い温度制御等のN次遅れ系に対して強化学習を適用する場合には、学習初期における行動選択のランダム性や、不適切な行動幅の設定に起因して、いくら学習を繰り返し実行しても目標値に収束できない、または、制御性能の良いモデルを得られないという問題が生じていた。
【0064】
そこで、本実施形態に係る学習装置100は、制御対象20のAI制御に用いられる機械学習モデルの強化学習が開始されるに先立ち、事前学習することによって当該機械学習モデルを初期設定する。すなわち、本実施形態に係る学習装置100は、機械学習モデルの強化学習を、まっさらな状態から開始させるのではなく、事前学習により事前知識が導入された状態から開始させるべく、機械学習モデルを初期設定する。これにより、本実施形態に係る学習装置100によれば、機械学習モデルに制御の事前知識を導入するので、その後の強化学習における学習時間の短縮とモデルの精度向上を実現することができる。すなわち、事後的に実行される強化学習の学習初期においては、機械学習モデルがランダムに操作量を変更する行動を選択するのではなく、PID制御や手動制御等のノウハウを含んだ初期設定をベースとして行動を選択するので、少ない学習回数でより良い制御性能を実現するモデルを得ることができる。
【0065】
また、本実施形態に係る学習装置100は、初期設定データを選定し、選定された初期設定データから事前学習に用いられるサンプルデータを抽出する。これにより、本実施形態に係る学習装置100によれば、事前学習において、取得された全ての初期設定データを用いるのではなく、例えば、制御性能が良好であった際のデータや類似性の低いデータを積極的に用いるので、より学習時間の短縮とモデルの精度向上を図ることができる。
【0066】
また、本実施形態に係る学習装置100は、機械学習モデルが行動を選択するための選択肢を定義し、初期設定データに含まれる状態データと選択肢に含まれる行動との組み合わせを事前学習に用いられるサンプルデータとして抽出する。これにより、本実施形態に係る学習装置100によれば、機械学習モデルが出力する行動を選択肢に含まれるいずれかの行動に限定することができるので、強化学習の初期学習における行動選択のランダム性や不適切な行動幅の設定による悪影響を抑制することができる。
【0067】
この際、本実施形態に係る学習装置100は、初期設定データに含まれる行動データが示す行動の分布に基づいて選択肢を定義する。これにより、本実施形態に係る学習装置100によれば、例えば、PID制御下や手動制御下において取られた頻度が高い行動を、機械学習モデルが出力するように初期設定することができる。
【0068】
図6は、本実施形態の変形例に係る学習装置100のブロック図の一例を示す。
図6においては、
図1と同じ機能および構成を有する部材に対して同じ符号を付すとともに、以下相違点を除き説明を省略する。本変形例に係る学習装置100は、事前学習により機械学習モデルを初期設定する機能に加えて、強化学習により機械学習モデルを更新する機能を更に有する。本変形例に係る学習装置100は、上述の実施形態に係る学習装置100が備える機能部に加えて、強化学習部610を更に備える。
【0069】
本変形例において、データ取得部110は、機械学習モデルにより制御対象20が制御されたことに応じて、状態データを取得する。すなわち、データ取得部110は、初期設定済みの機械学習モデル、または、それを更新した更新済みの機械学習モデルを用いたAI制御下における、状態データを取得する。データ取得部110は、取得した状態データを強化学習部610へ供給する。また、データ取得部110は、取得した状態データをモデル記憶部140に記憶されている機械学習モデルに入力する。
【0070】
強化学習部610は、状態データ、および、状態データを機械学習モデルに入力したことに応じて機械学習モデルから取得される行動データを学習データとして強化学習することによって、機械学習モデルを更新する。例えば、強化学習部610は、データ取得部110が取得した状態データをモデル記憶部140に記憶されている機械学習モデル(初期設定済みの機械学習モデル、または、それを更新した更新済みの機械学習モデル)に入力したことに応じて、機械学習モデルが出力した行動を行動データとして取得する。
【0071】
ここで、機械学習モデルは、例えば次のようにして、設備10の状態に応じた行動を出力する。機械学習モデルは、入力された状態データと選択肢に含まれる各行動との組み合わせについて、テーブルに保存済みの各サンプルデータとの間でカーネル計算を行い、各サンプルデータとの間の距離をそれぞれ算出する。そして、機械学習モデルは、各サンプルデータについて算出した距離にそれぞれの重みを乗算したものを順次足し合わせ、組み合わせ毎に評価値を算出する。そして、機械学習モデルは、評価値が最も高い組み合わせにおける行動を、次の行動として出力する。強化学習部610は、例えばこのようにして機械学習モデルから出力される行動を行動データとして取得する。そして、強化学習部610は、このようにして取得したAI制御下における状態データおよび行動データを学習データとして強化学習を実行する。
【0072】
ここでの強化学習は、機械学習モデルが初期設定されている点を除き、従来の強化学習と同様であってよい。例えば、強化学習部610は、学習データにおける各サンプルデータ、および、当該サンプルデータに対する報酬値に基づいて、KDPP(Kernel Dynamic Policy Programming)等の既知のアルゴリズムにより強化学習を実行する。この際、強化学習部610は、操作された制御対象20の次の状態データに基づいて選択された行動を評価して、報酬値を計算する。この場合、強化学習部610は、一例として、測定値PVが目標値に近づけば近づく程、報酬値が高くなるように報酬関数を設定してよい。これにより、強化学習部610は、初期設定されたテーブルにおける各サンプルデータの重みを上書きするほか、これまでに保存されていない新たなサンプルデータをテーブルに追加する。
【0073】
図7は、本実施形態の変形例に係る学習装置100が機械学習モデルにより状態に応じた行動を出力する場合における演算結果の一例を示す。本図においては、AI制御下において、学習装置100が、状態データとして、状態(状態1,状態2)=(0.3,0.6)を取得した場合を一例として示している。また、本図においては、操作変更量ΔMV=-10、-5、-3、0、3、5、および、10からなる操作変更量ΔMVのセットが選択肢として定義されている場合を一例として示している。したがって、本図において、各行は入力された状態データと選択肢に含まれる各行動との組み合わせを示している。
【0074】
一例として、1行目においては、状態(0.3,0.6)において選択肢の1つである行動(10)を選択すること意味している。同様に、2行目においては、状態(0.3,0.6)において選択肢の1つである行動(5)を選択することを意味している。機械学習モデルは、このような状態データと選択肢に含まれる各行動との組み合わせについて、それぞれ評価値を算出する。
【0075】
例えば、機械学習モデルは、1行目の組み合わせについて、テーブルに保存済みの各サンプルデータとの間でカーネル計算を行い、各サンプルデータとの間の距離をそれぞれ算出する。そして、機械学習モデルは、各サンプルデータについて算出した距離にそれぞれの重みを乗算したものを順次足し合わせて、評価値S(10)を算出する。機械学習モデルは、このような演算を繰り返し実行し、行動(5)が選択された場合の評価値S(5)、行動(3)が選択された場合の評価値S(3)、行動(0)が選択された場合の評価値S(0)、行動(-3)が選択された場合の評価値S(-3)、行動(-5)が選択された場合の評価値S(-5)、および、行動(-10)が選択された場合の評価値S(-10)をそれぞれ算出する。そして、機械学習モデルは、評価値が最も高い組み合わせにおける行動を、次の行動として出力する。一例として、評価値S(-5)が最も高かった場合に、機械学習モデルは、次の行動として行動(-5)を出力する。
【0076】
図8は、本実施形態の変形例に係る学習装置100が強化学習により更新した機械学習モデルのテーブルの一例を示す。本図に示されるように、事前学習において初期設定された各サンプルデータの重みは、初期値から更新されている。また、本図に示されるように、初期学習において保存されていない新たなサンプルデータがテーブルに追加されている。強化学習部610は、機械学習モデルが例えば
図7の評価結果に応じて出力した行動を、設備10における次の状態データに基づいて評価して、報酬値を計算する。そして、強化学習部610は、一連の行動によって得られる報酬をより高めるように機械学習モデルを更新する。すなわち、強化学習部610は、機械学習モデルが報酬をより高める行動を出力しやすくするために、テーブルに保存されている各サンプルデータの重みを上書きする。また、強化学習部610は、これまでに保存されていない新たなサンプルデータをテーブルに追加することもできる。強化学習部610は、例えばこのようにして、一連の行動によって得られる報酬をより高めるように機械学習モデルを更新する。
【0077】
一般的な強化学習では学習初期において、機械学習モデルがランダムな行動を選択するのに対して、本変形例に係る学習装置においては、PID制御や手動制御等のノウハウを含んだ初期設定をベースとした行動を選択するので、少ない学習回数でより良い制御性能を実現できる制御方法を探索することができる。
【0078】
図9は、本実施形態に係る制御装置900のブロック図の一例を、制御対象20が設けられた設備10と共に示す。
図9においては、
図6と同じ機能および構成を有する部材に対して同じ符号を付すとともに、以下相違点を除き説明を省略する。本実施形態に係る制御装置900は、上述の学習装置100の機能に加えて、機械学習モデルにより制御対象20を制御する機能を更に有する。制御装置900は、上述の学習装置100が備える機能部に加えて、制御部910を更に備える。
【0079】
制御部910は、機械学習モデルにより制御対象20を制御する。例えば、制御部910は、機械学習モデルが出力した行動を制御対象20へ与え、制御対象20を制御する。すなわち、制御部910は、いわゆるAIコントローラとして機能してよい。このように、本実施形態に係る制御装置900は、上述の学習装置100と、機械学習モデルにより制御対象を制御する制御部910とを備えてよい。なお、この際、制御部910と他の機能部とが一体に構成されてもよいし、別体(例えば、他の機能部がクラウドで実行される等)に構成されてもよい。
【0080】
また、このような制御装置900を既存のFB制御器、例えば、PID制御器と組み合わせ、状況に応じて制御対象20の制御を切り替えてもよい。すなわち、制御装置900がFB制御器を更に備え、様々な状況(例えば、学習の進捗状況や制御精度等)に応じて、FB制御器によるFB制御と、機械学習モデルによるAI制御とを切り替えて、制御対象20を制御してもよい。
【0081】
ここまで、1つの実施し得る態様を例示して上述の実施形態について説明した。しかしながら、上述の実施形態は、様々な形で変更、または、応用されてよい。例えば、上述の説明では、定義部124が、設備の状態に関わらない共通の選択肢を定義する場合を一例として示した。すなわち、定義部124は、設備10の状態にかかわらず、操作変更量ΔMV=-10、-5、-3、0、3、5、および、10からなる操作変更量ΔMVのセットを唯一の選択肢として定義する場合を一例として示した。しかしながら、設備10の状態毎にそれぞれ分析を行うと、操作変更量ΔMVの分布も異なる結果となり得る。例えば、水槽が空に近い(測定値PVが0に近い)状態においては、絶対値が大きく、かつ、符号が+である操作変更量ΔMVの出現回数が多くなることが考えられる。逆に、水槽の水位が目標値に近い状態においては、絶対値が小さく、かつ、符号が+または-である操作変更量ΔMVの出現回数が多くなることが考えられる。このように、設備10の状態が操作変更量ΔMVの出現回数に影響を与え得る場合には、定義部124は、設備10の状態に応じた複数の選択肢を定義するとよい。
【0082】
本発明の様々な実施形態は、フローチャートおよびブロック図を参照して記載されてよく、ここにおいてブロックは、(1)操作が実行されるプロセスの段階または(2)操作を実行する役割を持つ装置のセクションを表わしてよい。特定の段階およびセクションが、専用回路、コンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、および/またはコンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタルおよび/またはアナログハードウェア回路を含んでよく、集積回路(IC)および/またはディスクリート回路を含んでよい。プログラマブル回路は、論理AND、論理OR、論理XOR、論理NAND、論理NOR、および他の論理操作、フリップフロップ、レジスタ、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックアレイ(PLA)等のようなメモリ要素等を含む、再構成可能なハードウェア回路を含んでよい。
【0083】
コンピュータ可読媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読媒体は、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROMまたはフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(RTM)ディスク、メモリスティック、集積回路カード等が含まれてよい。
【0084】
コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはSmalltalk(登録商標)、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語のような従来の手続型プログラミング言語を含む、1または複数のプログラミング言語の任意の組み合わせで記述されたソースコードまたはオブジェクトコードのいずれかを含んでよい。
【0085】
コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサまたはプログラマブル回路に対し、ローカルにまたはローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して提供され、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく、コンピュータ可読命令を実行してよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
【0086】
図10は、本発明の複数の態様が全体的または部分的に具現化されてよいコンピュータ9900の例を示す。コンピュータ9900にインストールされたプログラムは、コンピュータ9900に、本発明の実施形態に係る装置に関連付けられる操作または当該装置の1または複数のセクションとして機能させることができ、または当該操作または当該1または複数のセクションを実行させることができ、および/またはコンピュータ9900に、本発明の実施形態に係るプロセスまたは当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ9900に、本明細書に記載のフローチャートおよびブロック図のブロックのうちのいくつかまたはすべてに関連付けられた特定の操作を実行させるべく、CPU9912によって実行されてよい。
【0087】
本実施形態によるコンピュータ9900は、CPU9912、RAM9914、グラフィックコントローラ9916、およびディスプレイデバイス9918を含み、それらはホストコントローラ9910によって相互に接続されている。コンピュータ9900はまた、通信インターフェイス9922、ハードディスクドライブ9924、DVDドライブ9926、およびICカードドライブのような入/出力ユニットを含み、それらは入/出力コントローラ9920を介してホストコントローラ9910に接続されている。コンピュータはまた、ROM9930およびキーボード9942のようなレガシの入/出力ユニットを含み、それらは入/出力チップ9940を介して入/出力コントローラ9920に接続されている。
【0088】
CPU9912は、ROM9930およびRAM9914内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。グラフィックコントローラ9916は、RAM9914内に提供されるフレームバッファ等またはそれ自体の中にCPU9912によって生成されたイメージデータを取得し、イメージデータがディスプレイデバイス9918上に表示されるようにする。
【0089】
通信インターフェイス9922は、ネットワークを介して他の電子デバイスと通信する。ハードディスクドライブ9924は、コンピュータ9900内のCPU9912によって使用されるプログラムおよびデータを格納する。DVDドライブ9926は、プログラムまたはデータをDVD-ROM9901から読み取り、ハードディスクドライブ9924にRAM9914を介してプログラムまたはデータを提供する。ICカードドライブは、プログラムおよびデータをICカードから読み取り、および/またはプログラムおよびデータをICカードに書き込む。
【0090】
ROM9930はその中に、アクティブ化時にコンピュータ9900によって実行されるブートプログラム等、および/またはコンピュータ9900のハードウェアに依存するプログラムを格納する。入/出力チップ9940はまた、様々な入/出力ユニットをパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入/出力コントローラ9920に接続してよい。
【0091】
プログラムが、DVD-ROM9901またはICカードのようなコンピュータ可読媒体によって提供される。プログラムは、コンピュータ可読媒体から読み取られ、コンピュータ可読媒体の例でもあるハードディスクドライブ9924、RAM9914、またはROM9930にインストールされ、CPU9912によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ9900に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置または方法が、コンピュータ9900の使用に従い情報の操作または処理を実現することによって構成されてよい。
【0092】
例えば、通信がコンピュータ9900および外部デバイス間で実行される場合、CPU9912は、RAM9914にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インターフェイス9922に対し、通信処理を命令してよい。通信インターフェイス9922は、CPU9912の制御下、RAM9914、ハードディスクドライブ9924、DVD-ROM9901、またはICカードのような記録媒体内に提供される送信バッファ処理領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、またはネットワークから受信された受信データを記録媒体上に提供される受信バッファ処理領域等に書き込む。
【0093】
また、CPU9912は、ハードディスクドライブ9924、DVDドライブ9926(DVD-ROM9901)、ICカード等のような外部記録媒体に格納されたファイルまたはデータベースの全部または必要な部分がRAM9914に読み取られるようにし、RAM9914上のデータに対し様々なタイプの処理を実行してよい。CPU9912は次に、処理されたデータを外部記録媒体にライトバックする。
【0094】
様々なタイプのプログラム、データ、テーブル、およびデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU9912は、RAM9914から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプの操作、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM9914に対しライトバックする。また、CPU9912は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU9912は、第1の属性の属性値が指定される、条件に一致するエントリを当該複数のエントリの中から検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
【0095】
上で説明したプログラムまたはソフトウェアモジュールは、コンピュータ9900上またはコンピュータ9900近傍のコンピュータ可読媒体に格納されてよい。また、専用通信ネットワークまたはインターネットに接続されたサーバーシステム内に提供されるハードディスクまたはRAMのような記録媒体が、コンピュータ可読媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ9900に提供する。
【0096】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0097】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【0098】
10 設備
20 制御対象
100 学習装置
110 データ取得部
120 抽出部
122 選定部
124 定義部
130 事前学習部
140 モデル記憶部
610 強化学習部
900 制御装置
910 制御部
9900 コンピュータ
9901 DVD-ROM
9910 ホストコントローラ
9912 CPU
9914 RAM
9916 グラフィックコントローラ
9918 ディスプレイデバイス
9920 入/出力コントローラ
9922 通信インターフェイス
9924 ハードディスクドライブ
9926 DVDドライブ
9930 ROM
9940 入/出力チップ
9942 キーボード