JP6902487B2 - 機械学習システム - Google Patents

機械学習システム Download PDF

Info

Publication number
JP6902487B2
JP6902487B2 JP2018046510A JP2018046510A JP6902487B2 JP 6902487 B2 JP6902487 B2 JP 6902487B2 JP 2018046510 A JP2018046510 A JP 2018046510A JP 2018046510 A JP2018046510 A JP 2018046510A JP 6902487 B2 JP6902487 B2 JP 6902487B2
Authority
JP
Japan
Prior art keywords
evaluation
reward
program
values
functions
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018046510A
Other languages
English (en)
Other versions
JP2019159888A5 (ja
JP2019159888A (ja
Inventor
フォン グエン
フォン グエン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2018046510A priority Critical patent/JP6902487B2/ja
Publication of JP2019159888A publication Critical patent/JP2019159888A/ja
Publication of JP2019159888A5 publication Critical patent/JP2019159888A5/ja
Application granted granted Critical
Publication of JP6902487B2 publication Critical patent/JP6902487B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、機械学習システムに関する。
浄水施設、発電施設、工場等の施設におけるオートメーションは、通常、規定のルールに基づきプログラミングされる。一般に、専門家が、前もって、ルールを定義する。しかし、多くのケースにおいて、ルールを基礎とするシステムは、十分に機能することが困難である。なぜなら、多くの判定が、ルールとして予め定義されていない経験に基づき行われる必要があるからである。
強化学習及びActor−Criticアルゴリズムを使用することで、システムを、自動的かつ効率的に動作するように学習させることができる。従来の方法として、Deep Deterministic Policy Gradient(DDPG)法が知られている。DDPG法において、一つの関数は、連続的な行動を出力する。例えば、浄水施設において、行動は、システムが取水レートをどの程度増減させるか(+/−xxm/h:xxは連続的な値)である。もう一つの関数は、実行された行動を評価し、実行された行動の価値を示すQ値を出力する。
Q値が高い程、より適切な行動であることを示す。Critic関数は、通常、目標値として、総割引将来報酬を使用し、報酬は行動の目的に応じて与えられるスカラ数である。例えば、浄水施設において、目的は十分な水量を給水槽に維持することであり、水量レベルが低くなる、例えば0になる、又は、水量レベルが高過ぎる、例えば最大値に達すると、報酬は負の数(−1)である。他のケースにおいて、水位が規定の範囲内にあると、報酬は正の数(+1)となる。
強化学習において、criticニューラルネットワークを使用して、actorニューラルネットワークを訓練する技術が知られており、例えば、米国出願公開第2017/0024643号に開示されている。
米国出願公開第2017/0024643号
しかし、実際の運用において、システムは通常、複数の目的を満たすことが必要である。例えば、浄水施設において、システムは十分な量の水を取り込むと共に、ポンプの電力コストを最小化することが必要とされる。例えば、電気料金はオフピーク時よりもピークの時の方が高いので、オフピーク時により多くの水を取り込む方がよい。他の目的も潜在的に必要となり得る。例えば、原水の濁度が高い場合、大量の原水を浄水するための薬品コストが高くなる。したがって、雨の時には、原水の取り込み量を少なくすることが好ましい。
したがって、複数の目的を同時に満たすことが要求される行動を適切に学習及び決定することができる手法が望まれる。
本開示の一例は、環境の現在の状態に基づき行動を決定する、エージェント部と、前記現在の状態及び前記行動に基づき前記行動の異なる目的における評価値をそれぞれ生成する複数の評価関数を含む、評価部と、前記エージェント部を訓練する、学習部と、を含み、前記評価部は、より正確な評価値を生成することができるように、前記複数の評価関数のそれぞれを、前記複数の評価関数それぞれが生成した前記評価値と前記評価値それぞれの目標値との差に基づき、更新し、前記学習部は、前記actor部がより適切な行動を決定することができるように、前記複数の評価関数それぞれの更新による勾配を順次選択し、前記勾配に基づき前記エージェント部を順次更新する、機械学習システムである。
本開示の一態様によれば、複数の目的を同時に満たすことが要求される行動を適切に学習することができる。
第1実施形態に係る学習システムの構成例を模式的に示す。 第1実施形態に係る学習システムの機能ブロック図である。 第1実施形態に係るメモリデータベースの構成例を模式的に示す。 第1実施形態に係る環境部のフローチャートを示す。 第1実施形態に係るactorネットワーク部のフローチャートを示す。 第1実施形態に係る複数criticネットワーク部のフローチャートを示す。 第1実施形態に係る学習部のフローチャートを示す。 第2実施形態に係る学習システムの構成例を模式的に示す。 第2実施形態に係る環境部のフローチャートを示す。
以下、添付図面を参照して本発明の実施形態を説明する。本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。各図において共通の構成については同一の参照符号が付されている。
以下において、単一の行動に対する複数の目的が存在する構成、例えば、単一の行動が複数の基準を満たすことが必要である構成における、機械学習システムを開示する。機械学習システムは、例えば、浄水施設、発電施設、工場等の施設における自動動作システムに適用できる。
本開示において、複数のcritic関数(評価関数)が使用され、強化学習のエージェントであるactor関数を訓練する。各critic関数は、actor関数の出力を評価する単一の目的又は単一の基準を表す。actor関数の出力は、強化学習エージェントの行動である。actor関数は、行動を示す値を出力する。actor関数が出力する行動は、連続値で表わされてよい。
actor関数は、例えば、線形回帰関数又はニューラルネットワークである。以下の説明においては、actor関数は、ニューラルネットワークである。actor関数は、環境と相互作用する装置又はシステムで実行可能であり、例えば、連続値で表わされる行動を出力する。本開示の手法により、複数の目的を有し、連続値で表わされる行動を出力するactor関数を適切に学習することができる。
環境は、実世界又はシミュレートされた世界の環境であってよい。actor関数は、例えばニューラルネットワークであり、2又はそれより多くのcritic関数の勾配を使用して訓練される。
critic関数は、例えば、線形回帰関数又はニューラルネットワークである。以下の説明においては、critic関数は、ニューラルネットワークである。複数のcritic関数は、それぞれ、行動の異なる目的の観点から、行動の価値(行動価値)を評価する。各critic関数は、単一の行動価値を目標とし、各行動価値は単一の目的から決まる。
強化学習エージェントは、環境の現在の状態を示す観測値を受信し、そして、環境の現在の状態を入力として受け取り適切な行動を出力するactor関数を使用して、環境と相互作用する。actor関数の出力する行動は、連続する数値で表わされ得る。複数のcritic関数は、それぞれ、現在の状態とactor関数の行動の情報を使用して、その行動の価値を評価する。
critic関数は、訓練されて、より正確な行動価値(行動価値の評価値)を出力するようになる。各行動価値は、単一の目的に対応する。critic関数それぞれにおける勾配を使用して、critic関数毎に、actor関数を更新する。これにより、actor関数は、複数のcritic関数の評価から、全ての基準をできる限り満たすことができる一つの行動を出力する。
critic関数に基づきactor関数を訓練するため、各訓練回において、actor関数の単一更新ではなく、actor関数の更新シーケンスが実行される。actor関数の訓練は、複数のcritic関数それぞれの勾配を使用して順次行われる。単一のcritic関数の代わりに、異なる目的に対応する複数のcritic関数を使用することで、効果的かつ効率的に、actor関数を訓練することができる。
<第1実施形態>
図1から7を参照して、第1実施形態を説明する。学習システムは、環境プログラム、actorネットワークプログラム、複数criticネットワークプログラム(複数criticネットワークのプログラム)、そして、学習プログラムを含む。actorネットワークプログラムは、ニューラルネットワーク(単にネットワークとも呼ぶ)を使用し、環境プログラムからの現在状態を入力として受け取り、行動を出力する。
複数criticネットワークプログラムは、複数のcriticニューラルネットワークを含み、環境プログラムからの現在の状態とactorネットワークプログラムからの行動とを、入力として受け取る。各criticニューラルネットワークは、actorネットワークプログラムからの行動を評価する独自の基準又は目的を有している。学習プログラムは、例えばミニバッチ学習によって、criticネットワークプログラムを更新する。学習プログラムは、criticネットワークプログラム毎に、criticネットワークプログラムから得られる勾配を使用して、actorネットワークプログラムを更新する。
図1は、第1実施形態に係る学習システムの構成例を模式的に示す。サーバ100は、プロセッサ110、メモリ120、及び補助記憶装置130を含む。メモリ120及び/又は補助記憶装置130は、記憶装置である。これら構成要素は、バスを介して互いに接続されている。プロセッサ110は、メモリ120を参照して、様々な演算処理を実行する。
メモリ120は、環境プログラム121、actorネットワークプログラム122、複数criticネットワークプログラム123、そして、学習プログラム124を格納している。メモリ120に格納されるプログラム及びプログラムが使用するデータは、例えば、補助記憶装置130又は外部からネットワークを介してロードされる。
環境プログラム121は、実世界の特徴を観測又は実世界の環境をシミュレートする。例えば、実世界の浄水施設において、環境プログラム121は、施設の特徴量を観測する。環境プログラム121は、例えば、水の特性値、水量及び水位を感知することができるセンサアレイからの値を観測する。シミュレーションにおける浄水施設において、環境プログラム121は、浄水施設でのオペレーションがなされた後の水の特性値の変化、水量の変化及び水位の変化をシミュレートする。
環境のこれらの特徴量に基づいて、システムは、環境の現在状態、及び、オペレーションにおいてなされた行動の後の環境の次の状態を観測し、そして、異なる目的の全ての基準を参照して、行動の各目的に対する良否を判定する。
actorネットワークプログラム122は、環境の現在状態を入力として受け取り、関数を使用して行動を出力する。訓練において、actorネットワークプログラム122は、パラメータεを使用して、ランダムな行動を行うか、その関数から最適と推定される行動を行うか判定する。actorネットワークプログラム122の関数は、例えば、ニューラルネットワークである。actorネットワークプログラム122の処理フローは、図5を参照して、後に詳述される。
複数criticネットワークプログラム123は、複数のcritic関数を含む。複数のcritic関数は、それぞれ、例えば、ニューラルネットワークである。各critic関数は、行動が満足すべき一つの目的を表す。例えば、浄水施設において、取水レートを変更する行動は、貯水池における水量及び取水のための電力消費量を変化させることになる。この行動は水の需要(十分な水)を満たすと共に、取水のための電力消費量のコストができるだけ低くする(ローコスト)ことが要求される。
ある一つのcriticネットワークは、行動が需要を満たすか否かを判定し、他のcriticネットワークは、行動が電力のコストを削減するか否か判定する。これらcriticネットワークは、バックプロパゲーションによって、できるだけ正確に判定することができるように訓練される。複数criticネットワークプログラム123の処理フローは、図6を参照して、後に詳述される。
学習プログラム124は、複数criticネットワークプログラム123を使用して、複数のcritic関数を訓練し、また、それらの勾配を使用して、critic関数毎に、actorネットワークプログラム122を訓練する。学習プログラム124の処理フローは、図7を参照して、後に詳述される。
補助記憶装置130は、メモリデータベース131を格納している。メモリデータベース131は、4要素からなるタプル、の集合を格納している。4要素は、現在の状態、行動、報酬、そして、次の状態である。これらは、例えば、訓練フェーズにおけるactorネットワークプログラム122の経験値である。メモリデータベース131の容量は、規定値(例えば100万タプル)であり、予め設定されている。メモリデータベース131が一杯になると、最初の経験値の組(タプル)が削除され、次の経験のための空き領域が形成される。メモリデータベース131の構成は、図3を参照して、後に詳述される。
図2は、第1実施形態に係る学習システムの機能ブロック図である。環境部1210は、実世界の環境の現在の状態を観測する、又は、実世界をシミュレートすることができる。環境部1210は、環境プログラム121を実行するプロセッサ110で実現される。環境部1210は、actorネットワーク部1220から行動を受け取り、その行動を実行して次の状態に移行する。報酬は、環境部1210において計算される。一つの経験は、一つのタプルであり、現在の状態、行動、異なる目的それぞれの報酬、そして新しい状態、の情報を含む。経験は、メモリデータベース131に格納される。
actorネットワーク部1220は、システムの行動を決定する。actorネットワーク部1220は、actorネットワークプログラム122を実行するプロセッサ110によって実現される。actorネットワーク部1220は、センサデータを環境部1210から現在の状態として受信し、ニューラルネットワークのフィードフォワード法を使用して、行動を得る。actorネットワーク部1220は、ニューラルネットワークにより得た行動を使用することもあれば、使用しないこともある。actorネットワーク部1220は、パラメータεを有しており、それを使用して、ニューラルネットワークからの行動を利用するか、ランダムな行動を探索するか決定する。
パラメータεは、予め設定されており、例えば、固定値(例えば、0.5)、又は、訓練時間に応じて1から0まで線形減少する数値である。actorネットワーク部1220は、乱数とパラメータεとを比較し、ニューラルネットワークにより決定される行動を利用するか、ランダムな行動を探索するか決定する。actorネットワーク部1220は、決定した行動を、その行動の実行のために、環境部1210に送信する。
複数criticネットワーク部1230は、所与の状態における行動を評価する。複数criticネットワーク部1230は、複数criticネットワークプログラム123を実行するプロセッサ110によって実現される。その評価は、Q値(行動価値)として与えられる。Q値が高い程、より適切な動作であることを示す。複数criticネットワーク部1230は、2又はそれより多くのcritic関数を含み、それらは、例えば、ニューラルネットワークである。各criticネットワークは、以下の数式で与えられる正確なQ値(目標値)を出力しようとする。
Q(st,at)=reward+γQ(st+1,at+1) (1)
s_t、a_t、はそれぞれ、現時点での状態と行動を示す。rewardは報酬を表し、γは割引率を表す。s_t+1、a_t+1、はそれぞれ、次の時点での状態と行動を示す。
各criticニューラルネットワークは、バックプロパゲーション法を使用して、実際に出力されたQ値(推定値)と目標Q値との誤差の二乗平均の損失関数が最少となるように、訓練される。criticネットワークは、状態と当該状態において取られた行動を入力として、Q値を出力する。
損失関数は、例えば、以下の数式で表わされる。
Loss=1/2[reward + γQ(st+1,at+1)−Q(st,at)]2 (2)
重要な点は、criticネットワークは、それぞれ、一つの行動が満たすべき異なる目的(基準)を表すことである。
学習部1240は、学習プログラム124を実行するプロセッサ110により実現される。学習部1240は、メモリデータベース131から規定数の経験をサンプリングし、全てのcriticネットワークを、上述のように、バックプロパゲーション法によって訓練する。学習部1240は、criticネットワーク毎に、criticネットワークからの勾配を使用してactorネットワーク部1220(のactorネットワーク)を訓練する。
図3は、第1実施形態に係るメモリデータベース131の構成例を模式的に示す。メモリデータベース131は、インデックス欄301、現在の状態欄302、行動欄303、報酬欄304、及び次の状態欄305を含む。一つのレコードが、一つの経験を示す。
インデックス欄301は、メモリデータベース131に格納されている経験(レコード)の順序を示す整数を格納している。インデックスは、メモリデータベース131に格納されている経験において、メモリデータベース131が一杯であって、さらに新しい経験を格納する場合に、削除すべき最も古い経験を同定する情報を与える。
現在の状態欄302の各セルは、現在の状態(元の状態)を定義する、実世界の環境又はシミュレートされた世界の環境においてセンサが感知した値の集合を示す。
行動欄303の各セルは、システムが取る行動を表す連続する値を示す。行動は、実世界のシステムの仕様に依存する。例えば、行動は、浄水施設における取水レートの増加又は減少の度合いを示す、−1から+1までの間のいずれかの値で表わされる。
報酬欄304の各セルは、システムが行動を実行して次の状態に移行した後の、異なる目的それぞれの報酬を示す数値のセットを格納する。例えば、取水レートを増加する行動の一つの報酬は、貯水池の水位が所望範囲にない場合に、0である。また、取水レートを増加する行動の他の一つの報酬は、その行動が夜に実行され、省消費電力である場合に、+1である。
次の状態欄305は、システムが、現在の状態欄302が示す状態から、行動欄303が示す行動を取ることで遷移した状態を示す。次の状態から、システムは、報酬欄304のセルの各値を決定することができる。次の状態欄305の各セルは、実世界の環境又はシミュレートされた世界の環境においてセンサが感知した値の集合を示す。
図4は、第1実施形態に係る、環境部1210のフローチャートを示す。サーバ100のプロセッサ110が、環境プログラム121に従って、この処理を実行する。
ステップ401において、環境部1210は、環境の現在の状態について観測を行う。環境部1210が実世界から情報を取得する場合、現在のセンサアレイデータは、実世界の環境の現在の状態を示す。環境部1210がシミュレーションによって情報を取得する場合、現在のセンサアレイデータは、シミュレートされている環境におけるセンサデータの現在の観測値である。
ステップ402において、環境部1210は、actorネットワーク部1220から、行動を取得する。ステップ403において、実世界又はシミュレートされている世界において、取得した行動を実行することによって、環境における現在の状態から次の状態に遷移する。次の状態はセンサデータにより同定される。ステップ404において、新しい状態において、環境部1210は、各criticネットワークの目的に対する報酬を決定する。状態に対する各criticネットワークの報酬は、予めシステム設計者によって設定されている。
ステップ405において、環境部1210は、取得した全ての情報を一つのタプルにまとめる。情報は、移行前の現在の状態、行動、目的に応じた異なる報酬、そして新しい次の状態である。ステップ406において、環境部1210は、ステップ405でタプルに纏めた情報を、メモリデータベース131に格納する。以上により、環境部1210の処理は終了する。
図5は、actorネットワーク部1220のフローチャートを示す。サーバ100のプロセッサ110が、actorネットワークプログラム122に従って、この処理を実行する。図5は、actorネットワーク部1220が行動を生成(出力)する処理を示す。
ステップ501において、actorネットワーク部1220は、環境部1210から、現在の状態を示すデータを取得する。ステップ502において、actorネットワーク部1220は、0から1までの一つの乱数を生成する。
ステップ503において、actorネットワーク部1220は、生成した乱数をパラメータεと比較する。乱数がパラメータεより大きくない場合(503:NO)、ステップ504において、actorネットワーク部1220は、ランダムな行動を生成する。乱数がパラメータεより大きい場合(503:YES)、ステップ505において、actorネットワーク部1220は、actorニューラルネットワークに現在の状態を入力して、フィードフォワードにより、行動を示す出力を得る。
ステップ506において、actorネットワーク部1220は、選択した行動を、環境部1210に送信する。以上により、actorネットワーク部1220の処理は終了する。
図6は、複数criticネットワーク部1230のフローチャートを示す。サーバ100のプロセッサ110が、複数criticネットワークプログラム123に従って、この処理を実行する。図6は、複数criticネットワーク部1230の訓練(学習)の処理を示す。
ステップ601において、複数criticネットワーク部1230は、メモリデータベース131からのNサンプル(Nは自然数)の経験のミニバッチデータを、学習部1240から受け取る。
ステップ602において、複数criticネットワーク部1230は、全てのcriticネットワークを更新したか判定する。全てのcriticネットワークの更新が終了している場合(602:YES)、複数criticネットワーク部1230の処理は終了する。
未更新のcriticネットワークが存在する場合(602:NO)、ステップ603において、複数criticネットワーク部1230は、一つの未更新のcriticネットワークを選択し、当該criticネットワークに対する、N個の経験に対応する目標値を計算する。各目標値は、上記数式1により計算される。
ステップ604において、複数criticネットワーク部1230は、選択したcriticネットワークにおいて、上記目標値に基づくバックプロパゲーションを実行し、上記数式2が示す損失関数の値が最小化されるように、当該criticネットワークの重み(学習パラメータ)を更新する。その後、複数criticネットワーク部1230は、ステップ602に戻る。
図7は、学習部1240のフローチャートを示す。サーバ100のプロセッサ110が、学習プログラム124に従って、この処理を実行する。
ステップ701において、学習部1240は、メモリデータベース131に、十分な数の経験(レコード)が格納されているか判定する。十分な数を示す閾値は、予め設定されており、例えば、少なくとも5000の経験が格納されていると、十分な経験が格納されていると判定される。十分な経験が格納されていない場合(701:NO)、複数criticネットワーク部1230及びactorネットワーク部1220の訓練(学習又は更新)を行うことなく、本処理は終了する。
十分な経験がメモリデータベース131に格納されていると判定されると(701:YES)、ステップ702において、学習部1240は、メモリデータベース131からN個の経験をサンプリングする。Nは自然数であって、予め設定された値である。Nは例えば32である。サンプリングされたN個の経験は、それぞれ、<s、a、r、s´>と表わされる。ここで、sは現在の状態、aは現在の状態で取られた行動、rは異なる目的それぞれの報酬、s´は行動により移行した新しい次の状態である。
ステップ703において、学習部1240は、これらサンプリングされた経験を、複数criticネットワーク部1230に送信する。複数criticネットワーク部1230は、図6を参照して説明したように、criticネットワークを更新する。学習部1240は、これらcriticネットワークの更新により得られる勾配を取得する。criticネットワークの勾配は、更新前の複数の重みと更新後の複数の重みとの差により決まる。
ステップ704及び705において、学習部1240は、ループに入り、criticネットワークの勾配を一つずつ使用して、actorネットワーク部1220(のactorネットワーク)を、訓練する。具体的には、ステップ704において、学習部1240は、全てのcriticネットワークの勾配によって、actorネットワーク部1220のactorネットワークを訓練(更新)したか判定する。全てのcriticネットワークの勾配によってactorネットワークを既に訓練している場合(704:YES)、学習部1240の処理は終了する。
未使用のcriticネットワークの勾配が存在する場合(704:NO)、学習部1240は、一つの未使用のcriticネットワークの勾配を選択し、それを使用して、例えば公知の勾配降下法により、actorネットワークを訓練する。その後、学習部1240は、ステップ704に戻る。
以上のように、本実施形態によれば、Actor−Critic法による機械学習システムにおいて、複数の目的(基準)を満たすことを要求される行動を効果的に学習し、出力することができる。
<第2実施形態>
第2実施形態を図8及ぶ図9を参照して説明する。第1実施形態において、各criticネットワークでの報酬は、システム設計者によって任意に設定される。例えば、成功と失敗とに対する報酬は、それぞれ、+1と−1(離散値)とすることができる。また、低い又は高いコストに対する報酬は、(100000−コスト)(連続値)とすることができる。
したがって、学習システムがactorネットワークを訓練するとき、より大きいスケールの報酬が、より大きい勾配を与え得る。そのため、actorネットワークの訓練において偏りが生まれる。本実施形態においては、報酬調整プログラム125が機械学習システムに加えられている。報酬調整プログラム125は、予め設定されている基準に従って報酬を調整する。
図8は、第2実施形態に係る学習システムの構成例を模式的に示す。報酬調整プログラム125が追加されている点を除き、図1を参照して説明した第1実施形態の構成と同様である。サーバ100のプロセッサ110は、報酬調整プログラム125に従って動作することで、報酬調整部として機能する。
報酬調整プログラム125は、全ての報酬を、特定の範囲、例えば、−1から+1の範囲にスケーリングする。報酬(目的)それぞれに対する優先度が、割合(%)のスケールで予め設定される。例えば、浄水施設において、水の需要を満たすことの優先度が、最も高いことが必要である。
したがって、それに対する報酬に対して、最も高い割合、例えば、70%が割り当てられる。消費電力におけるコスト低減は、より低い優先度を有し、例えば、30%が割り当てられる。報酬調整プログラム125は、目的それぞれの報酬を、割り当てられている割合との積により、再スケーリングする。このように、より高い優先度のcriticネットワークの報酬のスケールが、より低い優先度のcriticネットワークの報酬のスケールより大きくなる。
例えば、優先度を付与する前の水の需要に対する報酬は、貯水池の水位が所定範囲にある場合に成功を示す+1であり、所定範囲外にある場合に失敗を示す−1であるとする。優先度を付与した後、成功の場合の報酬は+0.7であり、失敗の場合の報酬は−0.7である。電力コストに対する報酬は、優先度を付与する前は、−1から+1までのスケールを有する。電力コストに対する最も高い報酬は、例えばコストが0のときに、0.3となる。
優先度の設定方法は、システム設計者により予め設定する方法に限定されない。例えば、学習システムが、自動的に優先度を決定してもよい。学習システムは、力任せ法(brute force method)を使用して、全ての優先度の組み合わせを試して最善の優先度を見付けてもよい。なお、優先度は設定されていない、つまり、全ての優先度が同一であってもよい。
図9は、第2実施形態に係る、環境部1210のフローチャートを示す。サーバ100のプロセッサ110が、環境プログラム121に従って、この処理を実行する。
ステップ901から904、906、907は、それぞれ、図4に示すフステップ905において、環境部1210が各目的の報酬を決定した後、上述のように、割り当てられている優先度に従って、各報酬をスケーリングする。これら報酬は、ステップ906において、他の情報と共にメモリデータベース131に格納される。本実施形態によって、actorネットワークをより適切に訓練(更新)できるように、異なるスケールを有する報酬を、それらの目的に応じて適切に再スケーリングできる。
本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明したすべての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、上記の各構成・機能・処理部等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード等の記録媒体に置くことができる。また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしもすべての制御線や情報線を示しているとは限らない。実際には殆どすべての構成が相互に接続されていると考えてもよい。
100 サーバ、110 プロセッサ、120 メモリ、121 環境プログラム、122 actorネットワークプログラム、123 複数criticネットワークプログラム、124 学習プログラム、125 報酬調整プログラム、130 補助記憶、131 メモリデータベース、301 インデックス欄、302 現在の状態欄、303 行動欄、304 報酬欄、305 次の状態欄、1210 環境部、1220 actorネットワーク部、1230 複数criticネットワーク部、1240 学習部

Claims (8)

  1. 環境の現在の状態に基づき行動を決定する、エージェント部と、
    前記現在の状態及び前記行動に基づき前記行動の異なる目的における評価値をそれぞれ生成する複数の評価関数を含む、評価部と、
    前記エージェント部を訓練する、学習部と、
    前記複数の評価関数それぞれの報酬のスケールを予め設定されている基準に従って調整する報酬調整部と、を含み、
    前記評価値は、それぞれ、前記環境からの報酬に基づく値であり、
    前記評価部は、より正確な評価値を生成することができるように、前記複数の評価関数のそれぞれを、前記複数の評価関数それぞれが生成した前記評価値と前記評価値それぞれの目標値との差に基づき、更新し、
    前記学習部は、前記エージェント部がより適切な行動を決定することができるように、前記複数の評価関数それぞれの更新による勾配を順次選択し、前記勾配に基づき前記エージェント部を順次更新する、機械学習システム。
  2. 請求項1に記載の機械学習システムであって、
    前記エージェント部は、連続的な値で示される行動を決定する、機械学習システム。
  3. 請求項1に記載の機械学習システムであって、
    前記報酬調整部は、より高い優先度の評価関数の報酬のスケールが、より低い優先度の評価関数の報酬のスケールより大きくなるように、前記複数の評価関数それぞれの報酬をスケーリングする、機械学習システム。
  4. 請求項1に記載の機械学習システムであって、
    前記報酬調整部は、前記複数の評価関数それぞれの報酬のスケールを共通のスケールに変換する、機械学習システム。
  5. メモリと、前記メモリに格納されているプログラムに従って動作するプロセッサと、を含む計算機システムにおいて、機械学習システムの訓練を行う方法であって、
    前記機械学習システムは、
    環境の現在の状態に基づき行動を決定する、エージェントプログラムと、
    前記現在の状態及び前記行動に基づき前記行動の異なる目的における評価値をそれぞれ生成する複数の評価関数を含む、評価プログラムと、
    を含み、
    前記方法は、前記プロセッサが、
    前記評価プログラムがより正確な評価値を生成することができるように、前記複数の評価関数のそれぞれを、前記複数の評価関数それぞれが生成した前記評価値と前記評価値それぞれの目標値との差に基づき、更新し、
    前記エージェントプログラムがより適切な行動を決定することができるように、前記複数の評価関数それぞれの更新による勾配を順次選択し、前記勾配に基づき前記エージェントプログラムを順次更新する、
    ことを含み、
    前記評価値は、それぞれ、前記環境からの報酬に基づく値であり、
    前記方法は、前記プロセッサが、前記複数の評価関数それぞれの報酬のスケールを予め設定されている基準に従って調整することをさらに含む、方法。
  6. メモリと、前記メモリに格納されているプログラムに従って動作するプロセッサと、を含む計算機システムにおいて、機械学習システムの訓練を行う方法であって、
    前記機械学習システムは、
    環境の現在の状態に基づき行動を決定する、エージェントプログラムと、
    前記現在の状態及び前記行動に基づき前記行動の異なる目的における評価値をそれぞれ生成する複数の評価関数を含む、評価プログラムと、
    を含み、
    前記方法は、前記プロセッサが、
    前記評価プログラムがより正確な評価値を生成することができるように、前記複数の評価関数のそれぞれを、前記複数の評価関数それぞれが生成した前記評価値と前記評価値それぞれの目標値との差に基づき、更新し、
    前記エージェントプログラムがより適切な行動を決定することができるように、前記複数の評価関数それぞれの更新による勾配を順次選択し、前記勾配に基づき前記エージェントプログラムを順次更新する、
    ことを含み、
    前記評価値は、それぞれ、前記環境からの報酬に基づく値であり、
    前記方法は、前記プロセッサが、より高い優先度の評価関数の報酬のスケールが、より低い優先度の評価関数の報酬のスケールより大きくなるように、前記複数の評価関数それぞれの報酬をスケーリングすることをさらに含む、方法。
  7. メモリと、前記メモリに格納されているプログラムに従って動作するプロセッサと、を含む計算機システムにおいて、機械学習システムの訓練を行う方法であって、
    前記機械学習システムは、
    環境の現在の状態に基づき行動を決定する、エージェントプログラムと、
    前記現在の状態及び前記行動に基づき前記行動の異なる目的における評価値をそれぞれ生成する複数の評価関数を含む、評価プログラムと、
    を含み、
    前記方法は、前記プロセッサが、
    前記評価プログラムがより正確な評価値を生成することができるように、前記複数の評価関数のそれぞれを、前記複数の評価関数それぞれが生成した前記評価値と前記評価値それぞれの目標値との差に基づき、更新し、
    前記エージェントプログラムがより適切な行動を決定することができるように、前記複数の評価関数それぞれの更新による勾配を順次選択し、前記勾配に基づき前記エージェントプログラムを順次更新する、
    ことを含み、
    前記評価値は、それぞれ、前記環境からの報酬に基づく値であり、
    前記方法は、前記プロセッサが、前記複数の評価関数それぞれの報酬のスケールを共通のスケールに変換することをさらに含む、方法。
  8. 請求項5、6又は7に記載の方法であって、
    前記エージェントプログラムは、連続的な値で示される行動を決定する、方法。
JP2018046510A 2018-03-14 2018-03-14 機械学習システム Active JP6902487B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018046510A JP6902487B2 (ja) 2018-03-14 2018-03-14 機械学習システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018046510A JP6902487B2 (ja) 2018-03-14 2018-03-14 機械学習システム

Publications (3)

Publication Number Publication Date
JP2019159888A JP2019159888A (ja) 2019-09-19
JP2019159888A5 JP2019159888A5 (ja) 2020-04-09
JP6902487B2 true JP6902487B2 (ja) 2021-07-14

Family

ID=67996270

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018046510A Active JP6902487B2 (ja) 2018-03-14 2018-03-14 機械学習システム

Country Status (1)

Country Link
JP (1) JP6902487B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110328668B (zh) * 2019-07-27 2022-03-22 南京理工大学 基于速度平滑确定性策略梯度的机械臂路径规划方法
JP7436688B2 (ja) * 2020-02-07 2024-02-22 ディープマインド テクノロジーズ リミテッド 目的別行動価値関数を使用する多目的強化学習
CN112853560B (zh) * 2020-12-31 2021-11-23 盐城师范学院 一种基于环锭纺纱线质量的全局工序共享控制***及方法
CN112953844B (zh) * 2021-03-02 2023-04-28 中国农业银行股份有限公司 一种网络流量优化方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3086206B2 (ja) * 1998-07-17 2000-09-11 科学技術振興事業団 エージェント学習装置
JP5330138B2 (ja) * 2008-11-04 2013-10-30 本田技研工業株式会社 強化学習システム

Also Published As

Publication number Publication date
JP2019159888A (ja) 2019-09-19

Similar Documents

Publication Publication Date Title
JP6902487B2 (ja) 機械学習システム
Yamagata et al. Q-learning decision transformer: Leveraging dynamic programming for conditional sequence modelling in offline rl
JP2022505434A (ja) 生産スケジューリングのための深層強化学習
Jeerige et al. Comparison of deep reinforcement learning approaches for intelligent game playing
CA3131688A1 (en) Process and system including an optimization engine with evolutionary surrogate-assisted prescriptions
CN102334101B (zh) 执行顺序决定装置
KR102660544B1 (ko) 제어 장치, 컨트롤러, 제어 시스템, 제어 방법, 및 제어 프로그램
JP2018142199A (ja) 学習システムおよび学習方法
CN111389006B (zh) 一种动作预测方法及装置
JP7152938B2 (ja) 機械学習モデル構築装置および機械学習モデル構築方法
CN115659054B (zh) 基于强化学习的游戏关卡推荐方法和装置
CN113822441B (zh) 决策模型训练方法、装置、终端设备及存储介质
CN111025899A (zh) 一种非线性动态质量***预测方法
JP7060130B1 (ja) 運用支援装置、運用支援方法及びプログラム
JPWO2020121494A1 (ja) 演算装置、アクション決定方法、及び制御プログラム
US20210279575A1 (en) Information processing apparatus, information processing method, and storage medium
EP3682301B1 (en) Randomized reinforcement learning for control of complex systems
Marchesano et al. Deep Reinforcement Learning Approach for Maintenance Planning in a Flow-Shop Scheduling Problem
JP6858724B2 (ja) 機械学習システム
JP7505328B2 (ja) 運転支援装置、運転支援方法及びプログラム
JP7322520B2 (ja) 保全時期演算装置、及び、保全時期演算プログラム
WO2023026342A1 (ja) 動作規則決定装置、動作規則決定方法および記録媒体
WO2021124397A1 (ja) ジョブ予測プログラム、システム、及び方法
CN117056020A (zh) 容器伸缩方法、***、电子设备及存储介质
Liu et al. An Efficient Node Selection Policy for Monte Carlo Tree Search with Neural Networks

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200221

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200221

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210209

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210409

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210525

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210621

R150 Certificate of patent or registration of utility model

Ref document number: 6902487

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150