以下では、本開示の実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一又は対応する要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略される。
ここで、AI(Artificial intelligence)の分野において、機械学習の一種として強化学習(Reinforcement Learning)が知られている。強化学習は、「状態」が変化しうる「環境」において「行動」を行う「エージェント」(人やコンピュータ)について、環境の状態に応じた適切な行動を学習する方法である。ここで、環境の状態に応じた行動を出力する関数を「ポリシー(方策)関数」と呼ぶ。ポリシー関数は、強化学習が行われることにより、環境の状態に応じた適切な行動を出力するようになる。
また、強化学習では、前提として、エージェントの行動や、エージェントの行動によって遷移した環境の状態に対して与えられる「報酬」を出力する「報酬関数」が与えられる。報酬はエージェントの行動を評価する基準(評価基準)であり、報酬に基づいて評価値が定められる。例えば評価値は、エージェントが一連の行動を行う間に得られる報酬の合計である。評価値は、エージェントの行動の目的を決めるための指標である。例えば、ポリシー関数の学習は、「評価値を最大化する」という目的を達成するように行われる。なお、評価値は報酬に基づいて定まることから、ポリシー関数の学習は報酬関数に基づいて行われるともいえる。
ここで、実社会問題に取り組む場合、報酬関数の設計が難しいことがある。その場合、模倣学習(Imitation learning)が用いられることがある。模倣学習では、熟練したエージェントであるエキスパートによる状態に応じた行動等を蓄積したエキスパートデータを用いてモデルを学習することで、エキスパートの行動を模倣するための方策(ポリシー)関数を導出する。そして、模倣学習の一種として逆強化学習(Inverse Reinforcement Learning)が注目されつつある。
<実施の形態1>
図1は、本実施の形態1にかかる情報処理装置1の構成を示すブロック図である。情報処理装置1は、所定のシステムの環境等の条件から、システムのユーザであるエージェントが取るべき行動を出力するためのモデルを生成及びモデルのパラメータの学習(適応)を行うためのコンピュータであり、学習装置ということもできる。尚、情報処理装置1は、2台以上のコンピュータにより構成されていてもよい。情報処理装置1は、生成部11と、適応部12とを備える。
生成部11は、第1のシステムに適応させた第1のモデルに対して補正用モデルを用いて補正した第2のモデルを生成する。ここで、「第1のシステム」とは、特定の環境及びエージェントを含む第1の条件に基づき運用される情報システム又は制御システムである。または、「第1のシステム」は、これらの情報システム又は制御システムを含めた社会システムであってもよい。ここで、「環境」は、入力される行動に応じて複数の「状態」を取り得るものであり、狭義のシステムと呼ぶこともできる。「状態」は状態ベクトルで表すことができる。「エージェント」は、その環境において複数の「行動」を行ない得る者であり、システムのユーザである人間(運用者)又は(エージェントプログラムにより動作する)コンピュータである。そして、環境は、エージェントの行動に応じて状態が遷移する。また、エージェントは、環境の現在の状態に応じて次の行動を決める。また、「運用」とは、特定のエージェントにより特定の環境においてシステムを稼働、実行させることを含む。
「第1のモデル」は、パラメータと変数とで定義される関数等のモデル式であり、入力に応じて求められる値を出力する。特に、第1のモデルは、第1のシステムの環境及びエージェントを含む第1の条件においてパラメータが適応(最適化)されたものである。尚、第1のモデルは、運用者、管理者等によって経験則から作成されたものであるか、熟練したエージェントの行動と状態の履歴であるエキスパートデータセットを用いて模倣学習されたものであってもよい。第1のモデルは、例えば、コンビニエンスストアの店舗の状態に応じた店長の行動を出力するモデルであってもよい。または、第1のモデルは、高速道路における道路形状や周囲の車両の位置関係、車両速度に応じて、運転者が取るべき運転動作(アクセル、ブレーキ及びハンドル操作等)等を出力するモデルであってもよい。
また、「適応」とは、モデルにおけるパラメータ値を対象のシステムの条件に対して最適化することをいう。つまり、「適応」とは、モデルのパラメータが最適になるように調整することをいう。そのため、「第1のモデル」は、第1のシステムの環境及びエージェントを含む条件に対して最適化されたパラメータ値を含むものとする。
「補正用モデル」とは、モデルに補正を加えるためのモデル式、補正用パラメータ等である。補正用モデルは、予め設定されたものであるか、第2の条件に基づいて算出されたものであってもよい。
適応部12は、生成部11により生成された第2のモデルを第2のシステムに適応させる。ここで、「第2のシステム」は、第1の条件と一部が異なる第2の条件に基づき運用されるシステムである。第2の条件は、第1の条件に含まれる特定の環境又は特定のエージェントの少なくともいずれかが異なるものである。つまり、第1のシステムと第2のシステムとは、異なる目的のシステムではなく、目的が共通又は類似するシステム同士であるものとする。逆に言うと、第1の条件と第2の条件とは条件に共通部分がある。
「第2のモデルを第2のシステムに適応させる」とは、上記同様、第2のモデルに含まれるパラメータ値を第2のシステムの第2の条件(環境及びエージェント)に合せて最適化することを意味する。
図2は、本実施の形態1にかかるモデル適応方法の流れを示すフローチャートである。まず、生成部11は、第1のシステムに適応させた第1のモデルに対して補正用モデルを用いて補正した第2のモデルを生成する(S11)。次に、適応部12は、第2のシステムに、第2のモデルを適応させる(S12)。これにより、所定のシステムに適応させたモデルを活用して、環境又はエージェントの類似する他のシステムに効率的に適応させることができる。
ここで、第1のシステムと第2のシステムは、特定用途を対象とする点では共通するが、具体的な適用先の環境(時期、場所等)又はエージェント(人員等)等が異なる。そのため、第2のシステムに第1のモデルをそのまま用いて運用を行うと、第1のモデルが意図しない出力を返してしまうおそれがある。そのため、第2のシステムに第1のモデルをそのまま用いることができない。一方、第2のシステムに適応させた第2のモデルを、第1のモデルと同様の方法で求めるには、コストがかかる。例えば、第2のモデルを適切に定義することは、高度な知識が必要であり、難易度が高い。また、第2のモデルのパラメータを模倣学習により高精度に調整するには、第2のシステムにおける大量かつ良質なエキスパートデータが必要となる。しかし、大量かつ良質なエキスパートデータを蓄積するには長期間を要する。特に、第2のシステムが運用前である場合には、エキスパートデータを取得すること自体が困難である。
そこで、本実施の形態では、第2のシステムと類似する第1のシステムにおいて、何らかの方法で適応済みの第1のモデルが存在することを前提とする。そして、第1のモデルに対して、補正用モデルを用いて補正を行う。そして、補正後のモデルである第2のモデルを用いて、第2のシステムの第2の条件に適応させる。このように適応された第2のモデルを用いて第2のシステムを運用することで、第2のモデルは本来の意図に即した出力を行うことができる。その理由は、第2のモデルは、第2のシステムと類似する第1のシステムに対して適応済の第1のモデルから一部を修正したものであるものだからである。また、修正後の第2のモデルについて第2のシステム向けに適応している。そのため、意図しない出力を返す可能性が低い。また、第2のモデルの生成に要するコスト、及び、適応に要するコストを大幅に削減することができる。その理由は、第2のモデルを一から設計しておらず第1のモデルをベースに一部を補正するためである。また、第2のモデルを用いて第2のシステムで運用した際の出力は、本来の意図に近いものであるため、運用により取得される運用データを用いて学習することで、少量のデータで高精度な適応を行わせることができる。
尚、情報処理装置1は、図示しない構成としてプロセッサ、メモリ及び記憶装置を備えるものである。また、当該記憶装置には、本実施の形態にかかるモデル適応方法の処理が実装されたコンピュータプログラムが記憶されている。そして、当該プロセッサは、記憶装置からコンピュータプログラムを前記メモリへ読み込み、当該コンピュータプログラムを実行する。これにより、前記プロセッサは、生成部11及び適応部12の機能を実現する。
または、生成部11及び適応部12は、それぞれが専用のハードウェアで実現されていてもよい。また、各装置の各構成要素の一部又は全部は、汎用または専用の回路(circuitry)、プロセッサ等やこれらの組合せによって実現されもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各装置の各構成要素の一部又は全部は、上述した回路等とプログラムとの組合せによって実現されてもよい。また、プロセッサとして、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、FPGA(field-programmable gate array)等を用いることができる。
また、情報処理装置1の各構成要素の一部又は全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。また、情報処理装置1の機能がSaaS(Software as a Service)形式で提供されてもよい。
また、情報処理装置1は、第1のモデルを予め外部から取得し、内部の記憶装置又はメモリに保存するものとする。そして、前記プロセッサは、記憶装置又はメモリにほぞんされた第1のモデルに対して補正等を行うものとする。また、前記プロセッサは、適応済みの第2のモデルを内部の記憶装置に保存するか、外部のシステム又は記憶装置へ出力してもよい。
<実施の形態2>
本実施の形態2は、上述した実施の形態1の具体例である。本実施の形態2にかかる情報処理システムは、逐次的報酬学習部と、モデル補正部と、適応部と、記憶部とを備える。但し、逐次的報酬学習部と適応部とは共用可能である。また、記憶部は、少なくとも上述した第1のモデルと補正用モデルとを記憶するものであればよい。また、モデル補正部及び適応部は、少なくとも上述した生成部11及び適応部12と同様の機能を有するものであればよい。
図3は、本実施の形態2にかかる情報処理システム1000の全体構成を示すブロック図である。情報処理システム1000は、システムA100と、エキスパートデータセット110と、システムB200と、運用データセット210と、情報処理装置300とを備える。システムA100は、第1のシステムの一例である。
図4は、本実施の形態2にかかるシステムA100の概念を説明するための図である。システムA100は、対象環境101と、エージェント102とを含む。対象環境101は、上述した「環境」に相当し、複数の状態を取り得るものである。エージェント102は、上述した「エージェント」に相当し、その環境において複数の行動を行ない得る者(人又はコンピュータ)である。
例えば、システムA100を自動運転システムとした場合、エージェント102は自動運転車両、対象環境101の状態104はその自動運転車両の運転状態、周囲の状態(周囲の地図、他車両の位置や速度、及び、道路の状態等)の集合となる。よって、状態104は、状態ベクトルS=(s1、s2、・・・)で表される。また、エージェント102がある行動103(アクセル、ブレーキ、ハンドルの動作)を取ると、対象環境101は、行動103に応じた状態104(速度の上下、車線の移動等)へ遷移する。また、システムA100について後述する逐次的報酬学習がなされる際には、報酬関数105が用いられる。つまり、対象環境101は、行動103を報酬関数105に入力し、報酬をエージェント102へ出力する。
ここで、エージェント102が行うべき行動103は、対象環境101の状態104に応じて異なる。上述の自動運転システムの例であれば、前方に障害物が存在しなければ車両はそのまま進行してよいが、前方に障害物があればその障害物を回避するように進行するという行動103をエージェント102は取る必要がある。また、前方の路面の状態や前方の車両との車間距離などに応じ、車両の走行速度を変更するという行動103をエージェント102は取る必要がある。
図3に戻り説明を続ける。エキスパートデータセット110は、システムA100における熟練したエージェント102における行動103と、そのときの状態104との組合せ等の行動データである。つまり、エキスパートデータセット110は、システムA100において運用された場合の運用データセットである。但し、システムA100がシミュレータの場合、エキスパートデータセット110は、シミュレーション結果のデータも含まれる。エキスパートデータセット110は、ストレージ装置等に格納されているものとする。
システムB200は、第2のシステムの一例である。つまり、システムB200は、システムA100と類似するシステムである。例えば、システムB200は、システムA100をシミュレータとした場合の実環境、システムA100に対するバージョンアップもしくはマイグレーション後のシステム、又は、システムA100をベースモデルとした場合の派生モデル等である。尚、システムB200の概念はシステムA100と同等であるため図示及び詳細な説明を省略する。
運用データセット210は、システムB200が運用された場合のデータの集合である。但し、運用データセット210のデータ量は、エキスパートデータセット110と比べて少なくても構わない。
情報処理装置300は、情報処理装置1の一例である。情報処理装置300は、逐次的報酬学習部310と、モデル補正部320と、適応部330と、記憶部340とを備える。記憶部340は、ハードディスク、フラッシュメモリ等の記憶装置又はメモリである。記憶部340は、条件A341と、モデルA342と、補正用モデル343と、条件B344と、モデルB345とを記憶する。
条件A341は、上述した第1の条件を示す情報の一例であり、システムA100が運用される際の対象環境101及びエージェント102の集合を示す情報である。また、条件B344は、上述した第2の条件を示す情報の一例であり、システムB200が運用される際の対象環境101及びエージェント102の集合を示す情報である。つまり、条件A341と条件B344は、対象環境101及びエージェント102の少なくとも一部が異なる。
モデルA342は、上述した第1のモデルの一例であり、システムA100に適応させたパラメータ値を含むモデル式を示す情報群である。モデルA342は、例えば、モデル式が実装されたプログラムファイルと最適化されたパラメータ値を含む設定ファイル等の集合であってもよい。ここで、モデル式は、例えば、上述した状態104及び行動103のそれぞれのベクトルと、パラメータ変数の集合とを用いて表現されたものであってもよい。また、モデルA342は、後述するように、ポリシー関数、報酬関数、物理方程式、及び、状態遷移確率等を含むものであってもよい。尚、報酬関数と物理方程式をまとめて評価基準と呼ぶこともできる。モデルB345は、上述した第2のモデルの一例であり、システムB200に適応させる前又は後のパラメータ値を含むモデル式を示す情報群である。
補正用モデル343は、上述した補正用モデルの一例であり、本実施形態では、状態s及び行動aを用いたパラメータ関数とする。但し、補正用モデル343は、これに限定されない。
逐次的報酬学習部310は、エキスパートデータセット110を用いてシステムA100におけるモデルA342の逐次的報酬学習を行う。すなわち、逐次的報酬学習部310は、エキスパートデータセット110を学習用データとしてモデルA342のパラメータを最適な値に調整する。また、逐次的報酬学習部310は、調整済みのパラメータ値を設定した学習済みのモデルA342を記憶部340に保存又は更新する。
ここで、逐次的報酬学習の処理内容について補足する。まず、逐次的報酬学習部310は、逐次的報酬学習によってポリシー関数の生成を行う。ここで、「逐次的報酬学習」とは、模倣学習や逆強化学習に留まらず、模倣に基づく報酬関数の設計と設計された報酬関数を更新する処理を含む手法である。尚、模倣学習は、エキスパート(熟練者)の行動を模倣して方策関数を学習する処理である。また、逆強化学習は、エキスパートの行動を再現できる報酬関数まで学習する処理である。これに対し、逐次的報酬学習は、エキスパート以上の学習を目指すものである。また、「ポリシー関数」とは、対象環境101の状態104に応じてエージェント102が行うべき行動103を出力する関数であり、「方策関数」ともいう。そして、ポリシー関数が理想的なものに学習されれば、ポリシー関数は、対象環境の状態に応じ、エージェントが行うべき最適な行動を出力するものとなる。
また、逐次的報酬学習は、状態ベクトルsと行動aとを対応づけたデータ(以下、行動データ)を利用して行われる。尚、本実施形態では、行動データとしてエキスパートデータセット110を用いる。逐次的報酬学習によって得られるポリシー関数は、与えた行動データを模倣するものとなる。なお、逐次的報酬学習のアルゴリズムには、既存のものを利用することができる。
さらに本実施形態の逐次的報酬学習部310は、ポリシー関数の逐次的報酬学習を通じ、報酬関数の学習も行う。そのために、ポリシー関数Pが、状態ベクトルsを報酬関数rに入力することで得られる報酬r(s)を入力としてとる関数として定められる。そして、ポリシー関数Pは、行動aを出力とする。そのため、ポリシー関数Pは、a = P(r(s))として定義することができる。
また、エージェントが行動aを選択する規則である方策(ポリシー)をπと表わし、この方策πのもと、状態sにおいて行動aを選択する確率を、π(s,a)と表わすものとする。この場合、方策πから得られる行動aは、以下に例示する式1で定められる。
a~π(a|r(s)) (式1)
すなわち、本実施形態の逐次的報酬学習部310は、ポリシー関数を報酬関数の汎関数として定式化する。このような定式化をしたポリシー関数を定めた上で逐次的報酬学習を行うことにより、逐次的報酬学習部310は、ポリシー関数の学習を行いつつ、報酬関数の学習も行うことで、ポリシー関数及び報酬関数を生成する。
また、ある状態sおよび行動aから状態s´を選択する確率は、π(a|s)と表わすことができる。上記に示す式1のように方策を定めた場合、報酬関数r(s,a)を用いて、以下に例示する式2の関係を定めることができる。尚、報酬関数r(s,a)を、ra(s)と記すこともある。
π(a|s) := π(a|r(s,a)) (式2)
逐次的報酬学習部310は、以下に例示する式3のように定式化した関数を用いて報酬関数r(s,a)を学習してもよい。尚、式3において、λ´およびθ´は、データにより決定されるパラメータであり、g´(θ´)は、正則化項である。
(式3)
また、方策を選択する確率π(a|s)は、ある状態sにおける行動aにより得られる報酬と関連することから、上記の報酬関数r
a(s)を用いて、以下に例示する式4の形式で定義できる。なお、Z
Rは分配関数であり、Z
R=Σ
aexp(r
a(s))である。
(式4)
ここで、上記の式4に示すように、ある状態sにおいてとるべき行動aを表す方策πは、ある環境の状態sと、その状態において選択される行動aによって得られる報酬rを決定するための報酬関数r(s,a)と関連性を有すると言える。強化学習は、この関連性を考慮して学習を行うことで、適切な方策πを見出そうと言うものである。
一方、本発明者は、強化学習において状態sと行動aに基づいて方策πを見出すという考え方が、ある現象に基づいて非自明なシステムの仕組みを見出すことに利用できるという着想を得た。なお、ここでのシステムとは、機械的に構成されたシステムに限定されず、自然界に存在する任意の体系も含む。
ある状態の確率分布を表す一具体例が、統計力学におけるボルツマン分布(ギブス分布)である。統計力学の観点でも、ある実験データに基づいて実験を行った場合、所定の仕組みに基づいて何らかのエネルギー状態が生じるため、このエネルギー状態は、強化学習における報酬に対応すると考えられる。
言い換えると、上記内容は、強化学習において、ある報酬が決まっていることに起因して方策が推定できるように、統計力学において、ある運動方程式が決まっていることに起因してエネルギー分布が推定できることを表しているとも言える。このように、関係性が対応付けられる一因として、両者がエントロピーという概念で繋がっていることが挙げられる。
一般に、エネルギー状態は、エネルギーに対応する物理量を表す「物理方程式」(例えば、ハミルトニアン)で表すことができる。そこで、逐次的報酬学習部310は、強化学習の枠組みで統計力学におけるボルツマン分布を推定できるように、強化学習において推定する関数についての問題設定を与えておく。
具体的には、逐次的報酬学習部310は、強化学習で対象とする問題設定として、環境の状態sにおいて取るべき行動aを決定する方策π(a|s)を所定の状態の確率分布を表すボルツマン分布に対応付ける。さらに、逐次的報酬学習部310は、強化学習で対象とする問題設定として、環境の状態sおよびその状態において選択される行動により得られる報酬rを決定する報酬関数r(s,a)をエネルギーに対応する物理量を表す物理方程式(ハミルトニアン)に対応付ける。このようにして逐次的報酬学習部310は、強化学習が対象とする問題をモデル化する。
ここで、ハミルトニアンをH、一般化座標をq、一般化運動量をpとしたとき、ボルツマン分布f(q,p)は、以下に例示する式5で表すことができる。なお、式5において、βは系の温度を表すパラメータであり、Z
Sは分配関数である。
(式5)
上記に示す式4と比較すると、式5におけるボルツマン分布が、式4における方策に対応し、式5におけるハミルトニアンが、式4における報酬関数に対応していると言える。すなわち、上記式4および式5の対応関係からも、統計力学におけるボルツマン分布を強化学習の枠組みでモデル化できていると言える。
以下、報酬関数r(s,a)に対応付ける物理方程式(ハミルトニアン、ラグランジアンなど)の具体例を説明する。物理方程式h(s,a)を基本とした「状態遷移確率」pについて、以下の式6に示す式が成り立つ。
p(s´|s,a)=p(s´|h(s,a)) (式6)
また、式6における右辺は、以下に示す式7のように定義できる。式7において、Z
Sは分配関数であり、Z
S=Σ
S´exp(h
s´(s,a))である。
(式7)
h(s,a)に対して、時間反転、空間反転、二次形式など、物理法則を満たす条件を与えた場合、物理方程式h(s,a)を、以下に示す式8のように定義できる。尚、式8において、λおよびθは、データにより決定されるパラメータであり、g(θ)は、正則化項である。
(式8)
エネルギー状態は、行動を伴う必要がない場合も存在する。逐次的報酬学習部310は、式8に示すように、行動aに起因する効果と、行動とは独立の状態sに起因する効果とを分けて運動方程式を設定することで、行動を伴わない場合の状態も表すことができる。
さらに、上記に示す式3と比較すると、式8における運動方程式の各項は、式3における報酬関数の各項に対応付けることができる。したがって、強化関数の枠組みで報酬関数を学習する方法を用いることで、物理方程式を推定することが可能になる。このように、以上のような処理を行うことで、逐次的報酬学習部310が学習に必要なモデル(具体的には、コスト関数)を設計できる。
逐次的報酬学習部310は、上記設定されたモデルに基づき、状態sを含む学習データ(エキスパートデータセット110等)を用いて強化学習を行うことにより、物理方程式のパラメータを推定する。上述するように、エネルギー状態は、行動を伴う必要がない場合も存在するため、逐次的報酬学習部310は、少なくとも状態sを含む学習データを用いて強化学習を行う。さらに、逐次的報酬学習部310は、状態sおよび行動aを含む学習データを用いて強化学習を行うことにより、物理方程式のパラメータを推定してもよい。
例えば、時刻tで観測されたシステムの状態をst、行動をatとしたとき、これらのデータは、システムへの行動および作用を表す時系列の運用データセットDt={st,at}と言うことができる。また、物理方程式のパラメータを推定することで、物理現象の挙動を模擬する情報が得られることから、逐次的報酬学習部310は、物理シミュレータを生成していると言うこともできる。
逐次的報酬学習部310は、例えば、ニューラルネットワークを用いて物理シミュレータを生成してもよい。例えば、パーセプトロンについて、状態sおよび行動aに応じて決定されるシミュレート結果である物理方程式h(s,a)を入力層に入力し、出力層で次の状態s´を出力してもよい。
または、逐次的報酬学習部310は、混合ガウス分布の最尤推定を行うことによりパラメータを推定してもよい。または、逐次的報酬学習部310は、積モデルおよび最大エントロピー法を用いて物理シミュレータを生成してもよい。
このように、逐次的報酬学習部310が報酬関数r(s,a)と物理方程式h(s,a)とを対応付けているため、逐次的報酬学習部310は、報酬関数を推定する方法を用いて物理方程式を推定した結果としてボルツマン分布を推定できる。すなわち、定式化した関数を強化学習の問題設定として与えることで、強化学習の枠組みで、運動方程式のパラメータを推定することが可能になる。
また、逐次的報酬学習部310が運動方程式を推定することで、推定された運動方程式から、物理現象などのルールを抽出することや、既存の運動方程式を更新することも可能になる。尚、逐次的報酬学習部310は、エキスパートデータセット110からシステムA100における報酬関数とポリシー関数とを生成してもよい。または、逐次的報酬学習部310は、エキスパートデータセット110からシステムA100における物理方程式と状態遷移確率とを生成してもよい。さらに、逐次的報酬学習部310は、エキスパートデータセット110からシステムA100におけるポリシー関数、報酬関数、物理方程式、及び、状態遷移確率を生成してもよい。
以上を踏まえて、本実施の形態にかかる第1のモデルは、ポリシー関数及び報酬関数を含むことが望ましい。ここで、ポリシー関数及び報酬関数は、逐次的報酬学習部310が、特定の環境の状態を示す状態ベクトルと当該状態ベクトルで表される状態において特定のエージェントが行う行動とを対応付けた行動データを用いた逐次的報酬学習により生成されたものである。そして、報酬関数は、前記状態ベクトルの入力に対して、当該状態ベクトルで表される状態において得られる報酬を出力するものといえる。また、ポリシー関数は、前記状態ベクトルを入力した際の前記報酬関数の出力値を入力として、当該状態ベクトルで表される状態において前記特定のエージェントが行うべき行動を出力するものといえる。
さらに、本実施の形態にかかる第1のモデルは、前記報酬関数に対応付けられた物理方程式、及び前記ポリシー関数に対応付けられ、所定の前記状態の確率分布を表すボルツマン分布に従う状態遷移確率をさらに含むことが望ましい。
続いて、モデル補正部320は、上述した生成部11の一例である。モデル補正部320は、システムA100に適応させたモデルA342に対して補正用モデル343を用いて補正し、モデルB345を生成し、記憶部340に保存又は更新する。さらに、モデル補正部320は、モデルB345を生成する前に、システムB200における運用データセット210を用いて補正用モデル343を算出してもよい。その場合、モデル補正部320は、当該算出した補正用モデル343を用いて、モデルA342に対して補正を行うことによりモデルB345を生成するようにしてもよい。
適応部330は、システムB200にモデルB345を用いて運用して得られた運用データセット210を取得し、取得した運用データセット210を用いてモデルB345をシステムB200に適応させる。ここで、モデルB345は、システムB200と類似するシステムA100に適応済みのモデルA342から生成されたものである。そのため、モデルB345を新規に生成して(逐次的報酬学習部310による)逐次的報酬学習(又は、再学習)を行う場合と比べて、より少ない運用データによりパラメータを学習でき、精度の良い適応モデルを効率的に得ることができる。つまり、少量の運用データであっても精度良く適応させることができる。また、短時間、低コストで適応が可能となる。
図5は、本実施の形態2にかかる情報処理装置300のハードウェア構成を示すブロック図である。情報処理装置300は、CPU301と、メモリ302と、IF部303と、記憶装置304とを少なくとも備える。記憶装置304は、上述した記憶部340に相当するハードディスク、フラッシュメモリ等の記憶装置である。記憶装置304は、図3で記載した条件A341、モデルA342、補正用モデル343、条件B344及びモデルB345に加え、図3では記載を省略したモデル適応プログラム346を記憶しているものとする。モデル適応プログラム346は、本実施の形態にかかるモデル適応方法の処理が実装されたコンピュータプログラムである。
メモリ302は、RAM(Random Access Memory)等の揮発性記憶装置であり、CPU301の動作時に一時的に情報を保持するための記憶領域である。IF部303は、情報処理装置300の外部との入出力を行うインタフェースである。例えば、IF部303は、キーボード、マウス、タッチパネル等の入力デバイス(不図示)を介して、ユーザの操作を受け付け、受け付けた操作内容をCPU301へ出力する。また、IF部303は、CPU301からの指示に応じて、タッチパネル、表示装置、プリンタ等(不図示)へ出力を行う。
CPU301は、情報処理装置300の各構成を制御するプロセッサつまり制御装置である。CPU301は、記憶装置304からモデル適応プログラム346をメモリ302へ読み込み、モデル適応プログラム346を実行する。これにより、CPU301は、逐次的報酬学習部310、モデル補正部320及び適応部330の機能を実現する。
図6は、本実施の形態2にかかるモデル適応方法の流れを示すフローチャートである。まず、逐次的報酬学習部310は、エキスパートデータセット110を用いた逐次的報酬学習により、モデルA342をシステムA100に適応させる(S21)。このとき、逐次的報酬学習部310は、モデルA342自体の生成を含めて行っても良い。そして、逐次的報酬学習部310は、適応済みのパラメータ値を設定したモデルA342を記憶部340に保存する。
次に、モデル補正部320は、モデルA342からOne-shot適応によりモデルB345を生成する(S22)。例えば、まず、モデル補正部320は、条件B344に基づき補正用モデル343を算出する。そして、モデル補正部320は、補正用モデル343をモデルA342に乗算したモデルB345を算出し、記憶部340に保存する。
例えば、モデル補正部320は、以下のようにしてモデルB345を算出してもよい。まず、モデルA342には、条件A341におけるシステムA100のポリシー関数π
A(式9)と状態遷移確率p
A(式10)とが含まれているものとする。
(式9)
(式10)
また、補正用モデル343は、状態s及び行動aを用いたパラメータ関数α(s、a)及びβ(s’、s、a)を含むものとする。
次に、モデル補正部320は、記憶部340から、モデルA342のうちポリシー関数π
A及び状態遷移確率p
A、並びに、補正用モデル343のうちパラメータ関数α及びβを読み出す。そして、モデル補正部320は、ポリシー関数π
Aにパラメータ関数αを乗じてポリシー関数π
A’(式11)とし、状態遷移確率p
Aにパラメータ関数βを乗じて状態遷移確率p
A’(式12)として算出する。
(式11)
(式12)
そして、モデル補正部320は、算出したポリシー関数πA’及び状態遷移確率pA’を含めてモデルB345として記憶部340に保存する。
ここで、ステップS22では、One-shot適応を行うものとする。例えば、条件A341に基づくパラメータ関数の分布と、条件B344に基づくパラメータ関数の分布とが事前に与えられる場合には、モデル補正部320は、これらに基づき補正用モデル343及びそのパラメータ値を算出してもよい。具体的には、条件B344に基づくシステムB200を運用した場合の運用データが少量存在する場合には、モデル補正部320は、当該運用データを用いて補正用モデル343及びそのパラメータ値を算出してもよい。つまり、モデル補正部320は、モデルA342に補正用モデル343を乗じたモデルB345について、少量の運用データを用いて学習することにより、モデルB345を生成してもよい。
尚、ステップS22では、上述したOne-shot適応の代わりに、Zero-shot適応又はFew-shot適応を用いても構わない。例えば、Zero-shot適応の場合、モデル補正部320は、パラメータ関数α(s、a)=β(s’、s、a)=1やβ(s’、s、a)=1と変化しない部分を仮定して追加データがゼロの状況でも、モデルA342に乗じて、システムB200に適応させる初期更新を行うことにより、モデルB345を生成する。
または、Few-shot適応の場合、モデル補正部320は、パラメータ関数α及びβをモデルA342に乗じたモデルB345を生成した上で、システムB200に数回適応させて、少量の運用データを取得する。その後、モデル補正部320は、取得した少量の運用データを用いて、モデルB345をシステムB200に適応させて、パラメータ値を更新することにより、モデルB345を生成する。そのため、One-shot適応、Zero-shot適応又はFew-shot適応をまとめてX-shot適応と呼び、本実施の形態にかかるモデル補正部320は、X-shot適応により、モデルB345を生成するものといえる。
続いて、適応部330は、モデルB345を用いてシステムB200を運用する(S23)。そして、適応部330は、ステップS23の運用により生じた運用データを運用データセット210として保存する(S24)。その後、適応部330は、運用データセット210を用いてモデルB345をシステムB200に適応させる(S25)。このとき、適応部330は、逐次的報酬学習部310と同様に逐次的報酬学習により、モデルB345のパラメータ値を調整(最適化)し、調整後のパラメータを設定したモデルB345を記憶部340に保存又は更新する。以降、適応部330は、システムB200の運用に応じて、適宜、モデルB345を適応させて更新する。
このように、本実施形態では、ステップS22において、補正用モデル343の初期パラメータを迅速に調整(又は設定)することができる。そして、モデルB345に対して、システムB200の運用中に適宜、実運用データを用いて学習することができる。よって、システムB200に適応したモデルB345をより迅速に提供することができる。
例えば、逐次的報酬学習部310を用いて、システムB200の適応モデルを生成するには、膨大な量のエキスパートデータセットが必要であり、その蓄積に長期間を要する。また、エキスパートデータセットを用いた適応モデルの学習には長時間を要する。さらに、逐次的報酬学習部310によりシステムA100向けに学習された適応モデルは、特定の環境及びエージェントを含む条件A341を前提としたものであり、環境又はエージェントが変更されることを想定していない。特に、条件A341のうち環境及びエージェントの両方が変更された場合には対応できない。そのため、条件A341と一部の環境又はエージェントが変更された条件B344、つまり、システムA100と類似するシステムB200には、モデルA342をそのまま流用することができない。システムB200にモデルA342をそのまま用いた場合、意図しない出力を返してしまうおそれがあるためである。
そこで、本実施の形態により、モデルA342に対して補正用モデル343を用いて補正したモデルB345を用いることで、システムB200に適応させたモデルを早期かつ、低費用で提供することができる。
また、本実施の形態により、生成されたモデルB345に対して、実運用中にモデルパラメータの自律的な更新を行うことができる。また、本実施の形態2は、複数のシステムB200に対して第2のモデルを生成しても良い。
<実施の形態3>
本実施の形態3は、上述した実施の形態1の具体例であり、上述した実施の形態2とは異なる態様の実施例である。本実施の形態3では、実施形態2と比べて、第1のモデルの全体を補正するのではなく、第1のモデルに含まれる評価基準(式)に対して補正を行うことで、より迅速に第2のモデルを生成するものである。また、本実施の形態3では、第1のモデルを複数の類似システムに展開する例について説明する。但し、本実施の形態3を類似システムが一つの場合に適用してもよい。
図7は、本実施の形態3にかかる情報処理システム1000aの全体構成を示すブロック図である。情報処理システム1000aは、情報処理システム1000と比べて情報処理装置300が情報処理装置300aに置き換わり、システムC200a及び運用データセット210a並びにシステムD200b及び運用データセット210bが追加されたものである。尚、図3と同等の構成には同一の符号を付し、適宜、説明を省略する。
システムC200a及びシステムD200bは、第3のシステムの一例であり、システムB200と同様、システムA100と類似するシステムである。尚、システムB200、システムC200a及びシステムD200bは、それぞれ、類似するシステムであるものとする。例えば、システムB200、システムC200a及びシステムD200bは、店舗システムである場合、環境の違いとして、店舗の所在地(周辺環境)が異なり、運営する店長(エージェント)が異なる場合に該当する。また、運用データセット210aはシステムC200aが運用された場合のデータの集合であり、運用データセット210bはシステムD200bが運用された場合のデータの集合である。
情報処理装置300aは、情報処理装置300との違いについて説明する。まず、記憶部340は、図3と比べて、補正用モデル343が補正用モデル343aに置き換わり、条件C344a、モデルC345a、条件D344b、モデルD345bをさらに記憶する。補正用モデル343aは、上述した補正用モデルの一例であり、本実施形態では、補正用パラメータの集合とする。但し、補正用モデル343aは、これに限定されない。条件C344aは、システムC200aが運用される際の対象環境101及びエージェント102の集合を示す情報である。条件D344bは、システムD200bが運用される際の対象環境101及びエージェント102の集合を示す情報である。尚、条件B344を第2の条件とした場合、条件C344a及び条件D344bの少なくともいずれか一方は、条件A341及び条件B344のいずれとも一部が異なる第3の条件と呼ぶことができる。
また、モデルC345aは、システムC200aに適応させる前又は後のパラメータ値を含むモデル式を示す情報群である。同様に、モデルD345bは、システムD200bに適応させる前又は後のパラメータ値を含むモデル式を示す情報群である。尚、モデルC345a及びモデルD345bは、適応前においては、適応前のモデルB345と同様のものを用いても良い。
モデル補正部320aは、上述したモデル補正部320に加えて、モデルA342に含まれるエージェント102の行動103を評価する評価基準に対して、補正用モデル343を用いて補正する。実施形態2と比べて補正対象が少ないため、処理時間を短縮でき、より早く第2のモデルを生成できる。さらに、モデル補正部320aは、評価基準のパラメータを補正する補正用パラメータを補正用モデル343として用いることにより、モデルB345(、モデルC345a及びモデルD345b)を生成する。このように、第1のシステム用に最適化されたパラメータ値に修正を加えることで、第1のモデルの修正量を少なくし、既存の第1のモデルを有効活用できる。
適応部330aは、適応部330と同様にモデルB345をシステムB200に適応させる。さらに、適応部330aは、システムC200aにモデルC345aを用いて運用して得られた運用データセット210aを取得し、取得した運用データセット210aを用いてモデルC345aをシステムC200aに適応させる。また、適応部330aは、システムD200bにモデルD345bを用いて運用して得られた運用データセット210bを取得し、取得した運用データセット210bを用いてモデルD345bをシステムD200bに適応させる。
図8は、本実施の形態3にかかるモデル適応方法の流れを示すフローチャートである。まず、逐次的報酬学習部310は、図6と同様に、エキスパートデータセット110を用いた逐次的報酬学習により、モデルA342をシステムA100に適応させる(S21)。次に、モデル補正部320aは、モデルA342から評価基準式を抽出する(S22a)。例えば、モデルA342には、式9に示したポリシー関数πAと、式10に示した状態遷移確率pAとが含まれているものとする。この場合、モデル補正部320aは、ポリシー関数πAから評価基準式として報酬関数rA(s、a)を抽出し、状態遷移確率pAから物理方程式hA(s、a)を抽出する。
そして、モデル補正部320aは、評価基準式のパラメータ部分を補正用モデル343aを用いて補正してモデルB345、モデルC345a及びモデルD345bを生成する(S22b)。そして、モデル補正部320aは、生成したモデルB345、モデルC345a及びモデルD345bを記憶部340に保存する。ここで、補正用モデル343aは、条件B344、条件C344a及び条件D344bに基づいて予め生成されたものである。
例えば、モデル補正部320aは、以下の式13に示すように、抽出した評価基準式である報酬関数r
A(s、a)に補正用パラメータδ
rA’を加算して報酬関数r
A’(s、a)を算出する。
(式13)
また、モデル補正部320aは、以下の式14に示すように、抽出した評価基準式である物理方程式h
A(s、a)に補正用パラメータδ
hA’を加算して物理方程式h
A’(s、a)を算出する。
(式14)
より具体的には、モデルA342の評価基準式の一つである報酬関数r
A(s、a)が以下の式15である場合、補正用パラメータδ
rA’が加算された報酬関数r
A’(s、a)は、以下の式16のように算出できる。
(式15)
(式16)
つまり、補正後の報酬関数rA’(s、a)は、補正前の報酬関数rA(s、a)内の各状態si及び行動aiについて、補正用パラメータが加算されていることを示す。
同様に、モデルA342の評価基準式の一つである物理方程式h
A(s、a)が以下の式17である場合、補正用パラメータδ
hA’が加算された物理方程式h
A’(s、a)は、以下の式18のように算出できる。
(式17)
(式18)
そして、モデル補正部320aは、上記のように補正した評価基準式をモデルA342に含めてモデルB345等を生成する。ここで、補正用パラメータδrA’及びδhA’がシステムB200、システムC200a及びシステムD200bの間で共通であれば、モデルB345、モデルC345a及びモデルD345bは、この段階では同じであっても構わない。
例えば、モデルB345等には、以下の式19に示すポリシー関数π
A’と、以下の式20に示す状態遷移確率p
A’とが含まれているものとする。
(式19)
(式20)
その後、適応部330aは、モデルB345を用いてシステムB200を運用する(S23)。そして、適応部330は、ステップS23の運用により生じた運用データを運用データセット210として保存する(S24)。その後、適応部330は、運用データセット210を用いてモデルB345をシステムB200に適応させる(S25)。このとき、適応部330は、逐次的報酬学習部310と同様に逐次的報酬学習により、モデルB345のパラメータ値を調整(最適化)し、調整後のパラメータを設定したモデルB345を記憶部340に保存又は更新する。
ステップS23からS25と並行して、適応部330aは、モデルC345aを用いてシステムC200aを運用する(S23a)。そして、適応部330aは、ステップS23aの運用により生じた運用データを運用データセット210aとして保存する(S24a)。その後、適応部330aは、運用データセット210aを用いてモデルC345aをシステムC200aに適応させる(S25a)。このとき、適応部330aは、逐次的報酬学習部310と同様に逐次的報酬学習により、モデルC345aのパラメータ値を調整(最適化)し、調整後のパラメータを設定したモデルC345aを記憶部340に保存又は更新する。
ステップS23からS25並びにステップS23aからS25aと並行して、適応部330aは、モデルD345bを用いてシステムD200bを運用する(S23b)。そして、適応部330aは、ステップS23bの運用により生じた運用データを運用データセット210bとして保存する(S24b)。その後、適応部330aは、運用データセット210bを用いてモデルD345bをシステムD200bに適応させる(S25b)。このとき、適応部330aは、逐次的報酬学習部310と同様に逐次的報酬学習により、モデルD345bのパラメータ値を調整(最適化)し、調整後のパラメータを設定したモデルD345bを記憶部340に保存又は更新する。
このように本実施の形態3では、第1のモデルの全体を補正するのではなく、第1のモデルに含まれる評価基準(式)に対して補正を行うことで、より迅速に第2のモデルを生成することができる。また、第1のモデルに含まれる適応済のパラメータ値に補正を加えるため、修正量を最小限に抑えつつ、高精度に適応させることができる。また、第2のモデルを適応させる際には、少量の運用データで学習が可能であるため、例えば、システムの移行直後や運用開始直後などに得られた少量の運用データから高精度かつ高速に適応(モデルパラメータの更新)が可能となる。
尚、上述した補正用モデル343aは、システムB200、システムC200a及びシステムD200bのそれぞれに対応した複数の補正用モデルであってもよい。また、補正用モデル343aは、ランダムな値であっても良く、又は、システムB200、システムC200a及びシステムD200bのそれぞれに対応したモデルの確率分布に基づく値であってもよい。
その場合、モデル補正部320a(生成部)は、モデルA342(第1のモデル)に対して、条件B344(第2の条件)に応じた第1の補正用モデルを用いて補正することによりモデルB345(第2のモデル)を生成する。そして、モデル補正部320aは、モデルA342に対して、条件A341及び条件B344のいずれとも一部が異なる条件C344a(第3の条件)に応じた第2の補正用モデルを用いて補正することによりモデルC345a(第3のモデル)を生成する。また、モデル補正部320aは、モデルA342に対して、条件A341、条件B344及び条件C344aのいずれとも一部が異なる条件D344bに応じた補正用モデルを用いて補正することによりモデルD345bを生成する。その後、適応部330aは、システムB200(第2のシステム)に、モデルB345を適応させ、システムC200a(第3のシステム)に、モデルC345aを適応させ、システムD200bにモデルD345bを適応させる。
<実施の形態4>
本実施の形態4は、上述した実施の形態3の改良例である。本実施の形態4において、前記生成部は、前記第1の条件と一部が異なる第4の条件に基づき運用される第4のシステムに適応させた第4のモデルに対して前記補正用モデルを用いて補正した第4のモデルを生成する。そして、前記適応部は、前記第4の条件に基づき運用される第4のシステムに、前記第4のモデルを適応させる。そして、前記情報処理装置は、前記適応部により適応させた前記第2のモデルと前記第4のモデルとの比較結果を出力する出力部をさらに備える。
図9は、本実施の形態4にかかる情報処理システム1000bの全体構成を示すブロック図である。情報処理システム1000bは、情報処理システム1000aと比べて情報処理装置300aが情報処理装置300bに置き換わったものである。そして、情報処理装置300bは、情報処理装置300aと比べて、比較・出力部350が追加されたものである。比較・出力部350は、適応部330aにより適応済みのモデルB345、モデルC345a及びモデルD345bのそれぞれの比較を行ない、比較結果を出力する。ここで、比較結果には、モデルを構成する行動又は状態の差異、対応する行動又は状態におけるパラメータ値の違い、条件の違い等を示す情報が含まれる。また、モデル補正部320aは、実施形態2と同様に、X-shot適応を行っても良い。また、比較・出力部350は、モデルA342(第1のモデル)と他のモデルとの比較を行い、その比較結果を出力してもよい。尚、図7と同等の構成には同一の符号を付し、適宜、説明を省略する。
図10は、本実施の形態4にかかるモデル比較処理の流れを示すフローチャートである。モデル比較処理は、上述した図8のモデル適応方法の後に実行されるものである。まず、比較・出力部350は、記憶部340からモデルB345、モデルC345a及びモデルD345bを読み出す(S51)。次に、比較・出力部350は、ステップS52、S53及びS54を任意の順序で、又は、適宜、並行して処理する。
ステップS52において、比較・出力部350は、モデルB345とモデルC345aを比較し、比較結果を求める。ステップS53において、比較・出力部350は、モデルC345aとモデルD345bを比較し、比較結果を求める。ステップS54において、比較・出力部350は、モデルD345bとモデルB345を比較し、比較結果を求める。
ステップS52からS54の後、比較・出力部350は、各比較結果を集約して(又は個別に)出力する(S55)。例えば、比較・出力部350は、情報処理装置300bの画面(不図示)に各比較結果を表示してもよい。または、比較・出力部350は、記憶部340に各比較結果を保存してもよい。または、比較・出力部350は、(ネットワークを介して)外部の記憶装置、コンピュータ、又は、表示装置へ各比較結果を出力してもよい。
本実施の形態により、互いに条件の一部が異なるものの、類似するシステムB200、システムC200a、システムD200bとの間のシステムのメカニズム(例えば、物理方程式)や運用の意図(報酬関数)を明示的に比較することができる。さらに、生成された評価基準式を用いて、各システムに共通する普遍的な挙動、運用方法の改善、アンサンブルによる精度向上が可能となる。さらに、比較対象として第1のモデル(モデルA342)を加えることで、システムA100を含めた分析が可能となる。
<実施の形態5>
本実施の形態5は、上述した実施の形態3又は4の応用例である。本実施の形態5は、自動運転システムに適用する場合である。一般に、生活道路における運転には、安全に対する基準が明確とはいえない。そこで、本実施の形態5は、生活道路における人間の運転履歴から自動車の運転動作を自律的に学習し、生活道路における自動運転を安全に実現することを目指すものである。以下では、特に、車線変更を対象とするものとする。
図11は、自動車の運転における車線変更の例を説明するための図である。ケースh1-1は、運転車両C11の前方(同じ車線上)に車両V11が存在する(例えば、駐停車又は走行している)場合に、運転車両C11が前方の車両V11に接触することなく、安全に隣の車線に移動したことを示す。このとき、運転車両C11を運転する運転者は、前方の車両V11を避けるべく、運転車両C11を隣の車線に移動するようにハンドル操作を行い、必要に応じてアクセス及びブレーキも操作したものとする。そして、当該運転者によるこれら運転操作は、エージェント102の行動103である。また、対象環境101(運転環境)は、運転車両の種類(トラック、普通自動車等)及びサイズ、周辺車両の情報(数、位置関係、車種及びサイズ等)、交通量、時間帯及び天気(明るさ)、道路の情報(車線数、車幅、信号、カーブ)等である。例えば、ケースh1-1では、運転車両C11の走行車線が左側であること、車両V11が同じ車線の前方に存在していること、車両V11と運転車両C11との距離、車線数、道路の傾斜やカーブの角度等は、対象環境101における状態104といえる。よって、ケースh1-1における行動103及び状態104が運用データとなる。また、ケースh1-1では、事故が起きていないため、運転車両C11の運転者を熟練者とみなし、ケースh1-1における運用データをエキスパートデータとすることができる。
また、ケースh1-2は、運転車両C12の前方(同じ車線上)に車両V12が存在すると共に、運転車両C12の真横(隣の車線)に車両V13が存在している場合を示す。このとき、運転車両C12は真横の車両V13に接触せずに車線変更したが、前方の車両V12に接触してしまったことを示す。このときの運用データ(ハンドル操作等と、車両V13の存在等)は、ケースh1-1の場合の運用データとは異なる。また、ケースh1-2では、事故が起きてしまったため、運転車両C12の運転者をエキスパートから除外し、ケースh1-2における運用データをエキスパートデータとはしない。
つまり、安全な車線変更を行うには、熟練者による運転操作(行動)が重要である。一方で、安全に車線変更できるか否かには、運転環境の影響も大きいといえる。そのため、エキスパートデータとして、熟練者の運転操作とその時の環境情報とをセットにすることが重要である。そして、車線変更のエキスパートデータを蓄積し、これらを用いて逐次的報酬学習部310により逐次的報酬学習することで、適応済みの第1のモデルを生成することができる。また、ある道路(運転者及び環境)における車線変更の適応済み第1のモデルが生成された場合、モデル補正部320a等により、第1のモデルに対して補正用モデルにより補正して第2のモデルを生成できる。そして、適応部330a等は、第2のモデルを他の条件(運転者及び環境(場所等))における道路の車線変更操作に適応させることで、様々な道路における安全な車線変更モデルを生成できる。
図12は、本実施の形態5にかかる運転技術のモデル生成の概念を説明するための図である。ケースh2-1は、運転車両C21の前方には他の車両が存在しないが、隣の車線上に車両V21が存在する場合を示す。そして、このとき、運転車両C21は、車線変更して車両V21の後方に安全に近付いたことを示す。ケースh2-2は、運転車両C22の前方に車両V22が存在し、運転車両C22の真横に車両V23が存在し、かつ、車両V23の前方には他の車両が存在しない場合を示す。そして、このとき、運転車両C22は、前方の車両V22及び真横の車両V23に接触することなく、安全に隣の車線に移動したことを示す。ケースh2-3は、運転車両C23の前方の両車線に車両V24及びV25が存在し、運転車両C23の真横に車両V26が存在する場合を示す。そして、このとき、運転車両C23は、真横の車両V26に接触することなく車線変更して車両V24の後方に安全に近付いたことを示す。ケースh2-4は、運転車両C24の前方の両車線に車両V27及びV28が存在する場合を示す。そして、このとき、運転車両C24は、車線変更して車両V28の後方に安全に近付いたことを示す。つまり、ケースh2-1からh2-4における運用データは、エキスパートデータの一例といえる。そして、逐次的報酬学習部310、モデル補正部320a及び適応部330a等は、これらのエキスパートデータから適宜、自律的に学習することで、様々な道路で利用可能な車線変更モデルを生成できる。
図13は、本実施の形態5にかかるモデルを他の道路へ適用した場合の概念を説明するための図である。ケースh3-1は、運転車両C31の前方(同じ車線上)に車両V31が存在する場合において、適応部330a等により適応済みの車線変更モデルを用いて自動運転し、車線変更した経過を示す。また、ケースh3-2は、運転車両C32の前方(同じ車線上)に車両V32が存在し、かつ、運転車両C32の真横に車両V33が存在する場合において、適応部330a等により適応済みの車線変更モデルを用いて自動運転し、車線変更した経過を示す。ケースh3-1及びh3-2では、いずれも安全に車線変更できたことを示す。
さらに、本実施の形態4にかかるモデル比較処理を適用することで、汎用的な車線変更モデルの特徴を抽出することもできる。例えば、本実施の形態5により生成された複数の車線変更モデルの比較結果から、「車間距離がxメールになった時、速度を1/3に落とし、y度の角度でハンドルを切る」などといった安全な車線変更のための環境(条件)及び運転操作(行動)を導出できる。そのため、生活道路における安全基準として、例えば、乗車人数が無関係であること、等も導くことができる。
<実施の形態6>
本実施の形態6は、上述した実施の形態3又は4の他の応用例である。本実施の形態6は、自動販売機のフェイスデータに適用する場合である。フェイスデータとは、例えば、飲料の自動販売機において、販売対象の飲料のサンブルの配置(段の位置や並び順)やラベル内容を示す情報である。ここで、自動販売機における売り上げの傾向は、設置場所の周辺環境、客層に加えて、フェイスデータの影響が大きいことが知られている。例えば、環境情報としては、ある自動販売機の隣に設置された他の自動販売機で取り扱う飲料の種類や数、その自動販売機が自社又は他社のものかが挙げられる。また、別の環境情報としては、近隣にコンビニエンスストアがあるか否か、設置場所が住宅地(マンション又は戸建)か商業地区、ビル内であれば階数とその階のオフィスの部署が挙げられる。一方で、自動販売機ごとに適用されるフェイスデータのパターンは、現場のルートマン(飲料の配達及び補充員)の経験に基づき、環境情報を加味した判断に一任されていることがほとんどである。そのため、自動販売機の売上は、ルートマンの熟練度(どのようなフェイスデータを適用するか)に依存することも知られている。
ここで、自動販売機で取り扱う物品(飲料等)の種類やその比率(本数)は、コラム構成と呼ばれ、販売会社において事前に決定されていることが一般的である。コラム構成は、主要な取扱い飲料のグループをカテゴリとして呼ばれることもある。図14は、自動販売機のカテゴリごとのフェイスデータ群の概念を説明するための図である。例えば、フェイスデータ群F1は、コーヒーを中心に販売するコーヒー型のカテゴリにおけるフェイスデータの集合である。フェイスデータ群F2は、炭酸飲料を中心に販売する炭酸型のカテゴリにおけるフェイスデータの集合である。フェイスデータ群F3は、お茶を中心に販売するお茶型のカテゴリにおけるフェイスデータの集合である。
ここで、自動販売機ごとのフェイスデータ及び環境情報を全て(大量に)取得して、ディープラーニングにより環境ごとのフェイスデータを導出するモデルを生成することも考えられる。しかしながら、自動販売機ごとのフェイスデータ及び環境情報は、現状、ほとんど電子化されていないため、全ての自動販売機のフェイスデータを取得することはルートマンの負担が大きく、実現が困難である。一方で、自動販売機ごとの売上情報は、飲料ごとの売上本数又は売上金額が所定の期間ごとに正確に記録されている。そして、期間は、ルートマンが配達及び補充するタイミングと関連し、フェイスデータの変更との関連も明確である。
そこで、売上の高い自動販売機を担当しているルートマンを熟練者とし、熟練者が適用したフェイスデータを「行動」とし、適用された自動販売機(対象環境)における「状態」との組をエキスパートデータとすることが考えられる。ここで、状態としては、上述した環境情報、客層、フェイスデータの適用期間及び適用期間における売上情報等が含まれる。このように、熟練したルートマンが適用したフェイスデータに限定するため、フェイスデータの取得及び電子化の負担は相対的に低いといえる。
そこで、本実施の形態6にかかる情報処理装置は、生成部と、適応部と、出力部と、を少なくとも備える。ここで、生成部は、第1のモデルに対して補正用モデルを用いて補正した第2のモデルを生成する。そして、第1のモデルは、特定の環境及びエージェントを含む第1の条件に基づき運用される第1の自動販売機に適応させたものである。また、適応部は、前記第1の条件と一部が異なる第2の条件に基づき運用される第2の自動販売機に、前記第2のモデルを適応させる。また、出力部は、前記適応させた第2のモデルを用いて、前記第2の自動販売機におけるフェイスデータを生成して出力する。これにより、所定の自動販売機に適応させたモデルを活用して、環境又はエージェントの類似する他の自動販売機に効率的に適応させることができる。
さらに、前記適応部は、前記第2の自動販売機に前記第2のモデルを用いて運用して得られた運用データを取得し、前記取得した運用データを用いて前記第2のモデルを前記第2の自動販売機に適応させることが望ましい。
そして、前記情報処理装置は、前記第2モデルの適応指示を受け付ける受付部をさらに備え、前記適応部は、前記適応指示を受け付けた場合に、前記取得した運用データを用いて前記第2のモデルを前記第2の自動販売機に適応させるとよい。
また、前記情報処理装置は、エキスパートデータを用いた逐次的報酬学習により、当該第1の自動販売機に適応させた前記第1のモデルを生成する逐次的報酬学習部をさらに備えることが望ましい。ここで、当該エキスパートデータは、前記第1の自動販売機の運用において前記特定のエージェントが適用した第1のフェイスデータと、当該第1のフェイスデータの適用時の前記特定の環境の状態との組である。
図15は、本実施の形態6にかかる情報処理システム1000cの全体構成を示すブロック図である。情報処理システム1000cは、エキスパートデータセット110cと、情報処理装置300cとを少なくとも備える。エキスパートデータセット110cは、第1の自動販売機において運用された場合の運用データセットである。尚、エキスパートデータセット110cは、2以上の自動販売機において運用された場合の運用データセットであってもよい。エキスパートデータセット110cは、フェイスデータ111と、状態112との組み合わせである。尚、エキスパートデータセット110cは、複数の組合せを含むものであってもよい。フェイスデータ111は、第1の自動販売機に対して熟練したルートマンであるエキスパートが状態112を考慮して適用した実績のあるフェイスデータである。状態112は、例えば、環境情報1121、客層1122、適用期間1123及び売上情報1124の組合せである。ただし、状態112は、当該組合せのうち一部であってもよい。
情報処理装置300cは、逐次的報酬学習部310cと、モデル補正部320cと、適応部330cと、記憶部340cと、出力部350cと、受付部360cとを備える。記憶部340cは、ハードディスク、フラッシュメモリ等の記憶装置又はメモリである。記憶部340cは、条件X341cと、モデルX342cと、補正用モデル343cと、条件Y344cと、モデルY345cと、フェイスデータ347とを記憶する。
条件X341cは、上述した第1の条件を示す情報の一例であり、第1の自動販売機が運用される際の対象環境101及びエージェント102の集合を示す情報である。また、条件Y344cは、上述した第2の条件を示す情報の一例であり、第2の自動販売機が運用される際の対象環境101及びエージェント102の集合を示す情報である。つまり、条件X341cと条件Y344cは、対象環境101及びエージェント102の少なくとも一部が異なる。
モデルX342cは、上述した第1のモデルの一例であり、第1の自動販売機に適応させたパラメータ値を含むモデル式を示す情報群である。モデルY345cは、上述した第2のモデルの一例であり、第2の自動販売機に適応させる前又は後のパラメータ値を含むモデル式を示す情報群である。補正用モデル343cは、上述した補正用モデルの一例であり、本実施形態では、状態s及び行動aを用いたパラメータ関数とする。但し、補正用モデル343cは、これに限定されない。フェイスデータ347は、適応後のモデルY345cを用いて、第2の自動販売機で運用するためのフェイスデータである。
逐次的報酬学習部310cは、エキスパートデータセット110cを用いて第1の自動販売機におけるモデルX342cの逐次的報酬学習を行う。モデル補正部320cは、上述した生成部の一例である。モデル補正部320cは、第1の自動販売機に適応させたモデルX342cに対して補正用モデル343cを用いて補正し、モデルY345cを生成し、記憶部340cに保存又は更新する。適応部330cは、第2の自動販売機にモデルY345cを用いて運用して得られた運用データセットを取得し、取得した運用データセットを用いてモデルY345cを第2の自動販売機に適応させる。出力部350cは、適応させたモデルY345cを用いて、第2の自動販売機におけるフェイスデータ347を生成して出力する。受付部360cは、モデルY345cの適応指示を受け付ける。つまり、受付部360cは、外部からモデルY345cを第2の自動販売機に適応させる指示を受け付ける。この場合、適応部330cは、取得した運用データセットを用いてモデルY345cを第2の自動販売機に適応させる。
図16は、本実施の形態6にかかる自動販売機のフェイスデータのモデル生成の概念を説明するための図である。ここでは、フェイスデータ群F1、F2、F3及びF4は、エキスパートが適用したものとし、電子化されたデータであるものとする。尚、フェイスデータ群F4は、機能性型のカテゴリの自動販売機におけるフェイスデータの集合である。フェイスデータ群F1~F4は、例えば、自動販売機の正面(販売物品のサンプル及びラベル)を撮影した撮影画像であるか、販売対象の飲料のサンブルの配置(段の位置や並び順)やラベル内容をテキスト化したものとする。また、フェイスデータ群F1~F4に対応する環境情報もエキスパートから聴取した上で電子化(テキスト化)されたものとする。そして、逐次的報酬学習部310cは、これらのフェイスデータ並びに環境情報及び売上情報等のエキスパートデータを用いて逐次的報酬学習することで、適応済みの第1のモデル(モデルX342c)を生成することができる。さらに、モデル補正部320cは、第1のモデルに対して補正用モデル343cにより補正して、第2のモデル(モデルY345c)を生成できる。そして、適応部330cは、第2のモデルを、一部の条件が異なる第2の自動販売機に適応させる。その後、出力部350cは、当該条件における最適なフェイスデータ347を生成して出力できる。例えば、ある設置場所における自動販売機では、これまでとは異なるカテゴリのフェイスデータが提案される可能性もある。
図17は、本実施の形態6にかかるモデルを異なる条件の複数の自動販売機へ適用した場合に提案されたフェイスデータの例を説明するための図である。例えば、フェイスデータF5は、コーヒー型のカテゴリにおける最適なフェイスデータの例である。また、フェイスデータF6は、炭酸型のカテゴリにおける最適なフェイスデータの例である。また、フェイスデータF7は、お茶型のカテゴリにおける最適なフェイスデータの例である。
このように、本実施の形態により、適応済みのモデルを用いて環境情報に応じて最適なフェイスデータを提案することができる。また、販売会社に対して、自動販売機の環境情報に基づいて、コラム構成とフェイス構成の最適なセットを提案(販売)することもできる。
<実施の形態7>
本実施の形態7は、上述した実施の形態3又は4の他の応用例である。本実施の形態7は、水道インフラストラクチャ(以下、水道インフラと記す。)に適用する場合である。水道インフラは、時間の経過や環境の変化に応じて見直すことが望まれる。例えば、水道インフラにおいて、人口減少や節水効果による水需要の減少や、施設や管路の老朽化に伴う更新コストを考慮した場合、水道インフラのダウンサイジングが必要になることもある。
例えば、水道インフラの事業経営の効率化に向けた設備整備計画を立案するためには、将来の水需要減少や設備の更新時期などを考慮しながら、施設能力の適正化や施設の統廃合を実施する必要がある。具体的には、水需要が減少している場合には、過剰に水を供給する施設のポンプを入れ替えることで水の量を減少するようにダウンサイジングすることが考えられる。他にも、配水施設そのものを廃止するとともに、別の配水施設からの管路を追加して他の区域と統合(共有化)することも考えられる。このようなダウンサイジングを行うことで、コスト削減や効率化が期待できるからである。
また、異なる地域(自治体)の間で水道インフラには、共通点が多い。そのため、ある地域の水道インフラにおいて生成及び適応されたモデル(及びパラメータ)は、他の地域の水道インフラに適用することが効果的といえる。
ここで、水道インフラをシステムとして捉えた場合、対象環境、状態、エージェント、行動は、次のものがいえる。まず、対象環境は、水道インフラの状態(例えば、配水ネットワーク、ポンプの能力、配水管の状態など)の集合として表される。状態は、各拠点の電圧、水位、圧力、水量など、運用者が明示的に操作できないネットワークのダイナミクスを記述する変数で表される。また、エージェントは、意思決定に基づき行動を行う運用者や、外部システムに対応する。そして、エージェントが行うべき行動は、配水ネットワーク上の需要エリアに、過不足なく水を供給する必要がある。そこで、行動は、バルブの開閉、水の引き入れ、ポンプの閾値など、運用ルールに基づいて制御できる変数で表わされる。
図18は、本実施の形態7にかかる地域における水道インフラの水道モデルを他の水道局へ適用する場合の概念を説明するための図である。水道インフラW1は、ある地域の水道局の水道インフラである。そして、水道インフラW1における熟練した職員によるオペレーションとその際の環境の状態とがエキスパートデータといえる。そこで、当該エキスパートデータを蓄積し、これらを用いて逐次的報酬学習部310により逐次的報酬学習することで、適応済みの第1のモデルを生成することができる。そして、モデル補正部320a等により、第1のモデルに対して補正用モデルにより補正して第2のモデルを生成できる。
ここで、水道インフラW2からW5は、水道インフラW1とは異なる地域又は将来のダウンサイジング対象の条件であるものとする。そこで、適応部330a等は、第2のモデルを水道インフラW2からW5に適応させることで、様々な地域又は条件における精度の高い制御を実現できる。
<その他の実施の形態>
尚、上述した本実施の各形態は転移学習の一種ということができる。
なお、上記実施の形態において、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェア的には、CPU(Central Processing Unit)、メモリ、その他の回路で構成することができ、ソフトウェア的には、CPUがメモリにロードして実行するプログラム等によって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、又はそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
また、上記のプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD-ROM(Compact Disc-Read Only Memory)、CD-R(CD-Recordable)、CD-R/W(CD-ReWritable)、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されても良い。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
なお、本開示は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。また、本開示は、それぞれの実施の形態を適宜組み合わせて実施されてもよい。
上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
(付記1)
特定の環境及びエージェントを含む第1の条件に基づき運用される第1の自動販売機に適応させた第1のモデルに対して補正用モデルを用いて補正した第2のモデルを生成する生成部と、
前記第1の条件と一部が異なる第2の条件に基づき運用される第2の自動販売機に、前記第2のモデルを適応させる適応部と、
前記適応させた第2のモデルを用いて、前記第2の自動販売機におけるフェイスデータを生成して出力する出力部と、
を備える情報処理装置。
(付記2)
前記適応部は、
前記第2の自動販売機に前記第2のモデルを用いて運用して得られた運用データを取得し、
前記取得した運用データを用いて前記第2のモデルを前記第2の自動販売機に適応させる
付記1に記載の情報処理装置。
(付記3)
前記第2モデルの適応指示を受け付ける受付部をさらに備え、
前記適応部は、前記適応指示を受け付けた場合に、前記取得した運用データを用いて前記第2のモデルを前記第2の自動販売機に適応させる
付記2に記載の情報処理装置。
(付記4)
前記生成部は、
前記第1のモデルに含まれる前記エージェントの行動を評価する評価基準に対して、前記補正用モデルを用いて補正する
付記1乃至3のいずれか1項に記載の情報処理装置。
(付記5)
前記生成部は、
前記評価基準のパラメータを補正する補正用パラメータを前記補正用モデルとして用いることにより、前記第2のモデルを生成する
付記4に記載の情報処理装置。
(付記6)
前記生成部は、
前記第2の自動販売機における運用データを用いて前記補正用モデルを算出し、
当該算出した補正用モデルを用いて、前記第1のモデルに対して補正を行うことにより前記第2のモデルを生成する
付記1乃至3のいずれか1項に記載の情報処理装置。
(付記7)
前記適応部は、
前記第1の条件及び前記第2の条件のいずれとも一部が異なる第3の条件に基づき運用される第3の自動販売機に、前記第2のモデルを適応させる
付記1乃至6のいずれか1項に記載の情報処理装置。
(付記8)
前記生成部は、
前記第1のモデルに対して、前記第2の条件に応じた第1の補正用モデルを用いて補正することにより前記第2のモデルを生成し、
前記第1のモデルに対して、前記第1の条件及び前記第2の条件のいずれとも一部が異なる第3の条件に応じた第2の補正用モデルを用いて補正することにより第3のモデルを生成し、
前記適応部は、
前記第3の条件に基づき運用される第3の自動販売機に、前記第3のモデルを適応させる
付記1乃至6のいずれか1項に記載の情報処理装置。
(付記9)
前記生成部は、
前記第1の条件と一部が異なる第4の条件に基づき運用される第4の自動販売機に適応させた第4のモデルに対して前記補正用モデルを用いて補正した第4のモデルを生成し、
前記適応部は、
前記第4の条件に基づき運用される第4の自動販売機に、前記第4のモデルを適応させ、
前記情報処理装置は、
前記適応部により適応させた前記第2のモデルと前記第4のモデルとの比較結果を出力する出力部をさらに備える
付記1乃至6のいずれか1項に記載の情報処理装置。
(付記10)
前記第1のモデルは、
前記特定の環境の状態を示す状態ベクトルと当該状態ベクトルで表される状態において前記特定のエージェントが行う行動とを対応付けた行動データを用いた逐次的報酬学習により生成されたポリシー関数及び報酬関数を含み、
前記報酬関数は、前記状態ベクトルの入力に対して、当該状態ベクトルで表される状態において得られる報酬を出力し、
前記ポリシー関数は、前記状態ベクトルを入力した際の前記報酬関数の出力値を入力として、当該状態ベクトルで表される状態において前記特定のエージェントが行うべき行動を出力する
付記1乃至9のいずれか1項に記載の情報処理装置。
(付記11)
前記第1のモデルは、
前記報酬関数に対応付けられた物理方程式、及び前記ポリシー関数に対応付けられ、所定の前記状態の確率分布を表すボルツマン分布に従う状態遷移確率をさらに含む、
付記10に記載の情報処理装置。
(付記12)
前記第1の自動販売機の運用において前記特定のエージェントが適用した第1のフェイスデータと、当該第1のフェイスデータの適用時の前記特定の環境の状態との組であるエキスパートデータを用いた逐次的報酬学習により、当該第1の自動販売機に適応させた前記第1のモデルを生成する逐次的報酬学習部をさらに備える
付記1乃至11のいずれか1項の記載の情報処理装置。
(付記13)
特定の環境及びエージェントを含む第1の条件に基づき運用される第1の自動販売機に適応させた第1のモデルと、所定の補正用モデルとを記憶する記憶部と、
前記第1のモデルに対して前記補正用モデルを用いて補正した第2のモデルを生成する生成部と、
前記第1の条件と一部が異なる第2の条件に基づき運用される第2の自動販売機に、前記第2のモデルを適応させる適応部と、
前記適応させた第2のモデルを用いて、前記第2の自動販売機におけるフェイスデータを生成して出力する出力部と、
を備える情報処理システム。
(付記14)
前記適応部は、
前記第2の自動販売機に前記第2のモデルを用いて運用して得られた運用データを取得し、
前記取得した運用データを用いて前記第2のモデルを前記第2の自動販売機に適応させる
付記13に記載の情報処理システム。
(付記15)
コンピュータが、
特定の環境及びエージェントを含む第1の条件に基づき運用される第1の自動販売機に適応させた第1のモデルに対して補正用モデルを用いて補正した第2のモデルを生成し、
前記第1の条件と一部が異なる第2の条件に基づき運用される第2の自動販売機に、前記第2のモデルを適応させ、
前記適応させた第2のモデルを用いて、前記第2の自動販売機におけるフェイスデータを生成し、
前記生成したフェイスデータを出力する、
モデル適応方法。
(付記16)
特定の環境及びエージェントを含む第1の条件に基づき運用される第1の自動販売機に適応させた第1のモデルに対して補正用モデルを用いて補正した第2のモデルを生成する処理と、
前記第1の条件と一部が異なる第2の条件に基づき運用される第2の自動販売機に、前記第2のモデルを適応させる処理と、
前記適応させた第2のモデルを用いて、前記第2の自動販売機におけるフェイスデータを生成する処理と、
前記生成したフェイスデータを出力する処理と、
をコンピュータに実行させるモデル適応プログラムが格納された非一時的なコンピュータ可読媒体。