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

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

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

特許7529145学習装置、学習方法および学習プログラム
<>
  • 特許-学習装置、学習方法および学習プログラム 図1
  • 特許-学習装置、学習方法および学習プログラム 図2
  • 特許-学習装置、学習方法および学習プログラム 図3
  • 特許-学習装置、学習方法および学習プログラム 図4
  • 特許-学習装置、学習方法および学習プログラム 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-29
(45)【発行日】2024-08-06
(54)【発明の名称】学習装置、学習方法および学習プログラム
(51)【国際特許分類】
   G06N 20/00 20190101AFI20240730BHJP
【FI】
G06N20/00
【請求項の数】 10
(21)【出願番号】P 2023516888
(86)(22)【出願日】2021-04-27
(86)【国際出願番号】 JP2021016728
(87)【国際公開番号】W WO2022230038
(87)【国際公開日】2022-11-03
【審査請求日】2023-10-05
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100103090
【弁理士】
【氏名又は名称】岩壁 冬樹
(74)【代理人】
【識別番号】100124501
【弁理士】
【氏名又は名称】塩川 誠人
(72)【発明者】
【氏名】窪田 大
(72)【発明者】
【氏名】江藤 力
【審査官】千葉 久博
(56)【参考文献】
【文献】今井拓司,専門家の意図が分かる模倣学習を逆強化学習でNECが単発の意思決定問題から実用へ,NIKKEI Robotics,日本,日経BP,2019年09月10日,第51号,p.22-26
【文献】中口悠輝, 外2名,最大エントロピー原理に基づく逆強化ダイナミクス学習フレームワークの構築,2019年度人工知能学会全国大会(第33回),2019年06月07日,p.1-4
【文献】増山 岳人,梅田 和昇,逆強化学習による学習者の選好を考慮した報酬関数の推定,第32回日本ロボット学会学術講演会,2014年
【文献】SCOBEE R.R. Dexter et al.,Maximum Likelihood Constraint Inference for Inverse Reinforcement Learning,arXiv [online],2020年,pp.1-12,[検索日 2021.07.12], インターネット: <URL: https://arxiv.org/abs/1909.05477v2>
【文献】CHOU Glen et al., Learning Constraints from Demonstrations,arXiv [online],2019年,pp.1-25,[検索日 2021.07.12], インターネット: <URL: https://arxiv.org/abs/1812.07084v2>
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
対象者の意思決定履歴を示す軌跡データの入力を受け付ける入力手段と、
記軌跡データを用いた逆強化学習を実行する学習手段と、
前記逆強化学習によって導出された報酬関数および制約条件を出力する出力手段とを備え、
前記学習手段は、前記制約条件の分布を示す微分可能関数を用いて算出された前記軌跡データの分布に基づいて、前記逆強化学習を実行する
ことを特徴とする学習装置。
【請求項2】
入力手段は、最大エントロピー原理で導かれる軌跡データの分布を報酬関数および制約条件に基づいて仮定した確率モデルの入力を受け付け、
学習手段は、前記確率モデルと軌跡データとに基づいて、対数尤度の勾配を計算し、当該対数尤度を最大にするように報酬関数および制約条件を更新し、
前記確率モデルは、第一のパラメータを用いて表された前記報酬関数に基づく分布を示す第一の関数と、第二のパラメータを用いて表された前記制約条件に基づく分布を示す第二の関数との積で定義され、
前記学習手段は、前記対数尤度を最大にするように前記第一のパラメータおよび前記第二のパラメータを更新する
請求項1記載の学習装置。
【請求項3】
第一のパラメータおよび第二のパラメータが収束したか否か判定する判定手段を備え、
学習手段は、収束したと判定されなかった場合に、更新後の第一のパラメータおよび第二のパラメータで定義される確率モデルと軌跡データとに基づいて、対数尤度の勾配を計算し、前記対数尤度を最大にするように第一のパラメータおよび第二のパラメータを更新する
請求項2記載の学習装置。
【請求項4】
第二の関数は、各制約条件を満たすほど1に近づき、当該各制約条件を満たさないほど0に近づくような、第二のパラメータで微分可能な連続関数として定義される
請求項1から請求項3のうちのいずれか1項に記載の学習装置。
【請求項5】
確率モデルは、報酬関数の値が大きいほど大きい確率値をとり、かつ、制約条件を満たすほど大きい確率値をとる関数として定義される
請求項1から請求項4のうちのいずれか1項に記載の学習装置。
【請求項6】
第二の関数は、各制約条件を満たす場合に非負の値を示す制約条件を引数とするシグモイド関数の総乗で定義される
請求項1から請求項5のうちのいずれか1項に記載の学習装置。
【請求項7】
対象者の意思決定履歴を示す軌跡データの入力を受け付け、
前記軌跡データを用いた逆強化学習を実行し、
前記逆強化学習によって導出された報酬関数および制約条件を出力し、
前記逆強化学習において、前記制約条件の分布を示す微分可能関数を用いて算出された前記軌跡データの分布に基づいて、前記逆強化学習を実行する
ことを特徴とする学習方法。
【請求項8】
最大エントロピー原理で導かれる軌跡データの分布を報酬関数および制約条件に基づいて仮定した確率モデルの入力を受け付け、
前記確率モデルが、第一のパラメータを用いて表された前記報酬関数に基づく分布を示す第一の関数と、第二のパラメータを用いて表された前記制約条件に基づく分布を示す第二の関数との積で定義され、
前記確率モデルと軌跡データとに基づいて、対数尤度の勾配を計算し、
前記対数尤度を最大にするように前記第一のパラメータおよび前記第二のパラメータを更新する
請求項7記載の学習方法。
【請求項9】
コンピュータに、
対象者の意思決定履歴を示す軌跡データの入力を受け付ける入力処理、
前記軌跡データを用いた逆強化学習を実行する学習処理、および、
前記逆強化学習によって導出された報酬関数および制約条件を出力する出力処理とを実行させ、
前記学習処理で、前記制約条件の分布を示す微分可能関数を用いて算出された前記軌跡データの分布に基づいて、前記逆強化学習を実行させる
ための学習プログラム。
【請求項10】
コンピュータに、
入力処理で、最大エントロピー原理で導かれる軌跡データの分布を報酬関数および制約条件に基づいて仮定した確率モデルの入力を受け付けさせ、
学習処理で、前記確率モデルと軌跡データとに基づいて、対数尤度の勾配を計算させ、当該対数尤度を最大にするように報酬関数および制約条件を更新させ、
前記確率モデルは、第一のパラメータを用いて表された前記報酬関数に基づく分布を示す第一の関数と、第二のパラメータを用いて表された前記制約条件に基づく分布を示す第二の関数との積で定義され、
前記学習処理で、前記対数尤度を最大にするように前記第一のパラメータおよび前記第二のパラメータを更新させる
請求項9記載の学習プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、逆強化学習を行う学習装置、学習方法および学習プログラムに関する。
【背景技術】
【0002】
様々な分野において、熟練技術者の後継者不足が問題視されている。また、人的コストを削減すべく、ロボットや自動車などの運転自動化も推し進められている。このような状況下において、熟練者の動作を再現したり、ロボットを自動化したりするモデルが用いられることも多い。しかし、モデルに用いられる目的関数や、行為を禁止するような制約条件の設定は、人手では困難であるため、熟練技術の途絶や自動化を普及させる際のコスト増が問題になる。
【0003】
機械学習の手法の一つに強化学習(RL:Reinforcement Learning)が知られている。強化学習は、様々な行動を試行錯誤しながら価値を最大化するような行動を学習する手法である。強化学習では、この価値を評価するための報酬関数が設定され、この報酬関数を最大にするような行動が探索される。ただし、報酬関数の設定は、一般には困難である。
【0004】
この報酬関数の設定を容易にする方法として、逆強化学習(IRL:Inverse Reinforcement Learning)が知られている。逆強化学習では、熟練者の意思決定履歴データを利用して、目的関数(報酬関数)を用いた最適化と、目的関数(報酬関数)のパラメータの更新とを繰り返すことで、熟練者の意図を反映する目的関数(報酬関数)を生成する。
【0005】
非特許文献1には、逆強化学習の一つである最大エントロピー逆強化学習(ME-IRL:Maximum Entropy-IRL )について記載されている。ME-IRLでは、最大エントロピー原理を用いて軌跡の分布を指定し、真の分布へ近づけること(すなわち、最尤推定)により報酬関数を学習する。これにより、熟練者の軌跡(行動履歴)を再現する目的関数(報酬関数)が複数存在するという不定性を解決している。
【0006】
また、非特許文献2には、最大エントロピー逆強化学習の手法に基づいて、制約条件を学習する方法が記載されている。非特許文献2に記載された方法では、目的関数が既知である前提で、制約条件を示すパラメータを学習する。
【0007】
また、非特許文献3にも、制約条件を学習する方法が記載されている。非特許文献3に記載された方法では、ラグランジュの未定乗数を使用して人間の行動を示すデータから制約条件を学習する。
【先行技術文献】
【非特許文献】
【0008】
【文献】B. D. Ziebart, A. Maas, J. A. Bagnell, and A. K. Dey, “Maximum entropy inverse reinforcement learning”, In AAAI, AAAI’08, 2008.
【文献】Scobee, Dexter RR, and S. Shankar Sastry, "Maximum Likelihood Constraint Inference for Inverse Reinforcement Learning", International Conference on Learning Representations, 2019.
【文献】Chou, Glen, Dmitry Berenson, and Necmiye Ozay, "Learning constraints from demonstrations", International Workshop on the Algorithmic Foundations of Robotics. Springer, Cham, 2018.
【発明の概要】
【発明が解決しようとする課題】
【0009】
最適化の対象である目的関数を設定する際、禁止する行為やルールなどの制約条件を暗黙のうちに設定して、業務が行われる場合がある。このような場合、上述する逆強化学習などでは、データから目的関数(報酬関数)だけを学習することで熟練者の意思決定を再現する。しかし、制約条件を同時に満たしながら報酬関数を最適化するような意思決定が行われている場合、その制約条件を予め把握したうえで報酬関数を設定しなければ、手法自体が適用できないという問題がある。
【0010】
例えば、非特許文献1に記載されたME-IRLでは、熟練者などの人間の行動を示すデータ(以下、デモンストレーションデータと記すこともある。)から、マルコフ決定過程における目的関数(報酬関数)を推定できるが、熟練者の行動に関する制約条件は予め与えられていなければならないという問題がある。
【0011】
また、非特許文献2に記載された方法により、熟練者のデモンストレーションデータから制約条件を学習することは可能であるが、目的関数(報酬関数)が既知のものとして予め与えられなければならないという問題がある。さらに、非特許文献2に記載された方法では、パラメータが変更されない複数の制約条件の候補を予め用意しておく必要があり、この制約条件の候補が想定と外れていると、うまく学習できないという問題もある。
【0012】
一方、非特許文献3に記載された学習方法を用いることで、熟練者のデモンストレーションデータから目的関数(報酬関数)と制約条件とを推定することが可能である。しかし、非特許文献3に記載された学習方法では、全てのデモンストレーションデータが数理最適解であると仮定して学習を行う。そのため、人間の行動と、その行動を行う元になった状態を示す情報(以下、状態情報と記すこともある。)とを含んだ意思決定履歴を示す軌跡データにノイズが含まれていたり、非定常性および失敗データが存在したりする場合などには、目的関数および制約条件を正しく推定することが困難であり、データのばらつきによっては解無しという結果になってしまうこともある。
【0013】
そこで、本発明は、人間の意思決定履歴を示す軌跡データを用いて逆強化学習を行う場合に、適切な報酬関数および制約条件を同時に学習することができる学習装置、学習方法および学習プログラムを提供することを目的とする。
【課題を解決するための手段】
【0014】
本発明による学習装置は、対象者の意思決定履歴を示す軌跡データの入力を受け付ける入力手段と、軌跡データを用いた逆強化学習を実行する学習手段と、逆強化学習によって導出された報酬関数および制約条件を出力する出力手段とを備え、学習手段が、制約条件の分布を示す微分可能関数を用いて算出された軌跡データの分布に基づいて、逆強化学習を実行することを特徴とする。
【0015】
本発明による学習方法は、対象者の意思決定履歴を示す軌跡データの入力を受け付け、軌跡データを用いた逆強化学習を実行し、逆強化学習によって導出された報酬関数および制約条件を出力し、逆強化学習において、制約条件の分布を示す微分可能関数を用いて算出された軌跡データの分布に基づいて、逆強化学習を実行することを特徴とする。
【0016】
本発明による学習プログラムは、コンピュータに、対象者の意思決定履歴を示す軌跡データの入力を受け付ける入力処理、軌跡データを用いた逆強化学習を実行する学習処理、および、逆強化学習によって導出された報酬関数および制約条件を出力する出力処理とを実行させ、学習処理で、制約条件の分布を示す微分可能関数を用いて算出された軌跡データの分布に基づいて、逆強化学習を実行させることを特徴とする。
【発明の効果】
【0017】
本発明によれば、人間の意思決定履歴を示す軌跡データを用いて逆強化学習を行う場合に、適切な報酬関数および制約条件を同時に学習することができる。
【図面の簡単な説明】
【0018】
図1】本発明による学習装置の一実施形態の構成例を示すブロック図である。
図2】学習装置の動作例を示すフローチャートである。
図3】ロボット制御システムの一実施形態の構成例を示すブロック図である。
図4】本実施形態による学習装置の概要を示すブロック図である。
図5】少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
【発明を実施するための形態】
【0019】
以下、本発明の実施形態を図面を参照して説明する。
【0020】
図1は、本発明による学習装置の一実施形態の構成例を示すブロック図である。本実施形態の学習装置100は、機械学習により、対象者(熟練者)の行動と、その行動を行う元になった状態を示す情報(すなわち、状態情報)とを含んだ意思決定履歴を示す軌跡データから報酬関数を推定する逆強化学習を行う装置であり、対象者(熟練者)の行動特性に基づく情報処理を具体的に行う装置である。なお、以下の説明では、意思決定履歴を示す軌跡データのことを、単に軌跡データまたはデモンストレーションデータと記すこともある。学習装置100は、記憶部10と、入力部20と、学習部70と、出力部60とを備えている。
【0021】
記憶部10は、学習装置100が各種処理を行うために必要な情報を記憶する。記憶部10は、後述する入力部20が受け付けた対象者の意思決定履歴の軌跡データを記憶してもよい。また、記憶部10は、後述する学習部70が用いる確率モデルを記憶していてもよい。記憶部10は、例えば、磁気ディスク等により実現される。
【0022】
入力部20は、学習装置100が各種処理を行うために必要な情報の入力を受け付ける。具体的には、入力部20は、軌跡データと、その軌跡データの分布を仮定した確率モデルとの入力を受け付ける。
【0023】
ここで、軌跡データ(デモンストレーションデータ)について、さらに説明する。逆強化学習は、軌跡データを用いて行われる。軌跡データは、上述の通り、対象者(熟練者)の行動と、その行動を行う元になった状態情報とを含んだ意思決定履歴を示す。様々なデータを軌跡データとして利用することが可能である。例えば、軌跡データは、対象環境において過去に行われた行動の履歴(どの状態においてどの行動が行われたかの履歴)を含む。この行動は、対象環境の扱いを熟知している熟練者によって行われたものであることが好適である。しかし、この行動は、必ずしも熟練者によって行われたものに限定されない。
【0024】
その他にも、例えば、軌跡データは、対象とする環境(以下、対象環境と記す。)以外の環境において過去に行われた行動の履歴を表わしてもよい。この環境は、対象環境に類似する環境であることが好適である。例えば、対象環境が発電装置などの設備であり、行動が設備の制御であるとする。この場合、新たに設置される設備について方策関数および報酬関数の学習を行うために、その設備と類似している稼働済みの設備で行われた行動の履歴を利用することが考えられる。
【0025】
また、軌跡データは、ある状態において実際に行われた行動の履歴以外であってもよい。例えば、軌跡データが人手で生成されてもよい。その他にも、例えば、軌跡データは、ランダムに生成されたデータであってもよい。すなわち、対象環境における各状態に、取り得る行動の中からランダムに選択された行動を対応づけることで、軌跡データが生成されてもよい。
【0026】
以下、本実施形態の学習装置100が用いる確率モデルの内容を詳述する。本実施形態の学習装置100は、データのばらつきがあっても、デモンストレーションデータから適切に報酬関数(目的関数)を推定可能な最大エントロピー逆強化学習で用いられる、最大エントロピー原理を採用する。
【0027】
そして、報酬関数と制約条件とを同時に学習することができるように、報酬関数のパラメータおよび制約条件のパラメータの両方が含まれるようなデータ分布を示す確率モデルが定義される。そこで、本実施形態では、入力部20は、最大エントロピー原理で導かれるデモンストレーションデータの分布を、報酬関数および制約条件に基づいて仮定した確率モデルの入力を受け付ける。最大エントロピー原理を用いることで、人間データなどに伴うデータにばらつきが存在しても、適切に学習することが可能になる。
【0028】
ここでは、報酬関数fθ(x)が、推定対象となるパラメータθによって表わされ、制約条件gcm(x)≧0が、推定対象となるパラメータcによって表されるとする。なお、以下の説明では、パラメータθのことを第一のパラメータと記し、パラメータcのことを第二のパラメータと記すこともある。この場合、軌跡データのデータ分布p(x)(以下、単にデータ分布と記す。)に両方のパラメータ(第一のパラメータおよび第二のパラメータ)が含まれるように確率モデルが定義され、モデルパラメータとしてのθおよびcを推定する問題へ帰着される。
【0029】
最大エントロピー原理で導かれるデータ分布を報酬関数および制約条件に基づいて仮定した確率モデルは、具体的には、以下に例示する式1のように定義できる。式1において、xは特徴量ベクトル、cは制約条件のパラメータ、mは、制約条件の数である。
【0030】
【数1】
【0031】
上記式1に例示する確率モデルは、目的関数に基づく分布を表わす関数(以下、第一の関数と記す。)と、制約条件に基づく分布を表わす関数(以下、第二の関数と記す。)とを含み、第一の関数(具体的には、efθ(x)/Z(θ,c)の部分)と、第二の関数(具体的には、Πm=1 σ(gcm(x)の部分)との積で定義されるモデルである。式1に例示するように、確率モデルは、報酬関数の値が大きいほど大きい確率値をとり、かつ、制約条件を満たすほど大きい確率値をとる関数として定義される。
【0032】
具体的には、第一の関数は、軌跡の(確率)分布のうち報酬関数に基づく関数であり、報酬関数の値が大きいほど確率の値が大きくなる性質を有する関数である。第一の関数は、非特許文献1に記載された最大エントロピー逆強化学習において想定する分布を示す関数と同様である。
【0033】
第二の関数は、各制約条件を満たすほど1に近づき、各制約条件を満たさないほど0に近づくような関数であり、第二のパラメータ(すなわち、c)で微分可能な関数(以下、微分可能関数と記すこともある。)として定義される。より具体的には、第二の関数は、上記式1に例示するように、第二の関数は、各制約条件1~mを満たす場合に非負の値を取る関数gcm(x)を引数とするσの総乗Πで定義される。σは、引数の値を0から1の値に変換する連続関数であり、例えば、シグモイド関数やソフトマックス関数である。
【0034】
すなわち、σがシグモイド関数の場合、関数の引数をyとすると、
【数2】
である。なお、Z(θ,c)は、分布全体の総和(積分)が1になるような規格化定数である。また、第一の関数のパラメータ表現および第二の関数のパラメータ表現は設計者等により予め定められる。
【0035】
なお、第二の関数に含まれる制約条件gcm(x)≧0は、本発明による学習結果(報酬関数等)を適用する問題に応じて決定される。ここでは、2つの具体例を挙げて、制約条件の態様を説明する。
【0036】
第一の具体例として、本発明による学習結果を混合整数計画問題に適用する場合が挙げられる。混合整数計画問題における最適化対象の変数ベクトル(特徴量ベクトル)xは、各ベクトル要素が連続変数、または、整数変数から構成される。この最適化対象の変数ベクトルxは、逆強化学習における特徴量に対応し、また、状態とも一致する。この変数ベクトルxに対して、制約条件gcm(x)≧0は、具体的には、Ax+b≧0になり、制約条件のパラメータcは、c=(A,b)を意味する。なお、Aは行列(係数ベクトル)であり、bはベクトル(スカラー量)である。
【0037】
また、一般に、制約条件は不等式だけでなく、等式gcm(x)=0も含む。これは、gcm(x)≧0かつgcm(x)≦0で表現される。
【0038】
混合整数計画問題は、線型計画問題および整数計画問題を含む。そのため、本発明による学習結果を、下位の問題クラスである「巡回セールスマン問題」や「勤務スケジューリング問題」、「ナップサック問題」などに適用可能である。
【0039】
第二の具体例として、本発明による学習結果を画像認識やロボット制御に適用する場合が挙げられる。この場合、混合整数計画問題とは異なり、特徴量とは異なる状態変数xに対して制約条件gcm(x)は、一般にxの線形式で表すことができない。そのため、この場合、gcm(x)のパラメータは、ドメイン知識に基づいて予め手動で設定されてもよく、ニューラルネットワークによって表現されてもよい。
【0040】
ニューラルネットワークによってgcm(x)を表現する場合、xがニューラルネットワークの入力ベクトル、パラメータcがニューラルネットワーク中のハイパーパラメータ一式、ネットワークの出力がgcm(x)に対応する。
【0041】
さらに、制約条件は、一般に1つとは限らない。そこで、異なるmに対するgcm(x)ごとに、別のニューラルネットワークを定義せず、例えば、xがニューラルネットワークの入力ベクトル、ネットワークの出力が[gc1(x),gc2(x),…,gcM(x)]になるような1つのニューラルネットワークが定義されてもよい。
【0042】
なお、本実施形態では、ニューラルネットワークからの出力を0から1の値に変換する関数σ(例えば、シグモイド関数)に適用するので、これらの制約条件gcm(x)が用いられても、第二の関数の出力値は0~1になる。
【0043】
学習部70は、確率モデル計算部30と、更新部40と、収束判定部50とを含む。本実施形態の学習部70は、上述する軌跡データを用いた逆強化学習を実行する。以下、各構成の動作を説明する。
【0044】
確率モデル計算部30は、確率モデルと軌跡データ(デモンストレーションデータ)とに基づいて、対数尤度の勾配を計算する。対数尤度の勾配を計算する方法は、パラメータが2種類(第一のパラメータθおよび第二のパラメータc)である点を除き、非特許文献1に記載された最大エントロピー逆強化学習と同様である。具体的には、最適なパラメータθ,c は、以下の式2で与えられる。なお、Nは軌跡データ(デモンストレーションデータ)の数である。
【0045】
【数3】
【0046】
そして、確率モデル計算部30は、以下に例示する式3を用いて対数尤度の勾配∇L(θ,c)を計算する。
【0047】
【数4】
【0048】
更新部40は、確率モデル計算部30によって計算された対数尤度を最大にするように報酬関数および制約条件を更新する。更新部40は、報酬関数更新部41と、制約条件更新部42とを有する。
【0049】
本実施形態では、報酬関数に基づく分布を示す第一の関数が第一のパラメータθを用いて表され、制約条件が、第二のパラメータcを用いて表されている。そこで、報酬関数更新部41は、対数尤度を最大にするように第一のパラメータθを更新する。また、制約条件更新部42は、対数尤度を最大にするように第二のパラメータcを更新する。ここで、勾配微分∇→(∇θ,∇cm)とすると、報酬関数更新部41は、以下に例示する式4に示すように第一のパラメータθを更新し、制約条件更新部42は、以下に例示する式5に示すように第二のパラメータcを更新する。
【0050】
【数5】
【0051】
なお、報酬関数更新部41が対数尤度を最大にするように第一のパラメータθを更新する方法は、非特許文献1に記載された最大エントロピー逆強化学習と同様である。一方、本実施形態では、制約条件更新部42が、報酬関数更新部41による第一のパラメータθの更新と共に、上記対数尤度を最大にするように制約条件のパラメータ(第二のパラメータc)を更新する。すなわち、本実施形態の確率モデル計算部30および更新部40が、制約条件の分布を示す微分可能関数を用いて算出された軌跡データの分布に基づいて逆強化学習を実行する。そのため、適切な報酬関数および制約条件を同時に学習することが可能になる。
【0052】
収束判定部50は、報酬関数および制約条件のパラメータが収束したか否か判定する。具体的には、収束判定部50は、対数尤度の勾配(より詳しくは、∇θL(θ,c)、および、∇cmL(θ,c))が所定の閾値以下になったときに、報酬関数および制約条件のパラメータが収束したと判定する。
【0053】
一方、パラメータが収束していないと判定された場合、確率モデル計算部30は、更新後のパラメータ(第一のパラメータθおよび第二のパラメータc)で確率モデルを更新し、更新後の確率モデルとデモンストレーションデータとに基づいて、対数尤度の勾配を計算する。そして、更新部40が、確率モデル計算部30によって計算された対数尤度を最大にするように報酬関数および制約条件を更新する。
【0054】
出力部60は、逆強化学習によって導出された報酬関数および制約条件を出力する。より具体的には、出力部60は、パラメータが収束したと判定された場合、更新後のパラメータで表わされた報酬関数および制約条件を出力する。
【0055】
入力部20と、学習部70(より具体的には、確率モデル計算部30と、更新部40(さらに具体的には、報酬関数更新部41と、制約条件更新部42)と、収束判定部50)と、出力部60とは、プログラム(学習プログラム)に従って動作するコンピュータのプロセッサ(例えば、CPU(Central Processing Unit )、GPU(Graphics Processing Unit))、FPGA(Field-Programmable Gate Array)、量子プロセッサ(量子コンピュータ制御チップ))などによって実現される。
【0056】
例えば、プログラムは、学習装置100が備える記憶部10に記憶され、プロセッサは、そのプログラムを読み込み、プログラムに従って、入力部20、学習部70(より具体的には、確率モデル計算部30と、更新部40(さらに具体的には、報酬関数更新部41と、制約条件更新部42)、収束判定部50)および出力部60として動作してもよい。また、学習装置100の機能がSaaS(Software as a Service )形式で提供されてもよい。
【0057】
また、入力部20と、学習部70(より具体的には、確率モデル計算部30と、更新部40(さらに具体的には、報酬関数更新部41と、制約条件更新部42)と、収束判定部50)と、出力部60とは、それぞれが専用のハードウェアで実現されていてもよい。また、各装置の各構成要素の一部又は全部は、汎用または専用の回路(circuitry )、プロセッサ等やこれらの組合せによって実現されもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各装置の各構成要素の一部又は全部は、上述した回路等とプログラムとの組合せによって実現されてもよい。
【0058】
また、学習装置100の各構成要素の一部又は全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
【0059】
次に、本実施形態の学習装置100の動作を説明する。図2は、本実施形態の学習装置100の動作例を示すフローチャートである。入力部20は、軌跡データ(すなわち、熟練者の軌跡/意思決定履歴データ)および確率モデルの入力を受け付ける(ステップS11)。確率モデル計算部30は、確率モデルと軌跡データとに基づいて、対数尤度の勾配を計算する(ステップS12)。そして、報酬関数更新部41が、対数尤度を最大にするように報酬関数のパラメータを更新し(ステップS13)、制約条件更新部42が、対数尤度を最大にするように制約条件のパラメータを更新する(ステップS14)。
【0060】
収束判定部50は、報酬関数および制約条件のパラメータが収束したか否か判定する(ステップS15)。パラメータが収束していないと判定された場合(ステップS15におけるNo)、更新後のパラメータを用いて、ステップS12以降の処理が繰り返される。一方、パラメータが収束したと判定された場合(ステップS15におけるYes)、出力部60は、逆強化学習によって導出された報酬関数および制約条件を出力する(ステップS16)。
【0061】
以上のように、本実施形態では、入力部20が軌跡データの入力を受け付け、学習部70が、軌跡データを用いた逆強化学習を実行し、出力部60が、逆強化学習によって導出された報酬関数および制約条件を出力する。その際、学習部70は、制約条件の分布を示す微分可能関数を用いて算出された軌跡データの分布に基づいて、逆強化学習を実行する。
【0062】
より具体的には、入力部20が軌跡データと確率モデルとの入力を受け付け、確率モデル計算部30が確率モデルと軌跡データとに基づいて対数尤度の勾配を計算する。そして、更新部40が、対数尤度を最大にするように報酬関数および制約条件を更新する。具体的には、確率モデルが、第一のパラメータθを用いて表された報酬関数に基づく分布を示す第一の関数と、第二のパラメータcを用いて表された制約条件に基づく分布を示す第二の関数との積で定義され、更新部40が、対数尤度を最大にするように第一のパラメータおよび第二のパラメータを更新する。
【0063】
よって、人間の意思決定履歴を示す軌跡データを用いて逆強化学習を行う場合に、適切な報酬関数および制約条件を同時に学習することができる。
【0064】
例えば、禁止する行為やルールなどの制約条件を暗黙のうちに設定されているような場合に熟練者意思決定の再現を目指すには、目的関数だけでなく制約条件(合わせて、最適化問題としての定式化)の学習まで行えることが好ましい。本実施形態では、確率モデル計算部30および更新部40が、目的関数と制約条件とを同時に学習する、すなわち、軌跡データから報酬関数を推定するとともに、制約条件までを自動で推定する。そのため、熟練者の動作や意思決定を最適化問題として定式化でき、それによって熟練者の行動の再現が可能になる。
【0065】
次に、本実施形態の学習装置100を利用したロボット制御システムの具体例を説明する。図3は、ロボット制御システムの一実施形態の構成例を示すブロック図である。図3に例示するロボット制御システム2000は、学習装置100と、学習データ記憶部2200と、ロボット2300とを備えている。
【0066】
図3に例示する学習装置100は、上記実施形態における学習装置100と同様である。学習装置100は、学習の結果作成された報酬関数および制約条件を後述するロボット2300の記憶部2310に記憶する。
【0067】
学習データ記憶部2200は、学習装置100が学習に用いる学習データを記憶する。学習データ記憶部2200は、例えば、軌跡データ(デモンストレーションデータ)を記憶していてもよい。
【0068】
ロボット2300は、報酬関数に基づいて動作する機器である。なお、ここでのロボットには、人や動物を模した形状の機器に限られず、自動作業(自動運転、自動制御など)を行う機器なども含まれる。ロボット2300は、記憶部2310と、入力部2320と、制御部2330とを含む。
【0069】
記憶部2310は、学習装置100によって学習された報酬関数および制約条件を記憶する。
【0070】
入力部2320は、ロボットを動作させる際の状態を示すデータの入力を受け付ける。
【0071】
制御部2330は、受け付けた(状態を示す)データ、および、記憶部2310に記憶された報酬関数並びに制約条件に基づいて、ロボット2300が行う動作を決定する。なお、制御部2330が、報酬関数および制約条件に基づいて制御動作を決定する方法は広く知られており、ここでは詳細な説明を省略する。本実施形態では、ロボット2300のような、自動作業を行う機器を、熟練者の意図を反映した報酬関数に基づいて制御することができる。
【0072】
次に、本実施形態の概要を説明する。図4は、本実施形態による学習装置の概要を示すブロック図である。本実施形態による学習装置80(例えば、学習装置100)は、対象者の意思決定履歴を示す軌跡データ(例えば、デモンストレーションデータ)の入力を受け付ける入力手段81(例えば、入力部20)と、軌跡データを用いた逆強化学習を実行する学習手段82(例えば、学習部70)と、逆強化学習によって導出された報酬関数および制約条件を出力する出力手段83(例えば、出力部60)とを備えている。
【0073】
学習手段82は、制約条件の分布を示す微分可能関数を用いて算出された軌跡データの分布に基づいて、逆強化学習を実行する。
【0074】
そのような構成により、人間の意思決定履歴を示す軌跡データを用いて逆強化学習を行う場合に、適切な報酬関数および制約条件を同時に学習することができる。
【0075】
また、入力手段81は、最大エントロピー原理で導かれる軌跡データの分布を報酬関数(例えば、fθ(x))および制約条件(例えば、gcm(x))に基づいて仮定した確率モデル(例えば、p(x))の入力を受け付け、学習手段82(例えば、確率モデル計算部30および更新部40)は、確率モデルと軌跡データとに基づいて、対数尤度の勾配を計算し、その対数尤度を最大にするように報酬関数および制約条件を更新してもよい。ここで、確率モデルは、第一のパラメータ(例えば、θ)を用いて表された報酬関数に基づく分布を示す第一の関数と、第二のパラメータ(例えば、c)を用いて表された制約条件に基づく分布を示す第二の関数との積で定義され(例えば、式1)、学習手段82は、対数尤度を最大にするように第一のパラメータおよび第二のパラメータを更新してもよい。
【0076】
また、学習装置80は、第一のパラメータおよび第二のパラメータが収束したか否か判定する判定手段(例えば、収束判定部50)を備えていてもよい。そして、学習手段82は、収束したと判定されなかった場合に、更新後の第一のパラメータおよび第二のパラメータで定義される確率モデルと軌跡データとに基づいて、対数尤度の勾配を計算し、対数尤度を最大にするように第一のパラメータおよび第二のパラメータを更新してもよい。
【0077】
また、第二の関数は、各制約条件を満たすほど1に近づき、当該各制約条件を満たさないほど0に近づくような、第二のパラメータで微分可能な連続関数として定義されてもよい。
【0078】
また、確率モデルは、報酬関数の値が大きいほど大きい確率値をとり、かつ、制約条件を満たすほど大きい確率値をとる関数として定義されてもよい。
【0079】
また、第二の関数は、各制約条件を満たす場合に非負の値を示す制約条件を引数とするシグモイド関数の総乗で定義されてもよい。
【0080】
図5は、少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。コンピュータ1000は、プロセッサ1001、主記憶装置1002、補助記憶装置1003、インタフェース1004を備える。
【0081】
上述の学習装置80は、コンピュータ1000に実装される。そして、上述した各処理部の動作は、プログラム(学習プログラム)の形式で補助記憶装置1003に記憶されている。プロセッサ1001は、プログラムを補助記憶装置1003から読み出して主記憶装置1002に展開し、当該プログラムに従って上記処理を実行する。
【0082】
なお、少なくとも1つの実施形態において、補助記憶装置1003は、一時的でない有形の媒体の一例である。一時的でない有形の媒体の他の例としては、インタフェース1004を介して接続される磁気ディスク、光磁気ディスク、CD-ROM(Compact Disc Read-only memory )、DVD-ROM(Read-only memory)、半導体メモリ等が挙げられる。また、このプログラムが通信回線によってコンピュータ1000に配信される場合、配信を受けたコンピュータ1000が当該プログラムを主記憶装置1002に展開し、上記処理を実行してもよい。
【0083】
また、当該プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、当該プログラムは、前述した機能を補助記憶装置1003に既に記憶されている他のプログラムとの組み合わせで実現するもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0084】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【0085】
(付記1)対象者の意思決定履歴を示す軌跡データの入力を受け付ける入力手段と、
前記軌跡データを用いた逆強化学習を実行する学習手段と、
前記逆強化学習によって導出された報酬関数および制約条件を出力する出力手段とを備え、
前記学習手段は、前記制約条件の分布を示す微分可能関数を用いて算出された前記軌跡データの分布に基づいて、前記逆強化学習を実行する
ことを特徴とする学習装置。
【0086】
(付記2)入力手段は、最大エントロピー原理で導かれる軌跡データの分布を報酬関数および制約条件に基づいて仮定した確率モデルの入力を受け付け、
学習手段は、前記確率モデルと軌跡データとに基づいて、対数尤度の勾配を計算し、当該対数尤度を最大にするように報酬関数および制約条件を更新し、
前記確率モデルは、第一のパラメータを用いて表された前記報酬関数に基づく分布を示す第一の関数と、第二のパラメータを用いて表された前記制約条件に基づく分布を示す第二の関数との積で定義され、
前記学習手段は、前記対数尤度を最大にするように前記第一のパラメータおよび前記第二のパラメータを更新する
付記2記載の学習装置。
【0087】
(付記3)第一のパラメータおよび第二のパラメータが収束したか否か判定する判定手段を備え、
学習手段は、収束したと判定されなかった場合に、更新後の第一のパラメータおよび第二のパラメータで定義される確率モデルと軌跡データとに基づいて、対数尤度の勾配を計算し、前記対数尤度を最大にするように第一のパラメータおよび第二のパラメータを更新する
付記2記載の学習装置。
【0088】
(付記4)第二の関数は、各制約条件を満たすほど1に近づき、当該各制約条件を満たさないほど0に近づくような、第二のパラメータで微分可能な連続関数として定義される
付記1から付記3のうちのいずれか1つに記載の学習装置。
【0089】
(付記5)確率モデルは、報酬関数の値が大きいほど大きい確率値をとり、かつ、制約条件を満たすほど大きい確率値をとる関数として定義される
付記1から付記4のうちのいずれか1つに記載の学習装置。
【0090】
(付記6)第二の関数は、各制約条件を満たす場合に非負の値を示す制約条件を引数とするシグモイド関数の総乗で定義される
付記1から付記5のうちのいずれか1つに記載の学習装置。
【0091】
(付記7)対象者の意思決定履歴を示す軌跡データの入力を受け付け、
前記軌跡データを用いた逆強化学習を実行し、
前記逆強化学習によって導出された報酬関数および制約条件を出力し、
前記逆強化学習において、前記制約条件の分布を示す微分可能関数を用いて算出された前記軌跡データの分布に基づいて、前記逆強化学習を実行する
ことを特徴とする学習方法。
【0092】
(付記8)最大エントロピー原理で導かれる軌跡データの分布を報酬関数および制約条件に基づいて仮定した確率モデルの入力を受け付け、
前記確率モデルが、第一のパラメータを用いて表された前記報酬関数に基づく分布を示す第一の関数と、第二のパラメータを用いて表された前記制約条件に基づく分布を示す第二の関数との積で定義され、
前記確率モデルと軌跡データとに基づいて、対数尤度の勾配を計算し、
前記対数尤度を最大にするように前記第一のパラメータおよび前記第二のパラメータを更新する
付記7記載の学習方法。
【0093】
(付記9)コンピュータに、
対象者の意思決定履歴を示す軌跡データの入力を受け付ける入力処理、
前記軌跡データを用いた逆強化学習を実行する学習処理、および、
前記逆強化学習によって導出された報酬関数および制約条件を出力する出力処理とを実行させ、
前記学習処理で、前記制約条件の分布を示す微分可能関数を用いて算出された前記軌跡データの分布に基づいて、前記逆強化学習を実行させる
ための学習プログラムを記憶するプログラム記憶媒体。
【0094】
(付記10)コンピュータに、
入力処理で、最大エントロピー原理で導かれる軌跡データの分布を報酬関数および制約条件に基づいて仮定した確率モデルの入力を受け付けさせ、
学習処理で、前記確率モデルと軌跡データとに基づいて、対数尤度の勾配を計算させ、当該対数尤度を最大にするように報酬関数および制約条件を更新させ、
前記確率モデルは、第一のパラメータを用いて表された前記報酬関数に基づく分布を示す第一の関数と、第二のパラメータを用いて表された前記制約条件に基づく分布を示す第二の関数との積で定義され、
前記学習処理で、前記対数尤度を最大にするように前記第一のパラメータおよび前記第二のパラメータを更新させる
ための学習プログラムを記憶する請求項9記載のプログラム記憶媒体。
【0095】
(付記11)コンピュータに、
対象者の意思決定履歴を示す軌跡データの入力を受け付ける入力処理、
前記軌跡データを用いた逆強化学習を実行する学習処理、および、
前記逆強化学習によって導出された報酬関数および制約条件を出力する出力処理とを実行させ、
前記学習処理で、前記制約条件の分布を示す微分可能関数を用いて算出された前記軌跡データの分布に基づいて、前記逆強化学習を実行させる
ための学習プログラム。
【0096】
(付記12)コンピュータに、
入力処理で、最大エントロピー原理で導かれる軌跡データの分布を報酬関数および制約条件に基づいて仮定した確率モデルの入力を受け付けさせ、
学習処理で、前記確率モデルと軌跡データとに基づいて、対数尤度の勾配を計算させ、当該対数尤度を最大にするように報酬関数および制約条件を更新させ、
前記確率モデルは、第一のパラメータを用いて表された前記報酬関数に基づく分布を示す第一の関数と、第二のパラメータを用いて表された前記制約条件に基づく分布を示す第二の関数との積で定義され、
前記学習処理で、前記対数尤度を最大にするように前記第一のパラメータおよび前記第二のパラメータを更新させる
付記11記載の学習プログラム。
【符号の説明】
【0097】
10 記憶部
20 入力部
30 確率モデル計算部
40 更新部
41 報酬関数更新部
42 制約条件更新部
50 収束判定部
60 出力部
100 学習装置
図1
図2
図3
図4
図5