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

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

▶ 日本電気株式会社の特許一覧

<>
  • 特許-学習装置、学習方法、及び、記録媒体 図1
  • 特許-学習装置、学習方法、及び、記録媒体 図2
  • 特許-学習装置、学習方法、及び、記録媒体 図3
  • 特許-学習装置、学習方法、及び、記録媒体 図4
  • 特許-学習装置、学習方法、及び、記録媒体 図5
  • 特許-学習装置、学習方法、及び、記録媒体 図6
  • 特許-学習装置、学習方法、及び、記録媒体 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-08
(45)【発行日】2024-04-16
(54)【発明の名称】学習装置、学習方法、及び、記録媒体
(51)【国際特許分類】
   G06N 20/00 20190101AFI20240409BHJP
【FI】
G06N20/00 160
【請求項の数】 6
(21)【出願番号】P 2022508616
(86)(22)【出願日】2020-03-16
(86)【国際出願番号】 JP2020011465
(87)【国際公開番号】W WO2021186500
(87)【国際公開日】2021-09-23
【審査請求日】2022-09-07
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100103090
【弁理士】
【氏名又は名称】岩壁 冬樹
(74)【代理人】
【識別番号】100124501
【弁理士】
【氏名又は名称】塩川 誠人
(72)【発明者】
【氏名】向後 卓磨
【審査官】渡辺 順哉
(56)【参考文献】
【文献】特開2019-219741(JP,A)
【文献】国際公開第2017/183587(WO,A1)
【文献】JIANG, Lu ほか,Self-Paced Learning with Diversity,Advances in Neural Information Processing Systems 27(NIPS 2014)[online],Neural Information Processing Systems Foundation,2014年,pp.1-9,[retrieved on 2020.07.27], Retrieved from the Internet: <URL: https://papers.nips.cc/paper/5568-self-paced-learning-with-diversity.pdf>
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
対象システムの制御内容を決定するポリシを学習する学習装置であって、
前記ポリシに従って、前記対象システムに関する観測情報と、前記対象システムの状態遷移の仕方と制御内容についての評価の高くなり易さとに対応付く難易度とを用いて、前記対象システムに対して施す制御と、前記対象システムに対して設定する難易度とを決定する決定手段と、
決定された前記制御と決定された前記難易度とに従って前記対象システムが遷移する前後の状態と決定された前記制御とについての元評価を複数用いてポリシの学習進度を算出する学習進度算出手段と、
前記元評価と、決定された前記難易度と、算出された前記学習進度とを用いて、改評価を算出する算出手段と、
前記観測情報と、決定された前記制御と、決定された前記難易度と、前記改評価とを用いて、前記ポリシを更新するポリシ更新手段と
を備える学習装置。
【請求項2】
前記決定手段は、さらに前記学習進度を用いて、前記対象システムに対して施す制御と、前記対象システムに対して設定する難易度とを決定する
請求項1記載の学習装置。
【請求項3】
前記算出手段は、前記元評価の値が同じとなる場合について、前記学習進度が高く、決定された前記難易度が低いほど、前記改評価を小さい値として算出する
請求項1または請求項2に記載の学習装置。
【請求項4】
前記算出手段は、前記元評価の値が同じとなる場合について、前記学習進度が低く、決定された前記難易度が高いほど、前記改評価を小さい値として算出する
請求項1から請求項3のうちのいずれか1項に記載の学習装置。
【請求項5】
対象システムの制御内容を決定するポリシを学習する学習方法であって、
コンピュータが、
前記ポリシに従って、前記対象システムに関する観測情報と、前記対象システムの状態遷移の仕方と制御内容についての評価の高くなり易さとに対応付く難易度とを用いて、前記対象システムに対して施す制御と、前記対象システムに対して設定する難易度とを決定し、
決定された前記制御と決定された前記難易度とに従って前記対象システムが遷移する前後の状態と決定された前記制御とについての元評価を複数用いてポリシの学習進度を算出し、
前記元評価と、決定された前記難易度と、算出された前記学習進度とを用いて、改評価を算出し、
前記観測情報と、決定された前記制御と、決定された前記難易度と、前記改評価とを用いて、前記ポリシを更新する
学習方法。
【請求項6】
対象システムの制御内容を決定するポリシを学習する学習プログラムあって、
ンピュータに、
前記ポリシに従って、前記対象システムに関する観測情報と、前記対象システムの状態遷移の仕方と制御内容についての評価の高くなり易さとに対応付く難易度とを用いて、前記対象システムに対して施す制御と、前記対象システムに対して設定する難易度とを決定する処理と、
決定された前記制御と決定された前記難易度とに従って前記対象システムが遷移する前後の状態と決定された前記制御とについての元評価を複数用いてポリシの学習進度を算出する処理と、
前記元評価と、決定された前記難易度と、算出された前記学習進度とを用いて、改評価を算出する処理と、
前記観測情報と、決定された前記制御と、決定された前記難易度と、前記改評価とを用いて、前記ポリシを更新する処理とを実行させる
ための学習プログラム
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、たとえば、制御対象を制御する制御内容等について学習を行う学習装置等に関する。
【背景技術】
【0002】
機械学習は、画像の認識や機械の制御等の様々な場面において活用されている。機械学習は、人間の設計では実現困難とされる複雑で高度な意識決定を実現できるポテンシャルを持つものとして注目され、鋭意開発されている。
【0003】
強化学習は、たとえば、ゲームにおけるコンピュータプレイヤの動作を自動的に決定するシステムにおいて、人間のレベルを超えた意思決定を実現している。強化学習は、ロボットシステムの動作を自動的に決定するシステムにおいて、人間の設計では困難であるとされる複雑な動作を実現している。
【0004】
強化学習の学習を実行するフレームワークは、対象システムそのもの(または、対象システムを模擬した環境)と、対象システムについての動作(以降、行動と呼ぶ)を決定するエージェントとを含む。強化学習において、学習データは、行動(action)、観測(observation )、報酬(reward)の組である。報酬は、たとえば、対象システムの状態と所望状態の類似度に従い与えられる。この場合に、対象システムの状態と、所望状態との間の類似度が高いほど、報酬は高い。対象システムの状態と、所望状態との間の類似度が低いほど、報酬は低い。観測と報酬とは、それぞれエージェントが行動を行う度に環境から得られる。強化学習において、学習は、エージェントが試行錯誤しながら行動し、該行動によって得られる報酬が高くなるよう、様々な行動を探索する。そして、該学習は、探索によって得られた学習データを用いて、エージェントの行動を決定する数理モデルであるポリシを反復的に更新することである。ポリシは、エージェントが行動を開始してから完了するまでに、当該一連の行動によって獲得できる累積報酬が最大となるように更新される。
【0005】
強化学習においては、環境と実現したい動作(所望動作)との両方、または、いずれかが複雑な場合等に、探索によって学習に有効な報酬が得られる確率が低い。その結果、強化学習においては、膨大な探索が必要であり、所望のポリシを得るまでの演算時間が膨大である。そのため、強化学習においては、有効な報酬を効率的に得るための研究が行われている。
【0006】
特許文献1に開示されているシステムは、パラメタを学習計算中に変更できるユーザインターフェースを有する。より具体的には、特許文献1に開示されているシステムは、報酬関数を構成する各評価指標の重み係数を学習計算の途中で変更できるユーザインターフェースを有する。該システムは、学習が停滞したことを検出した際に、ユーザにアラートを発報して重み係数の変更を促す。
【0007】
特許文献2に開示されているシステムは、強化学習における学習計算を実行する度に、環境についてのパラメタを変更する計算処理を備える。具体的に説明すると、該システムは、学習結果に基づいてパラメタを変更するか否かを判定し、変更すると判定した場合に、ユーザが予め設定した更新量だけ環境のパラメタを調整する。
【0008】
非特許文献1に記載されたシステムは、環境についてのパラメタは確率分布に従いサンプルされるものとする。そして、当該システムは、強化学習のエージェント(ここでは生徒エージェントと呼ぶ)に対して、環境のパラメタの確率分布を変更する教師エージェントを備える。教師エージェントは、強化学習の学習計算の実行後に生徒エージェントの学習状況と、対応する環境のパラメタとに基づいて機械学習の計算を行い、より高い学習状況が得られる環境のパラメタについての確率分布を算出する。具体的には、教師エージェントは、ガウス混合モデルのクラスタリング計算を行う。そして、教師エージェントは、クラスタリングによって得られた複数の正規分布から1つを選択することをバンディットアルゴリズムに基づいて行うことで、環境のパラメタの確率分布を更新する。
【先行技術文献】
【特許文献】
【0009】
【文献】国際公開第2018/110305号
【文献】特開2019-219741号公報
【非特許文献】
【0010】
【文献】R. Portelas、 et al、 “Teacher Algorithms for Curriculum Learning of Deep RL in Continuously Parametrized Environments”、 In 3rd Annual Conference on Robot Learning (CoRL)、 2019.
【発明の概要】
【発明が解決しようとする課題】
【0011】
しかし、特許文献1及び特許文献2に記載されている技術を用いたとしても、効率的に強化学習を実行できるようパラメタを適切に設定することが難しい。この理由は、適切にパラメタを設定する方法が確立されていないためである。
【0012】
本発明の目的の1つは、効率的な学習が可能な学習装置等を提供することである。
【課題を解決するための手段】
【0013】
発明の1つの態様として、学習装置は、対象システムの制御内容を決定するポリシを学習する学習装置であって、ポリシに従って、対象システムに関する観測情報と、対象システムの状態遷移の仕方と制御内容についての評価の高くなり易さとに対応付く難易度とを用いて、対象システムに対して施す制御と、対象システムに対して設定する難易度とを決定する決定手段と、決定された制御と決定された難易度とに従って対象システムが遷移する前後の状態と決定された制御とについての元評価を複数用いてポリシの学習進度を算出する学習進度算出手段と、元評価と、決定された難易度と、算出された学習進度とを用いて、改評価を算出する算出手段と、観測情報と、決定された制御と、決定された難易度と、改評価とを用いて、ポリシを更新するポリシ更新手段とを含む。
【0014】
本発明の他の態様として、学習方法は、コンピュータによって、対象システムの制御内容を決定するポリシを学習する学習方法であって、コンピュータが、ポリシに従って、対象システムに関する観測情報と、対象システムの状態遷移の仕方と制御内容についての評価の高くなり易さとに対応付く難易度とを用いて、対象システムに対して施す制御と、対象システムに対して設定する難易度とを決定し、決定された制御と決定された難易度とに従って対象システムが遷移する前後の状態と決定された制御とについての元評価を複数用いてポリシの学習進度を算出し、元評価と、決定された難易度と、算出された学習進度とを用いて、改評価を算出し、観測情報と、決定された制御と、決定された難易度と、改評価とを用いて、ポリシを更新する。
【0015】
本発明の他の態様として、学習プログラムは、対象システムの制御内容を決定するポリシを学習するプログラムであって、コンピュータに、ポリシに従って、対象システムに関する観測情報と、対象システムの状態遷移の仕方と制御内容についての評価の高くなり易さとに対応付く難易度とを用いて、対象システムに対して施す制御と、対象システムに対して設定する難易度とを決定する処理と、決定された制御と決定された難易度とに従って対象システムが遷移する前後の状態と決定された制御とについての元評価を複数用いてポリシの学習進度を算出する処理と、元評価と、決定された難易度と、算出された学習進度とを用いて、改評価を算出する処理と、観測情報と、決定された制御と、決定された難易度と、改評価とを用いて、ポリシを更新する処理とを実行させる。
【発明の効果】
【0016】
本発明によれば、効率的な学習が可能である。
【図面の簡単な説明】
【0017】
図1】第1の実施形態に係る学習システムの装置構成の例を示す概略ブロック図である。
図2】強化学習の機能構成を示す概略ブロック図である。
図3】第1の実施形態に係る学習の処理内容を示す概略ブロック図である。
図4】第1の実施形態に係る学習の処理工程の例を示すフローチャートである。
図5】第1の実施形態に係る学習データ取得の処理工程の例を示すフローチャートである。
図6】第1の実施形態に係る調整関数の例を示す図である。
図7】学習装置の主要部を示すブロック図である。
【発明を実施するための形態】
【0018】
まず、本願発明の理解を容易にするため、本発明が解決しようとする課題を詳細に説明する。
【0019】
本願の発明者は、特許文献1及び特許文献2に記載されている技術において、ユーザが学習状況に応じて細かくパラメタを設定することについて課題を見出した。言い換えると、当該技術は、たとえば、ユーザからパラメタを受け取るものの、発明者は、ユーザがパラメタを適切に設定することができないという課題を見出した。当該技術においては、たとえば、パラメタを適切に設定できなかった場合に学習効率が低下してしまう。
【0020】
また、本願の発明者は、特許文献1、及び、特許文献2に記載されているシステムにおいて、学習計算の度にパラメタを更新しているため、ひとたびパラメタが決定されると、次の学習計算までの間はパラメタの変更ができないという課題を見出した。言い換えると、当該システムにおいては、適切でないパラメタが設定された場合に途中でパラメタを変更できないままエージェントの行動の探索が実行されてしまう。その結果、エージェントが学習に有効な報酬を獲得できなくても、次の学習計算までパラメタの変更を待つこととなり、学習効率が低下するという課題を発明者は見出した。
【0021】
発明者は、係る課題を見出すとともに、係る課題を解決する手段を導出するに至った。
【0022】
次に、本願で用いるカリキュラム学習の概要を説明する。カリキュラム学習は、簡単なことを学習してから難しいことを学ぶという学習プロセスに基づく手法である。カリキュラム学習は、難易度が低いタスクから始めて難易度が高いタスクを学習する機械学習法である。難易度が低いタスクは、たとえば、成功する確率が高い、または、達成度の期待値が高いタスクを表している。難易度が高いタスクは、たとえば、所望状態または所望制御を実現するタスクを表している。このようなカリキュラム学習を強化学習に適用することによって、強化学習において、難易度が低い条件で取得した学習データは、学習に有効な報酬を含む確率が高くなる。従って、この学習データを用いて更新したポリシを用いることで、難易度がより高い条件においても取得する学習データが学習に有効な報酬を含む確率が高くなり、学習の効率を向上させることできる。
【0023】
次に、本発明を実施する実施形態を、図面を参照しながら詳細に説明するが、以下の実施形態は請求の範囲に係る発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
<第1の実施形態>
【0024】
図1を参照しながら、本発明の第1の実施形態の学習装置100を含む学習システム1が有する構成の一例を詳細に説明する。図1は、本発明の第1の実施形態の学習装置100を含む学習システム1の構成を示す概略ブロック図である。
【0025】
学習システム1は、大別して、学習装置100と、環境装置200と、ユーザインターフェース(以降、「I/F」と表す)300とを備える。学習装置100は、学習部110と、学習データ取得部120と、入出力制御部130とを有する。学習部110は、ポリシ更新部111と、学習設定記憶部112と、学習データ記憶部113と、ポリシ記憶部114とを有する。学習データ取得部120は、エージェント計算部121と、エージェント設定記憶部122と、変換部123と、変換設定記憶部124とを有する。環境装置200は、環境部210を有する。環境部210は、環境装置200の処理を実行する。
【0026】
学習装置100は、環境装置200、及び、ユーザI/F300と、通信回線を介して通信可能に接続されている。通信回線は、たとえば、専用線、インターネット、VPN(Virtual Private Network )、LAN(Local Area Network)、USB(Universal Serial Bus)、Wi-Fi(登録商標)、Blue Tooth(登録商標)などの通信回線の占有形態及び有線回線、無線回線などの通信回線の物理形態など形態は問わず、いずれで構成されていてもよい。
【0027】
学習装置100は、制御対象等の対象システムを所望の通りに動作させるための制御内容を決定するモデルであるポリシを、後述するような学習処理に従って生成する。言い換えると、学習装置100は、対象システムの制御コントローラとしての処理を実現するポリシを生成する。すなわち、学習装置100は、制御対象を制御する制御装置としての機能も有する。そのため、たとえば、ユーザは、学習装置100を用いてポリシを生成することで、対象システムの制御コントローラの設計と実装を行うことができる。
【0028】
ここで、対象システムは、制御を行う対象であるシステムである。対象システムは、たとえば、ロボットシステムのようにシステムを構成する個々の機器を制御するシステムである。対象システムは、たとえば、ゲームシステムのようにプログラム中のオブジェクトまたはインスタンスを制御するシステムであってもよい。ただし、対象システムは、これらの例に限定されない。ロボットシステムにおける制御は、たとえば、アーム型ロボットの各関節部の角速度制御またはトルク制御である。あるいは、該制御は、たとえば、ヒューマノイド型ロボットの各モジュールのモータ制御であってもよい。該制御は、たとえば、飛行型ロボットのロータ制御であってもよい。ゲームシステムにおける制御は、たとえば、コンピュータプレイヤの自動操作、及び、ゲームの難易度調整等である。制御の例をいくつか挙げたが、制御はこれらの例に限定されない。
【0029】
環境装置200は、対象システム、または、対象システムを模擬する模擬システムである。模擬システムは、たとえば、対象システムのハードウェアエミュレータ、ソフトウェアエミュレータ、ハードウェアシミュレータ、ソフトウェアシミュレータ等である。模擬システムは、これらの例に限定されない。より具体的な例として、対象システムがアーム型ロボットであり、制御がピックアンドプレース(アーム型ロボットの先端に取り付けられたエンドエフェクターが、物体に近づき、物体を把持した後に、所定の場所に物体を運搬して、所定の場所に物体を置くという一連の制御のタスク)である例が挙げられる。模擬システムは、たとえば、アーム型ロボットのCAD(Computer Aided Design )データと、力学の数値計算を行うことができるソフトウェアである物理エンジンとが組み合わされたソフトウェアシミュレーションを実行するシステムである。ソフトウェアエミュレーション及びソフトウェアシミュレーションは、たとえば、パソコン(Personal Computer ;PC)、ワークステーション(Work Station)等のコンピュータで計算処理が実行される。
【0030】
学習システム1の構成は、図1に示されている構成に限定されない。学習装置100は、環境部210を有していてもよい。具体的には、対象システムを模擬するシステムを用い、さらに、ソフトウェアエミュレータまたはソフトウェアシミュレータを用いる場合に、学習装置100は、該ソフトウェアエミュレータまたはソフトウェアシミュレータに係る処理を実行する環境部210を有していてもよい。
【0031】
ユーザI/F300は、学習装置100の設定、学習処理の実行、ポリシの書き出し等の操作を外部から受け取る。ユーザI/F300は、たとえば、パーソナルコンピュータ、ワークステーション、タブレット、スマートフォン等のコンピュータである。ユーザI/F300は、キーボード、マウス、タッチパネルディスプレイ等の入力デバイスであってもよい。ただし、ユーザI/F300は、これらの例に限定されない。
【0032】
入出力制御部130は、ユーザI/F300より学習装置100の設定、学習処理の実行、ポリシの書き出し等の操作指令を外部から受け取る。入出力制御部130は、ユーザI/F300より受け取った操作指令に従って、学習設定記憶部112、ポリシ記憶部114、エージェント設定記憶部122、及び、変換設定記憶部124等に操作指令を行う。
【0033】
学習設定記憶部112は、入出力制御部130から受け取った操作指令に従って、ポリシ更新部111におけるポリシ学習に関する設定を記憶する。ポリシ学習に関する設定は、たとえば、学習に関するハイパーパラメタ等である。ポリシ更新部111は、ポリシの更新処理に際して、学習設定記憶部112からポリシ学習に関する設定を読み取る。
【0034】
エージェント設定記憶部122は、入出力制御部130から受け取った操作指令に従って、エージェント計算部121における学習データ取得処理に関する設定を記憶する。学習データ記憶処理に関する設定は、たとえば、学習データ取得処理に関するハイパーパラメタ等である。エージェント計算部121は、学習データ取得処理に際して、エージェント設定記憶部122から学習データ取得処理に関する設定を読み取る。
【0035】
変換設定記憶部124は、入出力制御部130から受け取った操作指令に従って、変換部123における変換処理に関する設定を記憶する。変換処理に関する設定は、たとえば、変換処理に関するハイパーパラメタ等である。変換部123は、学習データ取得処理に際して、変換設定記憶部124から変換処理に関する設定を読み取る。
【0036】
学習装置100は、ユーザI/F300を介してユーザより入力された設定に従い、環境装置200と通信し、該通信を介して取得した学習データを用いて学習計算処理を実行する。この結果、学習装置100は、ポリシを生成する。学習装置100は、たとえば、パーソナルコンピュータ、ワークステーション等のコンピュータで実現される。
【0037】
ポリシは、パラメトライズされた近似能力の高いモデルある。ポリシは、学習計算によってモデルパラメタを算出可能である。ポリシは、たとえば、ニューラルネットワーク等の学習可能なモデルを用いて実現される。なお、ポリシは、これに限定されない。
【0038】
以下では、ポリシがニューラルネットを用いて実現されているとする。
【0039】
ポリシへの入力は、対象システムについて測定することが可能な観測である。たとえば、対象システムがアーム型ロボットである場合に、ポリシへの入力は、ロボットの各関節の角度、各関節の角速度、各関節のトルク、周囲環境認識用に取り付けたカメラのイメージデータ、LIDER(Laser Imaging Detection and Ranging )によって取得する点群データ等である。なお、ポリシへの入力は、これらの例に限定されない。
【0040】
ポリシからの出力は、環境に対する行動、すなわち、対象システムを制御することが可能な制御入力値等である。たとえば、対象システムがアーム型ロボットの場合に、ポリシからの出力は、ロボットの各関節の目標速度、各関節の目標角速度、各関節の入力トルク等である。なお、ポリシからの出力は、これらの例に限定されない。
【0041】
ポリシの学習は、強化学習アルゴリズムに従って実行される。強化学習アルゴリズムは、たとえば、方策勾配法である。より具体的に、強化学習アルゴリズムは、DDPG(Deep Deterministic Policy Gradient)、PPO(Proxy Policy Optimization )、または、SAC(Soft Actor Critic )等のアルゴリズムである。強化学習アルゴリズムは、これらの例に限定されず、対象システムの制御コントローラとなるポリシの学習が実行可能であるアルゴリズムであればよい。
【0042】
図2を参照しながら、強化学習における学習処理を説明する。図2は、強化学習の機能構成を示すブロック図である。
【0043】
エージェント401は、環境402から取得可能な観測oをポリシに入力し、入力した観測oに対する出力を算出する。言い換えると、エージェント401は、入力した観測oに関して行動aを算出する。エージェント401は、算出した行動aを環境402に入力する。
【0044】
環境402の状態は、入力した行動aに従って所定の時間ステップを経て、遷移する。環境402は、遷移後の状態に関する観測oと報酬rとをそれぞれ算出し、算出した観測oと報酬rとをエージェント401等の装置に出力する。
【0045】
報酬rは、環境402の状態に対する行動aの制御の良さ(または、好ましさ)を表す数値である。エージェント401は、ポリシに入力した観測o、環境402に入力した行動a、及び、環境402から出力された報酬rの組を学習データとして記憶する。言い換えると、エージェント401は、行動aを算出する基である観測oと、該行動aと、該行動aに対する報酬rとの組を学習データとして記憶する。エージェント401は、環境402から受け取った観測oを用いて、行動aを算出する処理等、上述した処理と同様の処理を実行する。
【0046】
学習データは、このような処理が繰り返し実行されることによって、蓄積される。学習装置100において、ポリシ更新部111(図1に図示)は、学習計算に必要な分だけ学習データを取得できたら、学習データを用いて方策勾配法などの強化学習アルゴリズムに従ってポリシを更新する。エージェント401は、ポリシ更新部111によって更新されたポリシに従って、学習データの取得を行う。
【0047】
強化学習においては、このような学習計算と、エージェント401(図1における学習データ取得部120に対応)の学習データ取得処理とが交互または並列に実行される。
【0048】
図3を参照しながら、第1の実施形態に係る学習装置100における処理について説明する。図3は第1の実施形態に係る学習装置100における処理を概念的に表す図である。
【0049】
学習装置100は、難易度のパラメタ(以降、「難易度パラメタ」と表す)を調整しつつ強化学習法に従い処理を実行する。
【0050】
本実施形態において、難易度は、強化学習法における報酬が得られる確率と関連する(または、相関する)数値、または、数値群である。難易度は、強化学習法における得られる報酬の期待値に関連する(または、相関する)数値、または、数値群であってもよい。難易度が低いほど、報酬が得られる確率が高い、または、得られる報酬の期待値が大きい。難易度が高いほど、報酬が得られる確率が低い、または、得られる報酬の期待値が小さい。また同時に、難易度が低いほど、所望の環境の条件と離れている。難易度が高いほど、所望の環境の条件に近い。難易度パラメタは、たとえば、エージェントが報酬を獲得する確率の低さ、または、エージェントが獲得する報酬の期待値の低さを表しているということもできる。難易度パラメタは、環境の状態遷移の仕方に関連するパラメタであるということもできる。
【0051】
エージェント501は、上述したような難易度に関して、1つの共通のポリシに従って、行動aと難易度dとを1回の処理(後述する「拡張行動」を算出する処理)によって算出するので、効率よく学習データの取得を行うことができる。この理由は、エージェント501が、得られる報酬が高くなるように、行動と難易度との組み合わせを決定するので、設定する難易度が高すぎることによって報酬が得られないことを防ぐことができるためである。また、学習データの取得中の間に固定の難易度を設定する方法と比較すると、エージェント501が行動を算出する度に難易度の調整を行うため、環境502の状態に応じてきめ細やかに適切な難易度を設定することができる。
【0052】
さらに、エージェント501は、上述したような難易度を学習進度に応じて調整するので、効率よく学習データを取得することができる。ここで、学習進度は、学習データ取得時点におけるポリシによってエージェント501が獲得すると期待される累積報酬と関連する数値、または、数値群を表す。該数値、または、数値群が大きい程、学習進度は、後期である。該数値、または、数値群が小さい程、学習進度は、初期である。たとえば、エージェント501が、学習進度が初期である程、難易度を低く設定し、学習進度が後期である程、難易度を高く設定することによって、効率の良い強化学習を実現することできる。すなわち、エージェント501は、学習進度に応じて難易度を調整することによって、効率の良い強化学習を実現することできる。学習進度は、エージェント501が報酬を獲得する確率に関連する(または、連動する、相関する)数値、または、数値群である。あるいは、学習進度は、エージェント501が獲得する報酬の期待値に関連する(または、連動する、相関する)数値、または、数値群である。
【0053】
図3図2とを参照しながら、難易度調整機能付き強化学習(図3参照)と、難易度調整機能なし強化学習(図2参照)との違いを説明する。その違いは、たとえば、エージェントと環境の間で送受信される行動、観測、報酬について、一連の計算処理によって変換が行われている点である。この変換処理は、エージェントがポリシを用いて適切な難易度を出力しつつ、学習が進むにつれて徐々に高い難易度を出力するようにポリシを学習するときに用いる学習データを取得するために行う。これは、難易度を環境に入力可能な数値へ変換、学習進度に相当するパラメタの算出、難易度と学習進度とに応じた報酬の調整等、を中心とした一連の計算処理である。以下、難易度調整機能付き強化学習における変換処理の詳細について説明を行う。
【0054】
エージェント501は、拡張行動a’を出力する。拡張行動a’は、たとえば、列ベクトルを用いて表されるとする。この場合に、拡張行動a’は、環境502に入力する制御のための行動aと環境502における制御の難易度dとを要素に持つ。行動a、及び、難易度dは、それぞれ列ベクトルを用いて表されるとする。この場合に、行動aの各要素は、環境502における各制御対象の制御入力に対応しているとする。難易度dの各要素は、環境502における制御の難易度を決める各要素の数値と対応しているとする。たとえば、対象システムがアーム型ロボットにおけるピックアンドプレースの場合に、行動aの各要素は、たとえば、ロボット各関節のトルク入力に対応している。そして、この場合に、難易度dは、たとえば、把持対象物体の摩擦係数や弾性係数等の把持の難易度と関係する各パラメタと対応している。難易度dと対応するパラメタは、たとえば、ユーザが指定する。
【0055】
変換f503は、難易度dを、環境パラメタρと変換後難易度δとに変換する。環境パラメタρは、環境502の状態遷移の仕方(遷移の仕方、transition characteristic )と関連するパラメタであり、式(1)を参照しながら後述するように、環境502の状態遷移の仕方について所望の状態遷移の仕方から所望から離れた状態遷移の過程までを制御可能なパラメタである。環境パラメタρは、列ベクトルを用いて表されるとする。この場合に、環境パラメタρの各要素は、難易度dの各要素とそれぞれ対応するとする。環境パラメタρは、環境502に入力されて、その特性が変更される。特性は、環境502の入力される行動aに対する状態遷移の過程である。環境パラメタρの各要素は、環境502に特性を決める各パラメタとそれぞれ対応するとする。たとえば、対象システムがアーム型ロボットにおけるピックアンドプレースの場合に、把持対象物体の摩擦係数や弾性係数等のユーザが指定したパラメタについての環境502の特性を、その数値を持つ環境パラメタρを環境502に入力することによって、変更する。
【0056】
変換f503による難易度dから環境パラメタρへ変換する例として具体的には、式(1)とすることができる。また、式(1)の例に限らず、非線形の変換としてもよい。たとえば、式(1)におけるdを(d・d)に置き換えてもよい。
【0057】
ρ=(I-d)・ρstart+d・ρtarget (1)
【0058】
ここで、記号「・」はアダマール積であり、列ベクトルの要素毎の積を表す。難易度dの各要素は、0以上1以下の値をとり、値が大きいほど対応する環境パラメタρの数値が環境502における制御の難易度が高くなることを表す。Iは、難易度dと次元が同じ各要素が1である列ベクトルである。ρstartとρtargetとは、それぞれ難易度dと次元が同じである列ベクトルである。ρstartとρtargetとは、それぞれの各要素の数値、および、対応する環境502の特性を制御可能なパラメタは、たとえば、ユーザによって設定される。ρstartは、難易度dで指定可能な最も難易度が低い場合(たとえば、dが、零ベクトルの場合)の環境502における環境パラメタである。同様に、ρtargetは、難易度dで指定可能な最も難易度が高い場合(たとえば、dが、Iの場合)の環境502における環境パラメタである。通常、ρtargetは、最終的に制御コントローラとしてポリシを使用する際の環境パラメタとできるだけ近くなるか一致するようにユーザによって設定される。
【0059】
変換後難易度δは、変換f504に入力される列ベクトルまたはスカラ値であり、変換f503によって難易度を表す特徴量に変換される。以下の説明を簡単にするために変換後難易度δをスカラ値に変換する例を説明する。この場合、変換f503による難易度dから変換後難易度δへの変換する例として、具体的には、式(2)を使用することができる。
【0060】
δ=||d||/dim(d) (2)
【0061】
ここで、||x||は、列ベクトルxのL1ノルムを表す。dim(x)は、列ベクトルxの次元を表す。記号「/」は、除算を表す。つまり、変換後難易度δは、難易度dの各要素の絶対値平均を表す。変換後難易度δを算出する処理は、たとえば、ベクトル等の複数の数値から、該複数の数値の特徴を表す1つの数値を算出する処理であればよく、式(2)に限定されない。変換後難易度δを算出する処理は、たとえば、式(1)のL1ノルムをL2ノルム等に置き換えたり、他の非線形変換を用いて実現されてもよい。他にも、dよりも次元の低いベクトルに変換して実現されてもよい。
【0062】
環境502は、行動aと環境パラメタρとが入力されて処理ステップが進みその状態が遷移すると、観測oと報酬とを出力する。ここでは、報酬を調整前報酬rと仮定して説明する。調整前報酬rは、難易度調整機能なし強化学習における報酬を表している。観測oは、列ベクトルによって表されるとする。この場合に、観測oの各要素は環境502の状態のうち観測可能なパラメタの数値を表す。
【0063】
変換f504は、調整前報酬rを、難易度と学習進度とに応じて調整前報酬rを割り引く、または、割り増すようにして調整後報酬r’を算出する。調整後報酬r’は、難易度調整機能付き強化学習における報酬を表している。変換f504は、学習進度が低いときに難易度が低いほど、割り引きを少なくするか割り増しを多くするように、調整後報酬r’を算出する。変換f504は、学習進度が高いときに難易度が高いほど、割り引きを少なくするか割り増しを多くするように、調整後報酬r’を算出する。具体的には、変換f504は、調整前報酬r、変換後難易度δ、累積調整前報酬Rの移動平均μを入力に、調整後報酬r’を算出する。ここでは、累積調整前報酬Rの移動平均μが学習進度に相当する。変換f504の例として具体的には、式(3)とすることができる。
【0064】
r’=r×f(δ,μ) (3)
【0065】
ここで、関数fは、難易度と学習進度とに応じて調整前報酬rを割り引く割合を出力する関数である。関数fは、ポリシの学習計算を効率良くするために微分可能であることが望ましい。図6に、関数fの一例として等高線の一部を記したグラフを示す。図6は、関数fの一例を、等高線を用いて示したグラフを表す図である。関数fは、ユーザが設定によって任意の形状のものを使用することができる。たとえば、学習進度が低い領域について難易度に依らず割り引きをゼロにするという設定が可能である。学習進度が高い領域について難易度が低いほど割引の割合をより大きくするという設定も可能である。あるいは、割引の割合がゼロである領域を学習進度が低い位置に平行移動するという設定も可能である。図6において、横軸は、累積調整前報酬Rの移動平均μ(学習進度)を表し、右側である程該平均が高く、左側である程該平均が低いことを表す。縦軸は、変換後難易度δを表し、上側である程難易度が高く、下側である程難易度が低いことを表す。図6における数値は、f(δ,μ)の値を表す。f(δ,μ)が1に近いほど割り引きが少ない(または、割り増しが多い)。f(δ,μ)が0に近いほど割り引きが多い(または、割り増しが少ない)。また、変換f504は式(3)の例に限定されず、たとえば、f(r,δ,μ)の形式で表される関数としてもよい。
【0066】
累積計算f505は、調整前報酬rを入力して累積調整前報酬Rを算出する。累積調整前報酬Rは、難易度調整機能なし強化学習における累責報酬を表している。累積計算f505は、エピソード毎に累積調整前報酬Rを算出する。エピソード開始時において、累積調整前報酬Rの初期値は、たとえば、0に設定される。累積計算f505は、調整前報酬rを入力する度に累積調整前報酬Rに調整前報酬rを加算することで算出する。すなわち、累積計算f505は、エピソード毎に、調整前報酬rの合計値(累積調整前報酬R)を算出する。
【0067】
エピソードは、エージェント501が試行錯誤しながら学習データを取得する1つの過程を表す。エピソードは、たとえば、エージェント501が学習データの取得を開始する環境502の初期状態から所定の終了条件を満たすまでの過程を表す。エピソードは、所定の終了条件を満たしたときに終了する。エピソードが終了すると、環境502が初期状態にリセットされて、新しいエピソードが開始する。
【0068】
所定の終了条件は、たとえば、エージェント501がエピソード開始からのステップ数が予め設定した閾値を超えるという条件であってもよい。また、所定の終了条件は、エージェント501の行動aによって環境502の状態が予め設定した制約条件を違反する等の条件であってもよい。所定の終了条件は、これらの例に限定されない。所定の終了条件は、上述したような条件が複数組み合わされている条件であってもよい。制約条件の例としては、アーム型ロボットが予め設定した禁止領域に侵入したときなどが挙げられる。
【0069】
報酬履歴バッファ506は、エピソード毎に算出される複数の累積調整前報酬Rを記憶する。これらを用いて学習進度に相当する特徴量を算出する報酬履歴バッファ506には、演算機能が組み込まれているとする。特徴量として、たとえば、累積調整前報酬Rの移動平均μと移動標準偏差σとが挙げられる。なお、学習進度に相当する特徴量は、これらの例に限定されない。報酬履歴バッファ506は、記憶している複数の累積調整前報酬Rの中からユーザが予め設定したウィンドウサイズの数(すなわち、所定のステップ数分)だけ最新のものをサンプルして、移動平均μと移動標準偏差σを算出する。
【0070】
変換f507は、観測oと、難易度dと、累積調整前報酬Rの移動平均μと移動標準偏差σとを、列方向で結合した列ベクトルである拡張観測o’を出力する処理を表す。よって、拡張観測o’は、難易度調整機能なし強化学習における観測o、難易度調整機能付き強化学習における難易度d、難易度調整機能なし強化学習における累積調整前報酬Rにおける移動平均、及び、その移動標準偏差σを含む。すなわち、拡張観測o’は、ポリシが適切な難易度dを出力できるように、難易度調整機能なし強化学習の観測oに難易度と学習進度を追加拡張したものである。拡張観測o’をポリシに入力することで、学習によってポリシは、ポリシの現時点の学習進度として獲得する報酬とのバランスを考慮した難易度dを出力できるようになる。ただし、学習進度を明示的に考慮することなくポリシの出力を決定するものとしてもよく、この場合、拡張観測o’に学習進度を含める必要はない。
【0071】
以上が、難易度調整機能付き強化学習における変換処理の一連の計算である。エージェント501は、変換処理によって得られる拡張行動a’、拡張観測o’、調整後報酬r’の組を学習データとして学習部110に送信する。そして、この学習データを用いて学習部110はポリシを更新する。これに対して、難易度調整機能なし強化学習において、ポリシは、行動a、観測o、及び、報酬rの組を表す学習データを用いて更新される。
【0072】
学習部110は、図4に示す手順で計算を実行する。図4は、学習部110が、学習データ取得部120が取得した学習データを用いてポリシを更新する手順の例を示すフローチャートである。
【0073】
ポリシ更新部111は、学習データ記憶部113に格納されたエージェント501が行動して取得した学習データ群を読み取る(ステップS101)。
【0074】
ポリシ更新部111は、読み取った学習データ群を用いてポリシを更新する(ステップS102)。更新は、先に挙げたDDPG、PPO、SACなどのアルゴリズムを用いて計算処理を行う。更新するためのアルゴリズムは、これらの例に限定されない。
【0075】
ポリシ更新部111は、学習の終了条件を判定する(ステップS103)。学習の終了条件として、ユーザが予め設定した閾値をポリシ更新回数が超えた場合に終了とする条件が一例として挙げられる。
【0076】
ポリシ更新部111は、終了でないと判定した場合(ステップS103:No)、処理がステップS101に戻る。ポリシ更新部111は、終了と判定した場合(ステップS103:Yes)、学習処理を終了させるために更新したポリシ、報酬履歴バッファ506から出力される累積調整前報酬Rの移動平均μと移動標準偏差σとの組をポリシ記憶部114に送信して格納する(ステップS104)。
【0077】
ステップS104の処理が実行された後、学習装置100は、図4の処理を終了する。
【0078】
学習データ取得部120は、図5に示す手順で計算を実行する。図5は、学習データ取得部120が、環境装置200及び環境部210と連携して、学習部110がポリシ計算に用いる学習データを取得する手順の例を示すフローチャートである。ただし、図5に示す手順は、一例である。図5に示すフローには、並行して処理を行うことができるステップ及び実行順序を入れ替えて処理を行うことができるステップがあるため、学習データ取得部120の計算の手順は、図5に示す手順に限定されない。
【0079】
変換部123は、累積調整前報酬Rを0に初期化する。エージェント計算部121は、環境部210を初期状態にリセットして、エピソードを開始する(ステップS201)。
【0080】
変換部123は、拡張観測o’の初期値を算出してエージェント計算部121に送信する(ステップS202)。拡張観測o’の初期値の算出方法の一例として、環境部210から観測oと予め定めた難易度d、累積調整前報酬Rの移動平均μ及び移動標準偏差σとを用いて結合fに示された処理に従い算出する方法が挙げられる。
【0081】
エージェント計算部121は、ポリシに拡張観測o’を入力して拡張行動a’を算出する(ステップS203)。ポリシに入力する拡張観測o’として、ステップS203の直前のステップ(ステップS202またはステップS211)に取得したものを用いる。
【0082】
変換部123は、ステップS204で算出した拡張行動a’を、行動aと難易度dとに分解する(ステップS204)。
【0083】
変換部123は、変換fに難易度dを入力して環境パラメタρと変換後難易度δとを算出する(ステップS205)。
【0084】
変換部123は、環境部210に行動aと環境パラメタρとを入力し、環境部210の時間ステップを、次の時間ステップに進める(ステップS206)。
【0085】
変換部123は、環境部210から出力される観測oと調整前報酬rとを取得する(ステップS207)。
【0086】
変換部123において、累積計算f505は、調整前報酬rを累積調整前報酬Rに加算する(ステップS208)。変換部123において、変換f507は、報酬履歴バッファ506から、累積調整前報酬Rの移動平均μと移動標準偏差σとを取得する(ステップS209)。
【0087】
変換部123において、変換f504は、調整前報酬r、変換後難易度δと累積調整前報酬Rの移動平均μとを入力して調整後報酬r’を算出する(ステップS210)。
【0088】
変換部123において、変換f507は、観測o、難易度d、累積調整前報酬の移動平均μ、及び、累積調整前報酬の移動標準偏差σを結合して拡張観測o’とする(ステップS211)。
【0089】
エージェント計算部121は、拡張行動a’と、拡張観測o’と、調整後報酬r’との組を学習データとして学習データ記憶部113に送信して格納する(ステップS212)。
【0090】
エージェント計算部121は、エピソードの終了条件を用いてエピソードが終了したか否かの判定を行う(ステップS213)。エージェント計算部121が、エピソードが終了していないと判定した場合(ステップS213:No)、処理がステップS203に戻る。エージェント計算部121が、エピソードが終了したと判定した場合(ステップS213:Yes)、変換部123は、報酬履歴バッファ506に累積調整前報酬Rを格納し、報酬履歴バッファ506に格納された複数の累積調整前報酬Rを用いて累積調整前報酬Rの移動平均μと移動標準偏差σとを算出して更新する(ステップS214)。ステップS214が完了すると、エピソードが終了し、処理がステップS201に戻る。
【0091】
図5に示す学習データ取得部120の一連の処理は、図4に示す学習部110の一連の処理が完了すると、中断されて終了する。
【0092】
以上に説明したように、本実施形態の学習装置は対象システムの制御内容を決定するポリシを学習する学習装置であって、ポリシに従って、対象システムに関する観測情報と、対象システムの状態遷移の仕方と制御内容についての評価の高くなり易さとに対応付く難易度とを用いて、対象システムに対して施す制御と、対象システムに対して設定する難易度とを決定する決定手段と、決定された制御と決定された難易度とに従って対象システムが遷移する前後の状態と決定された制御とについての元評価を複数用いてポリシの学習進度を算出する学習進度算出手段と、元評価と、決定された難易度と、算出された学習進度とを用いて、改評価を算出する算出手段と、観測情報と、決定された制御と、決定された難易度と、改評価とを用いて、ポリシを更新するポリシ更新手段とを含む。その結果、本実施形態の学習装置は、効率的な学習が可能である。
【0093】
本発明の第2の実施形態の学習装置100を含む制御システムの一例を説明する。この例において、制御システムは、対象システムの一例である。
【0094】
該制御システムの構成は、学習システム1と同様の構成である。しかし、環境装置200が、ポリシ記憶部114、及び、学習データ取得部120を有する構成としてもよい。
【0095】
ここで、環境装置200は、制御システムである。また、ポリシ記憶部114は、学習システム1にて学習したポリシ、累積調整前報酬Rの移動平均μ、及び、累積調整前報酬Rの移動標準偏差σを記憶している。エージェント計算部121は、ポリシ記憶部114が記憶しているポリシに従い、ポリシ記憶部114が記憶している累積調整前報酬Rの移動平均μと移動標準偏差σとを入力に用いて、推論計算の処理を行う。
【0096】
エージェント計算部121と変換部123とは、一連の計算処理を行い、環境部210に、行動aと環境パラメタρを入力する。環境部210は、入力された行動aと環境パラメタρとに従って状態を遷移させ、たとえば、遷移後の状態についての観測oを出力する。変換部123は、観測oを拡張観測o’に変換する。算出された拡張観測o’を入力して、上述した一連の処理をエージェント計算部121、変換部123、環境部210が行う。この一連の処理が、制御システムについての所望制御である。すなわち、エージェント計算部121と変換部123とは、ポリシ記憶部114が記憶しているポリシに従って制御システムの動作を決定し、決定した動作をするよう制御システムを制御する。この結果、制御システムは、所望の動作を実施する。
【0097】
ここで、環境部210に入力する環境パラメタρがρtargetとなるように、エージェント計算部121の拡張行動a’から得られる難易度dをIに置き換えて、変換fに入力するものとしてもよい。
【0098】
環境部210に入力する環境パラメタのうち、環境パラメタρによって変更できないものについては、環境パラメタρによる環境パラメタの設定を無視してもよい。環境パラメタρを用いた設定を無視してよいパラメタは、たとえば、物体の摩擦係数、弾性係数等のシミュレーション、または、エミュレーションにおいては数値の変更が容易だが、実システムでは数値の変更ができないパラメタである。
【0099】
変換f507は、報酬履歴バッファ506から出力される累積調整前報酬Rの移動平均μと移動標準偏差σとの代わりに、ポリシ記憶部114が記憶する累積調整前報酬Rの移動平均μと移動標準偏差σとを入力とする。従って、変換部123は、報酬履歴バッファ506の計算処理を行わなくてもよい。
【0100】
変換部123は、変換f504、累積f505、それぞれの計算処理を行わなくてもよい。これは、エージェント計算部121は、学習データを学習データ記憶部113に送信して記憶させる処理を必要としないためである。
【0101】
以上が、該制御システムにおける学習装置100の計算処理である。上記の通り、第2の実施形態に係る学習装置100は、制御システムの一部として、学習したポリシを制御コントローラとして機能させることができる。該制御システムは、たとえば、アーム型ロボットのピックアンドプレース制御システム、ヒューマノイドロボットの歩行制御システム、飛行型ロボットの飛行姿勢制御システム等がある。該制御システムは、これらの例に限定されない。
【0102】
学習装置100の構成は、コンピュータを用いた構成に限定されない。たとえば、学習装置100が、ASIC(Application Specific Integrated Circuit )を用いて構成されるなど、専用のハードウェアを用いて構成されていてもよい。
【0103】
本発明は、任意の処理を、CPU(Central Processing Unit )にコンピュータプログラムを実行させることにより実現することも可能である。CPUだけなく、GPU(Graphic Processing Unit )などの補助演算装置と併せてプログラムを実行させて実現させることも可能である。この場合、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium )を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium )を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(たとえばフレキシブルディスク、磁気テープ、ハードディスク)、光磁気記録媒体(たとえば光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、DVD(Digital Versatile Disc)、BD(Blu-ray(登録商標) Disc)、半導体メモリ(たとえば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM )、フラッシュROM、RAM(Random Access Memory)を含む。
【0104】
図7は、学習装置の主要部を示すブロック図である。学習装置800は、ポリシに従って、対象システムに関する観測情報(例えば、観測o)と、対象システムの状態遷移の仕方と制御についての評価の高くなり易さとに対応付く難易度とを用いて、対象システムに対して施す制御(例えば、行動a)と、対象システムに対して設定する難易度(例えば、難易度δ)とを決定する決定部(決定手段)801(実施形態では、エージェント計算部121で実現される。)と、決定された制御と決定された難易度(例えば、難易度δ)とに従って対象システムが遷移する前後の状態と決定された制御とについての元評価(例えば、調整前報酬r)を複数用いてポリシの学習進度(例えば、累積調整前報酬Rの移動平均μ)を算出する学習進度算出部(学習進度算出手段)802(実施形態では、変換部123、特に、累積計算f505と報酬履歴バッファ506とで実現される。)と、元評価と、決定された難易度と、算出された学習進度とを用いて、改評価(例えば、調整後報酬r’)を算出する算出部(算出手段)803(実施形態では、変換部123、特に、変換f504で実現される。)と、観測情報と、決定された制御と、決定された難易度と、改評価とを用いて、ポリシを更新するポリシ更新部(ポリシ更新手段)804(実施形態では、ポリシ更新部111で実現される。)とを備える。
【0105】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【0106】
100 学習装置
110 学習部
111 ポリシ更新部
112 学習設定記憶部
113 学習データ記憶部
114 ポリシ記憶部
120 学習データ取得部
121 エージェント計算部
122 エージェント設定記憶部
123 変換部
124 変換設定記憶部
130 入出力制御部
200 環境装置
210 環境部
300 ユーザI/F
401 エージェント
402 環境
501 エージェント
502 環境
503 変換f
504 変換計算部f
505 累積計算部f
506 報酬履歴バッファ
507 結合計算部f
601 調整関数
800 学習装置
801 決定部
802 学習進度算出部
803 算出部
804 ポリシ更新部
図1
図2
図3
図4
図5
図6
図7