JP2013225192A - Reward function estimation apparatus, reward function estimation method and program - Google Patents
Reward function estimation apparatus, reward function estimation method and program Download PDFInfo
- Publication number
- JP2013225192A JP2013225192A JP2012096453A JP2012096453A JP2013225192A JP 2013225192 A JP2013225192 A JP 2013225192A JP 2012096453 A JP2012096453 A JP 2012096453A JP 2012096453 A JP2012096453 A JP 2012096453A JP 2013225192 A JP2013225192 A JP 2013225192A
- Authority
- JP
- Japan
- Prior art keywords
- training
- reward function
- reward
- value
- sequence
- 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.)
- Granted
Links
Images
Abstract
Description
本発明は、強化学習問題において行動列(ある状態とその状態に対する行動のペアの連なり)と行動列に付与された評価(あるタスクに対する行動列の適切さを表す指標)に基づき、評価の高い行動列を再現するための報酬関数を推定する報酬関数推定装置、方法、プログラムに関する。 The present invention has a high evaluation based on an action sequence (a series of action pairs for a certain state and an action pair) and an evaluation given to the action sequence (an index indicating appropriateness of the action sequence for a certain task) in the reinforcement learning problem. The present invention relates to a reward function estimation device, method, and program for estimating a reward function for reproducing an action sequence.
報酬関数に基づき意思決定を行う手法として、強化学習と呼ばれる手法(非特許文献1,2参照)が知られている。強化学習とは、ある環境内におけるエージェントが、現在の「状態」を観測し、取るべき「行動」を決定する問題を扱う機械学習の一種を意味する。強化学習では、例えばある環境中で自律的に行動するロボットシステムが環境から得られる「状態」に応じて、「報酬」が最大になるような「行動」を選択していくという問題を扱う。すなわち強化学習では、達成させたい「タスク」に応じて「報酬」を設計することで、システムの行動を設計することができる。なお報酬関数とは、入力された「状態」に対応する「報酬」を出力する関数を意味する。具体例を挙げる。例えば「穴が開いてるGridに切られた世界(Gridworld)で、エージェントが穴に落ちないように、ゴールまで最短距離で移動する」という「タスク」を想定する。このようなタスクのための報酬関数の一例は、穴という「状態」に対して-100という「報酬」を出力し、ゴールという「状態」に対して+100という「報酬」を出力し、それ以外の位置という「状態」に対して-1という「報酬」を出力する関数である。
As a technique for making a decision based on a reward function, a technique called reinforcement learning (see Non-Patent
従来、プログラムの設計者はこの報酬関数をあらかじめ適切に設計しておく必要があった。しかし、特定の望ましい行動をシステムに取らせたい場合に報酬関数をどのように設定すればよいかは、人のヒューリスティックな知識に依存し、難しい問題であった(非特許文献3参照)。 Conventionally, the program designer had to design the reward function appropriately in advance. However, how to set a reward function when it is desired to cause the system to take a specific desired action depends on human heuristic knowledge and is a difficult problem (see Non-Patent Document 3).
この問題を解決し、所与の行動列を再現する報酬関数を推定する方法として、逆強化学習に基づく報酬関数推定手法(非特許文献4,5参照)が知られている。これらの手法では、適当な報酬関数を用いて所与の行動列が再現されるかどうかをシミュレーションによってテストし、所与の行動列と異なる行動が選択された場合に報酬関数のパラメータを修正して再度テストすることを繰り返し、適切な報酬関数を推定する。
As a method for solving this problem and estimating a reward function that reproduces a given action sequence, a reward function estimation method based on inverse reinforcement learning (see Non-Patent
非特許文献4,5では、与えられた行動列が全て正しく、再現すべき対象であるという前提で報酬関数の推定が行われる。しかし、実際の行動列はそれぞれタスクに対する適切さが異なっている。例えば、人を説得する対話(状態:対話相手の発言,行動:説得するための発話)や、けん玉のコントロール(状態:けん玉の位置・自分の腕位置など,行動:腕・手関節制御信号)などの行動列の場合、タスクを失敗した不適切な行動列も再現対象の行動列に含まれ得る。これらを同一の適切さを持つ行動列として報酬関数を推定すると、不適切な行動列を生成した報酬関数を含んだ報酬関数が推定されてしまう。また、適切な行動列のみを人手で選んで非特許文献4,5の入力とした場合には、今度は学習データサイズが減ってしまう。そのような場合、対応する学習データが存在しない「状態」および「行動」が増えてしまう。これにより、何らかの原因でそうした「行動」を取らざるを得ない「状態」に置かれた場合、この欠損によって致命的な行動を回避できないという問題が発生する。
In
本発明はこのような点に鑑みてなされたものであり、従来よりも適切な報酬関数を推定することが可能な技術を提供することを目的とする。 The present invention has been made in view of these points, and an object thereof is to provide a technique capable of estimating a reward function more appropriate than in the past.
本発明では、行動によって遷移する一連の状態と各状態での行動とを表す訓練行動列からなる集合、および、訓練行動列それぞれの適切さを表す訓練順序評価値の集合が格納されており、状態に対する報酬値を求める報酬関数を用い、訓練行動列が表す一連の状態の報酬値に対応する順序評価値を得、順序評価値の集合と訓練順序評価値の集合との相違に基づいて報酬関数を更新する。 In the present invention, a set of training behavior sequences representing a series of states transitioned by behavior and behavior in each state, and a set of training order evaluation values representing the appropriateness of each training behavior sequence are stored. Using a reward function to obtain a reward value for the state, obtain an order evaluation value corresponding to a series of state reward values represented by the training action sequence, and reward based on the difference between the order evaluation value set and the training order evaluation value set Update the function.
本発明では、報酬関数を用いて得られる訓練行動列の順序評価値と訓練行動列の訓練順序評価値との相違に基づいて報酬関数を推定する。そのため、訓練行動列の適切さを考慮して報酬関数を推定でき、従来よりも適切に報酬関数を推定できる。 In the present invention, the reward function is estimated based on the difference between the order evaluation value of the training action sequence obtained using the reward function and the training order evaluation value of the training action sequence. Therefore, the reward function can be estimated in consideration of the appropriateness of the training action sequence, and the reward function can be estimated more appropriately than before.
以下、図面を参照して本発明の実施形態を説明する。
図1に例示するように、本形態の報酬関数推定装置1は、訓練行動列記憶部11、状態遷移計算部12、行動評価部13、行動決定部14、訓練行動列評価部15、報酬関数調整部16、および制御部17を有する。報酬関数推定装置1は、例えば、公知または専用のコンピュータに所定のプログラムが読み込まれることで構成される特別な装置である。あるいは例えば、報酬関数推定装置1を構成する各部の少なくとも一部がハードウェアによって構成されてもよい。報酬関数推定装置1は、制御部17による制御に従って各処理を実行する。学習時には、例えば、訓練行動列記憶部11、状態遷移計算部12、行動評価部13、行動決定部14、訓練行動列評価部15、および報酬関数調整部16によって、適切な報酬関数を推定する。実行時には、例えば、状態遷移計算部12、行動評価部13、および行動決定部14によって適切な行動を得る。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
As illustrated in FIG. 1, the reward
<事前処理>
訓練行動列記憶部11には、入力された複数の訓練行動列からなる集合、および、訓練行動列それぞれの適切さを表す訓練順序評価値の集合が格納される。訓練行動列のそれぞれは、例えば、ある状態とその状態に対する行動のペアの連なりであり、行動によって遷移する一連の状態と各状態での行動とを表す。訓練行動列の具体例は、行動によって遷移する一連の状態のそれぞれを表す値の列と当該各状態を表す値の列とからなる。
<Pre-processing>
The training behavior
訓練順序評価値のそれぞれは、例えば、訓練行動列からなる集合に属する2個の訓練行動列からなる組に対応し、当該組をなす2個の訓練行動列のうちいずれのほうが適切であるかを表す。この例の訓練順序評価値は、訓練行動列からなる集合に属する2個の訓練行動列からなる組(ペア)ごとに付与される。すなわち、N個(N≧2)の訓練行動列からなる集合はN(N−1)/2個のペアを含むため、例えばN(N−1)/2個の訓練順序評価値が付与される。具体的には、例えば各訓練行動列のペアζ* i,ζ* jに対し、それぞれ、どちらが適切であるかを表す以下の訓練順序評価値o* i,jが付与される。
報酬関数の推定のためには、いずれの訓練行動列のほうが適切であるかを相対評価できればよく、数値で訓練行動列を評価する必要はない。上記のようなペアごとの訓練順序評価値を用いるほうが、実数の訓練順序評価値(例えば、ある発言に対する否定が-1.4,肯定が+0.3など)を用いるよりも取り扱いが容易となる。また、学習時に訓練行動列ごとに改めて順序評価する必要はない。 In order to estimate the reward function, it is only necessary to relatively evaluate which training action sequence is more appropriate, and it is not necessary to evaluate the training action sequence numerically. Using the training order evaluation value for each pair as described above is easier to handle than using a real number of training order evaluation values (for example, -1.4 for a certain utterance, +0.3 for affirmation). Further, it is not necessary to evaluate the order again for each training action sequence during learning.
<報酬関数推定処理>
訓練行動列からなる集合および訓練順序評価値の集合を用い、報酬関数の推定を行う処理を説明する。
図2に例示するように、まず制御部17がループ数に対応する変数stepを0に初期化する(ステップS10)。次に報酬関数調整部16が、初期の報酬関数のパラメータ(以下「報酬関数パラメータ」という)θ0を設定する(ステップS11)。本形態の報酬関数パラメータは、実数を要素とするM次元ベクトルである(Mは1以上の整数)。初期の報酬関数のパラメータθ0は、ランダムに選択された要素からなるM次元ベクトルであってもよいし、予め定められた要素からなるM次元ベクトルであってもよい。
<Reward function estimation process>
A process for estimating a reward function using a set of training action sequences and a set of training order evaluation values will be described.
As illustrated in FIG. 2, first, the control unit 17 initializes a variable step corresponding to the number of loops to 0 (step S10). Next, the reward function adjusting unit 16 sets an initial reward function parameter (hereinafter referred to as “reward function parameter”) θ 0 (step S11). The reward function parameter of this embodiment is an M-dimensional vector whose elements are real numbers (M is an integer of 1 or more). The initial reward function parameter θ 0 may be an M-dimensional vector composed of randomly selected elements, or may be an M-dimensional vector composed of predetermined elements.
その後、報酬関数推定装置1は、以下のループに従って報酬関数パラメータθstepを逐次的に更新する。
まず訓練行動列評価部15が、現在の報酬関数パラメータθstepに基づいて、訓練行動列記憶11から読み出した訓練行動列ζ*の集合を評価し、訓練行動列ζ*の集合に対応する順序評価値の集合を得て出力する。すなわち訓練行動列評価部15は、報酬関数パラメータθstepに対応する報酬関数を用い、各訓練行動列ζ*が表す一連の状態の報酬値に対応する順序評価値を得て、当該順序評価値の集合を出力する。例えば順序評価値のそれぞれは、訓練行動列ζ*からなる集合に属する2個の訓練行動列ζ* i,ζ* jからなる組(ペア)に対応し、当該組をなす2個の訓練行動列ζ* i,ζ* jのうちいずれに対応する報酬値または当該報酬値の期待値のほうが高い評価を表すかを表す。この場合、N個の訓練行動列からなる集合に対し、例えばN(N−1)/2個の順序評価値が得られる。以下では順序評価値をostepと総称する(ステップS12/詳細は後述)。
Thereafter, the reward
First, the training behavior
訓練行動列評価部15から出力された順序評価値ostepの集合と、行動列記憶11から読み出された訓練順序評価値o*の集合とが、報酬関数調整部16に入力される。報酬関数調整部16は、順序評価値ostepの集合と訓練順序評価値o*の集合とを比較し、それらの相違に基づいて報酬関数パラメータθstepを報酬関数パラメータθstep+1に更新する(ステップS13/詳細は後述)。
A set of order evaluation values o step output from the training action
制御部17は、所定の終了条件が満たされたかを判定する(ステップS14)。終了条件の例は、順序評価値ostepの集合と訓練順序評価値o*の集合と間の誤差が規定の値を下回る、既定回数更新しても当該誤差の改善量が規定量を下回る、または、繰り返し回数が規定数に達するなどである。順序評価値ostepの集合と訓練順序評価値o*の集合と間の誤差の例は、対応する順序評価値ostepと訓練順序評価値o*とが互いに相違する訓練行動列のペアの個数、順序評価値ostepの集合と訓練順序評価値o*の集合との距離などである。 The control unit 17 determines whether a predetermined end condition is satisfied (step S14). An example of the end condition is that the error between the set of order evaluation values o step and the set of training order evaluation values o * is less than a specified value, and even if the predetermined number of updates is performed, the improvement amount of the error is less than the specified amount. Or the number of repetitions reaches a specified number. Examples of the error between the set and the training sequence evaluation value o * of the set and sequence evaluation value o step, the number of pairs of the training action sequence and corresponding sequence evaluation value o step and training sequence evaluation value o * are different from each other , The distance between the set of order evaluation values o step and the set of training order evaluation values o * .
ステップS14で所定の終了条件が満たされていないと判定された場合、制御部17はstep+1を新たな変数stepの値とし(ステップS15)、処理をステップS12に戻す。一方、所定の終了条件が満たされたと判定された場合、報酬関数調整部16は、報酬関数パラメータθstep+1に対応する報酬関数を表す情報を出力する。報酬関数を表す情報の例は、報酬関数そのものや報酬関数パラメータθstep+1などである(ステップS16)。このように、所定の終了条件が満たされるまで、訓練行動列評価部15や報酬関数調整部16等による処理(ステップS12および13)が繰り返され、所定の終了条件が満たされた場合に報酬関数を表す情報が出力される。
When it is determined in step S14 that the predetermined end condition is not satisfied, the control unit 17 sets step + 1 as the value of the new variable step (step S15), and returns the process to step S12. On the other hand, when it is determined that the predetermined termination condition is satisfied, the reward function adjusting unit 16 outputs information representing the reward function corresponding to the reward function parameter θ step + 1 . Examples of information representing the reward function include the reward function itself and the reward function parameter θ step + 1 (step S16). In this way, the processing (steps S12 and S13) by the training action
<ステップS12の詳細>
ステップS12の詳細を例示する。ここでは、報酬関数パラメータθstepに対応する報酬関数に基づいて、各訓練行動列ζ*のシステム評価値e(ζ*|θstep)を得、各ペアζ* i,ζ* jに対応するシステム評価値e(ζ* i|θstep),e(ζ* j|θstep)の大小関係を表す情報を、各ペアζ* i,ζ* jに対応する順序評価値ostep(以下「順序評価値ostep i,j」と表記)とする。なお、各システム評価値e(ζ* i|θstep)は、報酬関数パラメータθstepに対応する報酬関数を用いて計算された各訓練行動列ζ* iの評価値である。システム評価値e(ζ* i|θstep)は、各訓練行動列ζ* iが表す一連の状態の報酬値またはその期待値の和に対応する。報酬値または期待値は、報酬関数パラメータθstepに対応する報酬関数を用いて得られる。このような値であればどのような値をシステム評価値e(ζ* i|θstep)としてもよい。
<Details of Step S12>
Details of step S12 are illustrated. Here, based on a reward function corresponding to the reward function parameter θ step , a system evaluation value e (ζ * | θ step ) of each training action sequence ζ * is obtained, and corresponding to each pair ζ * i , ζ * j . Information indicating the magnitude relationship between the system evaluation values e (ζ * i | θ step ) and e (ζ * j | θ step ) is used as the order evaluation value o step (hereinafter “the step ”) corresponding to each pair ζ * i , ζ * j. Order evaluation value o step i, j ”). Each system evaluation value e (ζ * i | θ step ) is an evaluation value of each training action sequence ζ * i calculated using a reward function corresponding to the reward function parameter θ step . The system evaluation value e (ζ * i | θ step ) corresponds to the reward value of a series of states represented by each training action sequence ζ * i or the sum of its expected values. The reward value or the expected value is obtained using a reward function corresponding to the reward function parameter θ step . Any value may be used as the system evaluation value e (ζ * i | θ step ) as long as it is such a value.
システム評価値e(ζ* i|θstep)の一例は、訓練行動列ζ* iが表す一連の状態の報酬値R(ζ* i|θstep)と、当該訓練行動列ζ* iに対応する最適行動列ζA iが表す一連の状態の報酬値R(ζA i|θstep)との差分である。
e(ζ* i|θstep)=R(ζ* i|θstep)−R(ζA i|θstep) (1)
なお、報酬値R(ζ* i|θstep)およびR(ζA i|θstep)は、報酬関数パラメータθstepに対応する報酬関数を用いて得られる値である。報酬値R(ζ* i|θstep)およびR(ζA i|θstep)の具体例は以下の通りである。
ここで、s* i,tおよびsA i,tは、それぞれ、訓練行動列ζ* iおよび最適行動列ζA iが表すt番目の状態(時点tでの状態)を表す。f(s* i,t)およびf(sA i,t)は、それぞれ、状態s* i,tおよびsA i,tに対応する素性を表すM次元ベクトルである。f(s* i,t)およびf(sA i,t)の各要素は正の実数である。βTはβの転置を表す。θstep T・f(s* i,t)およびθstep T・f(sA i,t)はM次元ベクトルの内積を表し、報酬関数パラメータθstepに対応する報酬関数に相当する。なお、これらの報酬値やシステム評価値は一例にすぎず、要旨を逸脱しない範囲での変更は可能である。
System evaluation value e | an example of (ζ * i θ step), the compensation value of a series of states represented by the training action column zeta * i R | a (ζ * i θ step), corresponding to the training action column zeta * i This is the difference from the reward value R (ζ A i | θ step ) in a series of states represented by the optimal action sequence ζ A i to be performed.
e (ζ * i | θ step ) = R (ζ * i | θ step ) −R (ζ A i | θ step ) (1)
The reward values R (ζ * i | θ step ) and R (ζ A i | θ step ) are values obtained using a reward function corresponding to the reward function parameter θ step . Specific examples of the reward value R (ζ * i | θ step ) and R (ζ A i | θ step ) are as follows.
Here, s * i, t and s A i, t, respectively, represent the t-th state representing training action column zeta * i and optimal action column zeta A i (the state at time t). f (s * i, t) and f (s A i, t) are respectively the M-dimensional vector representing a feature corresponding to the state s * i, t and s A i, t. Each element of f (s * i, t ) and f (s A i, t ) is a positive real number. β T represents transposition of β. θ step T · f (s * i, t ) and θ step T · f (s A i, t ) represent inner products of M-dimensional vectors and correspond to reward functions corresponding to the reward function parameter θ step . Note that these reward values and system evaluation values are merely examples, and can be changed without departing from the scope of the invention.
また最適行動列ζA iは、訓練行動列ζ* iが表す一連の状態の初期状態s* i,0と同一の状態を初期状態si,0とし、その初期状態から各行動によって遷移する一連の状態と各状態での行動とを表す行動列ζiのうち、報酬関数パラメータθstepに対応する報酬関数によって得られる当該一連の状態の報酬値の合計が最大となる行動列を意味する。例えば、訓練行動列ζ* iが表す初期状態s* i,0を初期状態si,0とする行動列ζiのうち、以下の報酬値R(ζi|θstep)を最大にする行動列ζiが最適行動列ζA iである。
ここで、si,tは、行動列ζiが表すt番目の状態を表す。f(si,t)は、状態si,tに対応する素性を表すM次元ベクトルである。
The optimal action sequence zeta A i is the same state as the initial state s * i, 0 of a sequence of states representing training action column zeta * i as the initial state s i, 0, a transition by the action from the initial state Among action sequences ζ i representing a series of states and actions in each state, it means an action sequence in which the total of reward values of the series of states obtained by the reward function corresponding to the reward function parameter θ step is maximized. . For example, among the action sequences ζ i in which the initial state s * i, 0 represented by the training action sequence ζ * i is the initial state s i, 0 , the action that maximizes the following reward value R (ζ i | θ step ). The column ζ i is the optimum action sequence ζ A i .
Here, s i, t represents the t-th state represented by the action sequence ζ i . f (s i, t ) is an M-dimensional vector representing the feature corresponding to the state s i, t .
≪最適行動列ζA iの探索≫
上記の方法でシステム評価値を計算するためには、訓練行動列記憶部11に格納されたすべての訓練行動列ζ* iに対し、それぞれ最適行動列ζA iを決定する必要がある。ここでは最適行動列ζA iを決定するため、訓練行動列ζ* iごとに多数の行動列ζiを生成し、報酬値R(ζi|θstep)が最大となる行動列ζiを探索する、探索的アプローチを用いる。
«Search for the optimum behavior column ζ A i»
In order to calculate the system evaluation value by the above method, it is necessary to determine the optimum action sequence ζ A i for each of the training action sequences ζ * i stored in the training action
各行動列ζiは、訓練行動列ζ* iが表す一連の状態の初期状態s* i,0を初期状態si,0とし、各状態si,tでの行動ai,tを決定し、その行動ai,tに基づいて次の状態si,t+1を決定するというプロセスを繰り返して生成される。問題の空間が全探索可能なほど小さい場合には、訓練行動列ζ* iごとに、初期状態si,0から遷移し得るすべての行動列ζiを生成し、それらの中で報酬値R(ζi|θstep)が最大となる行動列ζiを最適行動列ζA iとする(全探索法)。一方、空間が大きく全探索が困難な場合には行動列ζiを確率的に生成し、それらの中で報酬値R(ζi|θstep)が最大となる行動列ζiを最適行動列ζA iとする(部分探索法)。 Each action column ζ i is the initial state s * i, 0 of a series of state represented by the training action column ζ * i as the initial state s i, 0, determine the action a i, t in each state s i, t Then, the process of determining the next state s i, t + 1 based on the behavior a i, t is generated repeatedly. If the problem space is small enough to be searched , all action sequences ζ i that can transition from the initial state s i, 0 are generated for each training action sequence ζ * i , and the reward value R among them is generated. The action sequence ζ i having the maximum (ζ i | θ step ) is set as the optimum action sequence ζ A i (full search method). On the other hand, if the space is large and the full search is difficult, the action sequence ζ i is generated probabilistically, and the action sequence ζ i having the maximum reward value R (ζ i | θ step ) is determined as the optimum action sequence. Let it be ζ A i (partial search method).
[最適行動列ζA iの生成方法の例示]
最適行動列ζA iの生成方法を例示する。
1−1−1:訓練行動列記憶部11からある訓練行動列ζ* iが読み出され、状態遷移計算部12に入力される。
[Example of generation method of optimal action sequence ζ A i ]
A method for generating the optimal action sequence ζ A i will be exemplified.
1-1-1: A training action sequence ζ * i is read from the training action
1−1−2:状態遷移計算部12で、訓練行動列ζ* iが表す一連の状態の初期状態s* i,0を読み出し、初期状態si,0=s* i,0を行動評価部13へ入力する。
1-1-2: The state
1−1−3:行動評価部13で、現在の報酬関数パラメータθstepに基づき、状態si,tで取りうるすべての行動ai,tについて、以下の期待報酬値ri,t(si,t,ai,t)を計算する。最初のループではt=0とされる。
ただし、PT(si,t+1|si,t,ai,t)は、状態si,tで行動ai,tを行った場合に状態si,t+1に遷移する条件付き確率を表す。なお、条件付き確率PT(si,t+1|si,t,ai,t)は予め定められているものとする。
1-1-3: Based on the current reward function parameter θ step , the
However, P T (s i, t + 1 | s i, t, a i, t) , the state s i, act in a t a i, state s i in the case of performing the t, with conditions for transition to t + 1 Represents a probability. It is assumed that the conditional probability P T (s i, t + 1 | s i, t , a i, t ) is predetermined.
1−1−4:行動評価部13で得られた状態si,tおよび行動ai,tごとの期待報酬値ri,t(si,t,ai,t)は、対応する状態si,tおよび行動ai,tを表す情報とともに、行動決定部14および訓練行動列評価部15に入力される。
1-1-4: Expected reward values r i, t (s i, t , a i, t ) for the states s i, t and actions a i, t obtained by the
1−1−5:行動決定部14で、期待報酬値ri,t(si,t,ai,t)に基づいて状態si,tでの行動ai,tを決定し、決定した行動ai,tおよび状態si,tを表す情報を状態遷移計算部12へ入力する。全探索法の場合、状態si,tで取り得る行動が順番にai,tとして選択される。部分探索法の場合、確率的に行動ai,tが決定される。行動ai,tの確率的な決定方法は後述する。
1-1-5: In the
1−1−6:状態遷移計算部12で、行動決定部14で得られた行動ai,tに基づいて、次の状態si,t+1を決定し、決定した状態si,t+1を表す情報を行動評価部13へ入力する。
1-1-6: The state
1−1−7:所定の終了条件を満たさない場合にはt+1を新たなtとして1−1−3へ戻る。所定の終了条件を満たす場合にはループを停止し、行動評価部13はそれまでに得られた一連の状態si,tおよび行動ai,tからなる行動列ζiを訓練行動列評価部15へ入力する。この終了条件の例は、1−1−3〜1−1−7のループを既定回数繰り返した、既定の状態に至った等である。
1-1-7: When the predetermined end condition is not satisfied, t + 1 is set as a new t, and the process returns to 1-1-3. When the predetermined end condition is satisfied, the loop is stopped, and the
訓練行動列評価部15は、以上の1−1−1〜1−1−7のループを複数回繰り返し、訓練行動列ζ* iごとに複数個の行動列ζiを得る。訓練行動列評価部15は、得られた行動列ζiのそれぞれについて報酬値R(ζi|θstep)を計算し、訓練行動列ζ* iごとに報酬値R(ζi|θstep)を最大にする行動列ζiを得、それらを各訓練行動列ζ* iに対応する最適行動列ζA iとする。すなわち、訓練行動列評価部15は、訓練行動列ζ* iが表す一連の状態の初期状態s* i,0を初期状態si,0とする最適行動列ζA iをiごとに生成する。
The training action
[1−1−5での行動の確率的な決定方法の例]
空間が広く全探索困難な場合、行動ai,tを確率的に決定する必要がある。その方法として、2種類の方法を例示する。
[Example of probabilistic determination method of action in 1-1-5]
When the space is wide and it is difficult to search all, it is necessary to determine the actions a i, t probabilistically. Two types of methods are illustrated as the method.
例1:期待報酬値ri,t(si,t,ai,t)に基づいて確率的に選択
例1の行動決定部14は、例えば確率p(ai,t)∝exp(ri,t(si,t,ai,t))またはp(ai,t)∝ri,t(si,t,ai,t)に従って行動ai,tをサンプリングし、状態si,tでの行動ai,tを決定する。ただし、β1∝β2はβ1がβ2に比例することを表し、expは指数関数を表す。
Example 1: Probabilistic selection based on expected reward value r i, t (s i, t , a i, t ) The
例2:ランダムに選択
例2の行動決定部14は、期待報酬値ri,t(si,t,ai,t)の値にかかわらず、一様分布もしくは非特許文献6のUCBアルゴリズムなどの探索アルゴリズムに従って行動ai,tをサンプリングし、状態si,tでの行動ai,tを決定する。この場合には、期待報酬値ri,t(si,t,ai,t)が算出されなくてもよい。
[非特許文献6]P. Auer, N. Cesa-Bianchi, P. Fischer. Finite-time analysis of the multiarmed bandit problem, Machine learning, pp. 235-256, 2002.
Example 2: Random selection The
[Non-Patent Document 6] P. Auer, N. Cesa-Bianchi, P. Fischer. Finite-time analysis of the multiarmed bandit problem, Machine learning, pp. 235-256, 2002.
≪システム評価値の計算≫
訓練行動列評価部15は、上述の各最適行動列ζA i、および訓練行動列記憶部11から読み出した各訓練行動列ζ* iを用い、各訓練行動列ζ* iのシステム評価値e(ζ* i|θstep)を得る。訓練行動列評価部15は、例えば前述の式(1)に従ってシステム評価値e(ζ* i|θstep)を得る。
この例のシステム評価値e(ζ* i|θstep)は、報酬関数パラメータθstepに対応する報酬関数を用いて得られる、訓練行動列ζ* iが表す一連の状態の報酬値の和と、当該訓練行動列ζ* iに対応する最適行動列ζA iが表す一連の状態の報酬値の和と、の差に相当する。
≪Calculation of system evaluation value≫
The training behavior
The system evaluation value e (ζ * i | θ step ) in this example is obtained by using the reward function corresponding to the reward function parameter θ step and the sum of the reward values of a series of states represented by the training action sequence ζ * i. This corresponds to the difference between the reward values of a series of states represented by the optimum action sequence ζ A i corresponding to the training action sequence ζ * i .
あるいは、式(1)に従ってシステム評価値e(ζ* i|θstep)を得るのではなく、訓練行動列評価部15が、最適行動列ζA iおよび訓練行動列ζ* iに対応する期待報酬値ri,t(si,t,ai,t)(式(2)参照)を用い、以下のようにシステム評価値e(ζ* i|θstep)を得てもよい。
この例のシステム評価値e(ζ* i|θstep)は、報酬関数パラメータθstepに対応する報酬関数を用いて得られる、訓練行動列ζ* iが表す一連の状態の報酬値の期待値の総和と、当該訓練行動列ζ* iに対応する最適行動列ζA iが表す一連の状態の報酬値の期待値の総和との差に相当する。
Alternatively, instead of obtaining the system evaluation value e (ζ * i | θ step ) according to the equation (1), the training behavior
The system evaluation value e (ζ * i | θ step ) in this example is an expected value of a reward value of a series of states represented by the training action sequence ζ * i obtained using a reward function corresponding to the reward function parameter θ step. And the sum of expected values of reward values in a series of states represented by the optimum action sequence ζ A i corresponding to the training action sequence ζ * i .
≪順序評価値の計算≫
訓練行動列評価部15は、各システム評価値のペアζ* i,ζ* jに対応するシステム評価値e(ζ* i|θstep),e(ζ* j|θstep)を用い、システム評価値e(ζ* i|θstep),e(ζ* j|θstep)の大小関係を表す各順序評価値ostep i,jを得て出力する。例えば、訓練行動列評価部15は、ペアζ* i,ζ* jごとにシステム評価値e(ζ* i|θstep),e(ζ* j|θstep)を比較し、以下のように各順序評価値ostep i,jを得て出力する。
The training action
<ステップS13の詳細>
ステップS13の詳細を例示する。
報酬関数調整部16は、各ペアζ* i,ζ* jに対応する訓練順序評価値o* i,jと順序評価値ostep i,jとを入力とし、o* i,jとostep i,jとをペアζ* i,ζ* jごとに比較し、o* i,jとostep i,jとの正負が互いに異なるペアζ* i,ζ* jを選択する。
<Details of Step S13>
Details of step S13 are illustrated.
The reward function adjustment unit 16 receives the training order evaluation value o * i, j and the order evaluation value o step i, j corresponding to each pair ζ * i , ζ * j , and inputs o * i, j and o step. i, and j pair zeta * i, compared to each zeta * j, o * i, j and o step i, positive and negative different pairs of j zeta * i, selects a zeta * j.
報酬関数調整部16は、訓練行動列記憶部11から訓練順序評価値o* i,jと順序評価値ostep i,jとの正負が互いに異なるペアζ* i,ζ* jを抽出し、以下に従って報酬関数パラメータθstepを報酬関数パラメータθstep+1に更新する。
ただし、式(3)のγは所定の重み係数であり、例えば、0<γ<1を満たす実数である。またγは学習率であり、0.01<γ<0.1程度の値とすることが望ましい。報酬関数パラメータの更新後の挙動によってγが修正されてもよい。
The reward function adjusting unit 16 extracts pairs ζ * i and ζ * j having different positive and negative signs of the training order evaluation value o * i, j and the order evaluation value o step i, j from the training behavior
However, γ in Equation (3) is a predetermined weighting coefficient, for example, a real number satisfying 0 <γ <1. Further, γ is a learning rate, and it is desirable to set a value of about 0.01 <γ <0.1. Γ may be modified according to the behavior after the reward function parameter is updated.
例えば、o* i,j=1かつe(ζ* i|θstep)<e(ζ* j|θstep)(すなわちostep i,j≠1)のとき、ostep+1 i,j=1とするためにはe(ζ* i|θstep)−e(ζ* j|θstep)が大きくなる方向にθstepを更新してθstep+1とすればよいため、
とすればよい。一方、o* i,j=−1かつe(ζ* i|θstep)>e(ζ* j|θstep)(すなわちostep i,j=1)のとき、ostep+1 i,j=−1とするためにはe(ζ* i|θstep)−e(ζ* j|θstep)が小さくなる方向にθstepを更新してθstep+1とすればよいため、
とすればよい。これらをまとめると式(3)となる。
For example, when o * i, j = 1 and e (ζ * i | θ step ) <e (ζ * j | θ step ) (that is, o step i, j ≠ 1), o step + 1 i, j = 1 because it if theta step + 1 and update the theta step in the direction | (θ step ζ * j) is large, | (θ step ζ * i ) -e e in order to
And it is sufficient. On the other hand, when o * i, j = −1 and e (ζ * i | θ step )> e (ζ * j | θ step ) (that is, o step i, j = 1), o step + 1 i, j = − since it is sufficient | (θ step ζ * j) to update the theta step in the direction of smaller theta step + 1 and, | 1 and to the e (ζ * i θ step) -e
And it is sufficient. These are summarized as Equation (3).
以上のように、この例の報酬関数調整部16は、訓練順序評価値o* i,jと順序評価値ostep i,jとの正負が異なる組をなす2個の訓練行動列ζ* i,ζ* jの一方に対応するシステム評価値から他方に対応するシステム評価値を減じた値e(ζ* i|θstep)−e(ζ* j|θstep)の報酬関数パラメータθstepでの偏微分値と、当該正負が異なる組をなす2個の訓練行動列ζ* i,ζ* jに対応する訓練順序評価値o* i,jと、の乗算値の総和に対応する更新ベクトルγ▽θstep prefを得、当該更新ベクトルγ▽θstep prefによって報酬関数パラメータθstepを更新することで報酬関数を更新する。 As described above, the reward function adjusting unit 16 in this example has two training action sequences ζ * i that form pairs in which the training order evaluation value o * i, j and the order evaluation value ostep i, j are different in sign. , Ζ * j is a reward function parameter θ step of a value e (ζ * i | θ step ) −e (ζ * j | θ step ) obtained by subtracting a system evaluation value corresponding to the other from the system evaluation value corresponding to one of And an update vector corresponding to the sum of multiplication values of the partial differential value of and the training sequence evaluation values o * i, j corresponding to the two training action sequences ζ * i , ζ * j that form different sets of positive and negative The reward function is updated by obtaining γ ▽ θ step pref and updating the reward function parameter θ step by the update vector γ ▽ θ step pref .
以上の方法に加え、高い評価の行動列を利用した逆強化学習を行って報酬関数パラメータθstepを更新してもよい。その場合、報酬関数調整部16は、高い評価の行動列を再現するよう報酬関数パラメータθstepを更新するために、以下のように報酬関数パラメータθstepを更新する。
なお、式(4)のγおよびαはいずれも所定の重み係数であり、例えば、0<γ<1,0<α<1を満たす実数である。γは学習率であり、0.01<γ<0.1程度の値とすることが望ましい。報酬関数パラメータの更新後の挙動によってγが修正されてもよい。また、αを大きくすると高い評価の行動列が重視されて逆強化学習(IRL:inverse reinforcement learning)の挙動に近づく。一方、αを小さくすると本発明の方式(Preference-based IRL)の挙動が強くなる。 Note that γ and α in Equation (4) are both predetermined weighting factors, for example, real numbers that satisfy 0 <γ <1, 0 <α <1. γ is a learning rate, and it is desirable to set a value of about 0.01 <γ <0.1. Γ may be modified according to the behavior after the reward function parameter is updated. Further, when α is increased, a highly evaluated action sequence is emphasized and approaches the behavior of inverse reinforcement learning (IRL). On the other hand, when α is reduced, the behavior of the method of the present invention (Preference-based IRL) becomes stronger.
以上のように、この例の報酬関数調整部16は、訓練順序評価値o* i,jと順序評価値ostep i,jとの正負が異なる組をなす2個の訓練行動列ζ* i,ζ* jの一方に対応するシステム評価値から他方に対応するシステム評価値を減じた値e(ζ* i|θstep)−e(ζ* j|θstep)の報酬関数パラメータθstepでの偏微分値と、当該正負が異なる組をなす2個の訓練行動列ζ* i,ζ* jに対応する訓練順序評価値o* i,jと、の乗算値の総和に対応する更新ベクトルγ▽θstep prefを得る。さらに、この例の報酬関数調整部16は、訓練行動列ζ* iが表す一連の状態のそれぞれに対応するベクトルの総和から、当該訓練行動列ζ* iに対応する最適行動列ζA iが表す一連の状態のそれぞれに対応するベクトルの総和を減じて得られるベクトルの総和に対応する逆強化学習ベクトルγα▽θstep clipを得る。この例の報酬関数調整部16は、更新ベクトルγ▽θstep prefおよび逆強化学習ベクトルγα▽θstep clipによって報酬関数パラメータθstepを更新することで報酬関数を更新する。 As described above, the reward function adjusting unit 16 in this example has two training action sequences ζ * i that form pairs in which the training order evaluation value o * i, j and the order evaluation value ostep i, j are different in sign. , Ζ * j is a reward function parameter θ step of a value e (ζ * i | θ step ) −e (ζ * j | θ step ) obtained by subtracting a system evaluation value corresponding to the other from the system evaluation value corresponding to one of And an update vector corresponding to the sum of multiplication values of the partial differential value of and the training sequence evaluation values o * i, j corresponding to the two training action sequences ζ * i , ζ * j that form different sets of positive and negative Obtain γ ▽ θ step pref . Further, reward function adjusting portion 16 in this example, the sum of vectors corresponding to each of a series of states represented by the training action column zeta * i, optimal action column zeta A i that corresponds to the training action column zeta * i is An inverse reinforcement learning vector γα ▽ θ step clip corresponding to the sum of vectors obtained by subtracting the sum of vectors corresponding to each of a series of states to be expressed is obtained. The reward function adjustment unit 16 in this example updates the reward function by updating the reward function parameter θ step by the update vector γ ▽ θ step pref and the inverse reinforcement learning vector γα ▽ θ step clip .
<シミュレーション>
[color−gridworld]
上述の方式と従来方式とを比較するため、color−gridworldを導入する。これは従来のRL/IRLで頻繁に用いられるgridworldタスクを、多様な報酬関数を許容するように拡張したものである。図3を用いてcolor−gridworldの概要を説明する。color−gridworldでは、エージェントは各時点tにおいて四方の任意のマス(状態st)へ移動できる。エージェントがある状態stへ遷移するごとに、状態stに関連付けられた素性に対応する評価値を受け取る。color−gridworldの状態stはそれぞれ特定の色(Color feature)を持ち、各エージェント(agent1〜3)は図3Bのようにそれぞれ異なる報酬関数(色と評価値の対応関係)を持つとする。例えば図3Bでは、エージェント1では緑色(横ハッチング)が評価値−3に対応し、青色(斜めハッチング)が評価値+1に対応する。この例では、一度エージェントが訪れた状態に専用の素性(Visited feature)を割り当てる(図3B中、白色(ハッチングなし))。このルールにより、高い評価の状態に留まり続けることを抑制するとともに、各方式がこうした素性に対しどのような報酬を付与するのかを検証する。このルールによって状態列の履歴を保存すると、状態列の総数は各状態が0もしくは1を取る全組み合わせ数となるため、状態数をnとして状態列の数がO(2^n)となり爆発してしまう。そのため状態列数が膨大でも比較的動作するモンテカルロ法を用いてエージェントの方策を決定する。学習データには、ランダムに報酬関数と初期状態が設定された訓練エージェントによって生成された行動列に対し、評価エージェントが順序評価したものを用いる。また、推定された報酬関数の評価は、報酬関数の学習時とは異なるcolor−gridworld上で行う。
<Simulation>
[Color-gridworld]
In order to compare the above method with the conventional method, a color-gridworld is introduced. This is an extension of the gridworld task frequently used in the conventional RL / IRL to allow various reward functions. The outline of color-gridworld will be described with reference to FIG. In color-gridworld, the agent can move to an arbitrary square (state s t ) at each time point t. Each time the state transitions to the state s t with an agent receives an evaluation value corresponding to the feature associated with the state s t. has a color-gridworld state s t certain respective colors (Color Description feature), each agent (Agent1~3) is to have a different reward function (correspondence between the color evaluation value) as shown in Figure 3B. For example, in FIG. 3B, in
[シミュレーション結果]
上述した提案手法を用い、順序評価つきの訓練行動列を入力として、行動列に評価を付与した評価エージェントの報酬関数を推定する。比較対象の従来手法として、非特許文献5の手法(MaxEntlRL)を用いる。さらに、この従来手法は順序評価値には対応していないため、評価エージェント自身が生成した行動列を入力として評価エージェントの報酬関数を推定するものとする。このシミュレーションを手法ごとに5回実行し、それらの評価の平均値を用いて比較する。各パラメータは以下のように設定する。各行動列の最大長Tは7、エージェントのモンテカルロのサンプル生成数は3000、評価者のサンプル生成数は5000、IRLのイテレーション回数は最大50にする。報酬関数のパラメータの範囲は−4から+4までとし、全エージェント間で一度訪れた状態に付与される素性に対応する報酬は−1とする。ただし、学習エージェントはこの設定を知らないものとする。
[simulation result]
Using the proposed method described above, the training function sequence with order evaluation is input, and the reward function of the evaluation agent that gave the evaluation to the behavior sequence is estimated. As a conventional method to be compared, the method (MaxEntlRL) of
正解パラメータに対する推定された報酬関数の誤差(報酬関数距離)の平均値を表1に示す。色数(色の個数、すなわち素性の個数)5の場合と15の場合で評価を行った。表1より、評価エージェントのみを用いて推定する従来手法よりも、行動列の適切さが異なるデータから順序評価を用いて推定した提案手法のほうが誤差を小さくできることが分かる。
<本形態の特徴>
本形態の手法を用いることで、従来よりも適切に報酬関数を訓練行動列から推定できる。その結果、例えば人同士の対話からそのやり方を学習することでロボットによる自然な対話を実現することが可能になる。また、システムとやりとりするユーザがどのようなものを求めているか、個人ごとにその評価関数を推定することで、より適切な推薦や情報提示が可能になる。本形態では、異なる適切さを持つ訓練行動列とその訓練順序評価に基づき、その訓練順序評価を付与した評価エージェントの報酬関数を推定する。行動列自体以外に必要になるデータは訓練行動列のペアごとの訓練順序評価であり、これは個々に絶対値で点数をつけていくやりかたや、データ全体の全順序を付与するやり方に比べ、評価付与が容易であるという利点も持つ。
<Features of this embodiment>
By using the method of this embodiment, the reward function can be estimated from the training behavior sequence more appropriately than in the past. As a result, it is possible to realize a natural dialogue by a robot by learning the method from a dialogue between people, for example. In addition, it is possible to make more appropriate recommendations and information presentation by estimating the evaluation function for each individual as to what the user interacting with the system wants. In this embodiment, the reward function of the evaluation agent assigned with the training order evaluation is estimated based on the training behavior sequence having different appropriateness and the training order evaluation. The data required in addition to the action sequence itself is a training order evaluation for each pair of training action sequences, which is compared to the method of assigning points with absolute values individually and the method of assigning the entire order of the entire data, It also has the advantage of easy evaluation.
<変形例等>
本発明は上述の実施形態に限定されるものではない。例えば、報酬関数は上述したものに限定されず、状態(例えば状態に対応するベクトル)と報酬関数パラメータとに対応するその他の関数が報酬関数とされてもよい。
<Modifications>
The present invention is not limited to the above-described embodiment. For example, the reward function is not limited to those described above, and other functions corresponding to a state (for example, a vector corresponding to the state) and a reward function parameter may be used as the reward function.
システム評価値は上述したものに限定されず、例えば以下のようなシステム評価値が用いられてもよい。
訓練順序評価値や順序評価値が{−1,0,1}の値を取るのではなく、−1の代わりに所定の負値をとり、1の代わりに所定の正値をとってもよい。また、報酬関数パラメータや報酬関数の更新方法も上記のものに限定されない。更新された報酬関数を用いて得られる順序評価値の集合と訓練順序評価値の集合との相違が、更新前の報酬関数を用いて得られる順序評価値の集合と訓練順序評価値の集合との相違よりも小さくなるように、報酬関数パラメータや報酬関数が更新されればよい。 The training order evaluation value or the order evaluation value does not take a value of {−1, 0, 1}, but may take a predetermined negative value instead of −1 and may take a predetermined positive value instead of 1. Also, the method for updating the reward function parameter and the reward function is not limited to the above. The difference between the set of order evaluation values obtained using the updated reward function and the set of training order evaluation values is the difference between the set of order evaluation values obtained using the pre-update reward function and the set of training order evaluation values. The reward function parameter and the reward function may be updated so as to be smaller than the difference.
上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。 The various processes described above are not only executed in time series according to the description, but may also be executed in parallel or individually as required by the processing capability of the apparatus that executes the processes. Needless to say, other modifications are possible without departing from the spirit of the present invention.
上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体の例は、非一時的な(non-transitory)記録媒体である。このような記録媒体の例は、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等である。 When the above configuration is realized by a computer, the processing contents of the functions that each device should have are described by a program. By executing this program on a computer, the above processing functions are realized on the computer. The program describing the processing contents can be recorded on a computer-readable recording medium. An example of a computer-readable recording medium is a non-transitory recording medium. Examples of such a recording medium are a magnetic recording device, an optical disk, a magneto-optical recording medium, a semiconductor memory, and the like.
このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。 This program is distributed, for example, by selling, transferring, or lending a portable recording medium such as a DVD or CD-ROM in which the program is recorded. Furthermore, the program may be distributed by storing the program in a storage device of the server computer and transferring the program from the server computer to another computer via a network.
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。処理の実行時、このコンピュータは、自己の記録装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。 A computer that executes such a program first stores, for example, a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. When executing the process, this computer reads a program stored in its own recording device and executes a process according to the read program. As another execution form of the program, the computer may read the program directly from the portable recording medium and execute processing according to the program, and each time the program is transferred from the server computer to the computer. The processing according to the received program may be executed sequentially.
上記実施形態では、コンピュータ上で所定のプログラムを実行させて本装置の処理機能が実現されたが、これらの処理機能の少なくとも一部がハードウェアで実現されてもよい。 In the above embodiment, the processing functions of the apparatus are realized by executing a predetermined program on a computer. However, at least a part of these processing functions may be realized by hardware.
1 報酬関数推定装置
11 訓練行動列記憶部
15 訓練行動列評価部
16 報酬関数調整部
DESCRIPTION OF
Claims (8)
状態に対する報酬値を求める報酬関数を用い、前記訓練行動列が表す一連の状態の報酬値に対応する順序評価値を得る訓練行動列評価部と、
前記順序評価値の集合と前記訓練順序評価値の集合との相違に基づいて前記報酬関数を更新する報酬関数調整部と、
を有する報酬関数推定装置。 A set of training behavior sequences representing a series of states that change according to behavior and behavior in each state, and a training behavior sequence storage unit that stores a set of training order evaluation values representing the appropriateness of each of the training behavior sequences; ,
A training action sequence evaluation unit that obtains an order evaluation value corresponding to a reward value of a series of states represented by the training behavior sequence using a reward function for calculating a reward value for the state;
A reward function adjustment unit that updates the reward function based on a difference between the set of order evaluation values and the set of training order evaluation values;
A reward function estimating device.
所定の終了条件が満たされるまで、前記訓練行動列評価部による処理および前記報酬関数調整部による処理が繰り返され、
前記報酬関数調整部は、前記所定の終了条件が満たされた場合に前記報酬関数を表す情報を出力する、
ことを特徴とする報酬関数推定装置。 The reward function estimation device according to claim 1,
Until the predetermined end condition is satisfied, the process by the training action sequence evaluation unit and the process by the reward function adjustment unit are repeated,
The reward function adjusting unit outputs information representing the reward function when the predetermined termination condition is satisfied,
A reward function estimation device characterized by the above.
前記訓練順序評価値のそれぞれは、前記訓練行動列からなる集合に属する2個の訓練行動列からなる組に対応し、当該組をなす2個の訓練行動列のうちいずれのほうが適切であるかを表し、
前記順序評価値のそれぞれは、前記訓練行動列からなる集合に属する2個の訓練行動列からなる組に対応し、当該組をなす2個の訓練行動列のうちいずれに対応する前記報酬値または当該報酬値の期待値のほうが高い評価を表すかを表す、
ことを特徴とする報酬関数推定装置。 The reward function estimation device according to claim 1 or 2,
Each of the training order evaluation values corresponds to a set of two training action sequences belonging to the set of the training action sequences, and which of the two training action sequences forming the set is more appropriate? Represents
Each of the order evaluation values corresponds to a set of two training action sequences belonging to the set of the training action sequences, and the reward value corresponding to any of the two training action sequences forming the set or Indicates whether the expected value of the reward value represents a higher evaluation,
A reward function estimation device characterized by the above.
前記訓練行動列評価部は、
前記訓練行動列が表す一連の状態の初期状態と同じ状態から行動によって遷移する一連の状態と各状態での行動とを表す行動列の集合から、前記報酬関数によって得られる前記一連の状態の報酬値の合計が最大となる行動列を選択し、当該報酬値の合計が最大となる行動列を当該訓練行動列に対応する最適行動列とし、
前記報酬関数を用いて得られる、前記訓練行動列が表す一連の状態の報酬値の和と当該訓練行動列に対応する前記最適行動列が表す一連の状態の報酬値の和との差、または、前記訓練行動列が表す一連の状態の報酬値の期待値の総和と当該訓練行動列に対応する前記最適行動列が表す一連の状態の報酬値の期待値の総和との差を、前記訓練行動列のシステム評価値として得、
前記組をなす2個の訓練行動列に対応する2個のシステム評価値の大小関係を表す前記順序評価値を得る、
ことを特徴とする報酬関数推定装置。 The reward function estimation device according to claim 3,
The training action sequence evaluation unit
The reward of the series of states obtained by the reward function from the set of action sequences representing the series of states transitioned by action from the same state as the initial state of the series of states represented by the training action series and the actions in each state Select the action sequence that maximizes the sum of the values, and select the action sequence that maximizes the total reward value as the optimal action sequence corresponding to the training action sequence,
A difference between a sum of reward values of a series of states represented by the training action sequence obtained using the reward function and a sum of reward values of a series of states represented by the optimal behavior sequence corresponding to the training action sequence, or A difference between a sum of expected values of a series of reward values represented by the training action sequence and a sum of expected values of a series of reward values represented by the optimal behavior sequence corresponding to the training behavior sequence, Obtained as a system evaluation value of the action sequence,
Obtaining the order evaluation value representing a magnitude relationship between two system evaluation values corresponding to the two training action sequences forming the set;
A reward function estimation device characterized by the above.
前記報酬関数は、前記状態とベクトルである報酬関数パラメータとに対応し、
前記訓練順序評価値のそれぞれは、前記組をなす前記2個の訓練行動列の一方が他方よりも適切である場合に正値であり、当該他方が当該一方よりも適切である場合に負値であり、当該一方と当該他方との適切さが等しい場合にゼロ値であり、
前記順序評価値のそれぞれは、前記組をなす前記2個の訓練行動列の前記一方に対応するシステム評価値が前記他方に対応するシステム評価値よりも大きい場合に正値であり、当該一方に対応するシステム評価値が当該他方に対応するシステム評価よりも小さい場合に負値であり、当該一方に対応するシステム評価値と当該他方に対応するシステム評価とが等しい場合にゼロ値であり、
前記報酬関数調整部は、前記訓練順序評価値と前記順序評価値との正負が異なる前記組をなす前記2個の訓練行動列の前記一方に対応するシステム評価値から前記他方に対応するシステム評価値を減じた値の前記報酬関数パラメータでの偏微分値と、当該正負が異なる前記組をなす前記2個の訓練行動列に対応する前記訓練順序評価値と、の乗算値の総和に対応する更新ベクトルを得、当該更新ベクトルによって前記報酬関数パラメータを更新することで前記報酬関数を更新する、
ことを特徴とする報酬関数推定装置。 The reward function estimation device according to claim 4,
The reward function corresponds to the state and a reward function parameter that is a vector;
Each of the training order evaluation values is a positive value when one of the two training action sequences forming the set is more appropriate than the other, and a negative value when the other is more appropriate than the other And zero when the appropriateness of the one and the other is equal,
Each of the order evaluation values is a positive value when a system evaluation value corresponding to the one of the two training action sequences forming the set is larger than a system evaluation value corresponding to the other, A negative value when the corresponding system evaluation value is smaller than the system evaluation corresponding to the other, and a zero value when the system evaluation value corresponding to the one and the system evaluation corresponding to the other are equal;
The reward function adjustment unit is configured such that the system evaluation corresponding to the other from the system evaluation value corresponding to the one of the two training action sequences forming the set in which the sign of the training order evaluation value and the order evaluation value is different. Corresponds to the sum of the product of the partial differential value in the reward function parameter of the value obtained by subtracting the value and the training order evaluation value corresponding to the two training action sequences that form the pair having different positive and negative values Obtaining an update vector and updating the reward function by updating the reward function parameter with the update vector;
A reward function estimation device characterized by the above.
前記報酬関数は、前記状態に対応するベクトルとベクトルである報酬関数パラメータとに対応し、
前記訓練順序評価値のそれぞれは、前記組をなす前記2個の訓練行動列の一方が他方よりも適切である場合に正値であり、当該他方が当該一方よりも適切である場合に負値であり、当該一方と当該他方との適切さが等しい場合にゼロ値であり、
前記順序評価値のそれぞれは、前記組をなす前記2個の訓練行動列の前記一方に対応するシステム評価値が前記他方に対応するシステム評価値よりも大きい場合に正値であり、当該一方に対応するシステム評価値が当該他方に対応するシステム評価よりも小さい場合に負値であり、当該一方に対応するシステム評価値と当該他方に対応するシステム評価とが等しい場合にゼロ値であり、
前記報酬関数調整部は、前記訓練順序評価値と前記順序評価値との正負が異なる前記組をなす前記2個の訓練行動列の前記一方に対応するシステム評価値から前記他方に対応するシステム評価値を減じた値の前記報酬関数パラメータでの偏微分値と、当該正負が異なる前記組をなす前記2個の訓練行動列に対応する前記訓練順序評価値と、の乗算値の総和に対応する更新ベクトルを得、
前記訓練行動列が表す一連の状態のそれぞれに対応するベクトルの総和から、当該訓練行動列に対応する最適行動列が表す一連の状態のそれぞれに対応するベクトルの総和を減じて得られるベクトルの総和に対応する逆強化学習ベクトルを得、
前記更新ベクトルおよび前記逆強化学習ベクトルによって前記報酬関数パラメータを更新することで前記報酬関数を更新する、
ことを特徴とする報酬関数推定装置。 The reward function estimation device according to claim 4,
The reward function corresponds to a vector corresponding to the state and a reward function parameter that is a vector,
Each of the training order evaluation values is a positive value when one of the two training action sequences forming the set is more appropriate than the other, and a negative value when the other is more appropriate than the other And zero when the appropriateness of the one and the other is equal,
Each of the order evaluation values is a positive value when a system evaluation value corresponding to the one of the two training action sequences forming the set is larger than a system evaluation value corresponding to the other, A negative value when the corresponding system evaluation value is smaller than the system evaluation corresponding to the other, and a zero value when the system evaluation value corresponding to the one and the system evaluation corresponding to the other are equal;
The reward function adjustment unit is configured such that the system evaluation corresponding to the other from the system evaluation value corresponding to the one of the two training action sequences forming the set in which the sign of the training order evaluation value and the order evaluation value is different. Corresponds to the sum of the product of the partial differential value in the reward function parameter of the value obtained by subtracting the value and the training order evaluation value corresponding to the two training action sequences that form the pair having different positive and negative values Get the update vector,
The sum of the vectors obtained by subtracting the sum of the vectors corresponding to each of the series of states represented by the optimum behavior sequence corresponding to the training behavior sequence from the sum of the vectors corresponding to each of the series of states represented by the training behavior sequence. Get the inverse reinforcement learning vector corresponding to
Updating the reward function by updating the reward function parameter with the update vector and the inverse reinforcement learning vector;
A reward function estimation device characterized by the above.
行動によって遷移する一連の状態と各状態での行動とを表す訓練行動列からなる集合、および、前記訓練行動列それぞれの適切さを表す訓練順序評価値の集合が前記訓練行動列記憶部に格納されており、
前記訓練行動列評価部で、状態に対する報酬値を求める報酬関数を用い、前記訓練行動列が表す一連の状態の報酬値に対応する順序評価値を得、
前記報酬関数調整部で、前記順序評価値の集合と前記訓練順序評価値の集合との相違に基づいて前記報酬関数を更新する、
ことを特徴とする報酬関数推定方法。 A reward function estimation method executed by a reward function estimation device having a training action string storage unit, a training action string evaluation unit, and a reward function adjustment unit,
A set of training behavior sequences representing a series of states transitioned by behavior and behaviors in each state, and a set of training order evaluation values representing the suitability of each training behavior sequence are stored in the training behavior sequence storage unit Has been
In the training action sequence evaluation unit, using a reward function for obtaining a reward value for the state, obtaining an order evaluation value corresponding to a series of state reward values represented by the training action sequence,
In the reward function adjustment unit, the reward function is updated based on the difference between the set of order evaluation values and the set of training order evaluation values.
A reward function estimation method characterized by the above.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012096453A JP5815458B2 (en) | 2012-04-20 | 2012-04-20 | Reward function estimation device, reward function estimation method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012096453A JP5815458B2 (en) | 2012-04-20 | 2012-04-20 | Reward function estimation device, reward function estimation method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013225192A true JP2013225192A (en) | 2013-10-31 |
JP5815458B2 JP5815458B2 (en) | 2015-11-17 |
Family
ID=49595213
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012096453A Active JP5815458B2 (en) | 2012-04-20 | 2012-04-20 | Reward function estimation device, reward function estimation method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5815458B2 (en) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6088613B1 (en) * | 2015-09-30 | 2017-03-01 | ファナック株式会社 | Machine learning apparatus and method for learning magnet placement position in rotor, and rotor design apparatus provided with the machine learning apparatus |
JP2017046487A (en) * | 2015-08-27 | 2017-03-02 | ファナック株式会社 | Motor controller with flux control unit, and machine learning apparatus and method thereof |
JP2017091272A (en) * | 2015-11-11 | 2017-05-25 | 日本電信電話株式会社 | Internal standard estimation device, method, and program |
JP2017091273A (en) * | 2015-11-11 | 2017-05-25 | 日本電信電話株式会社 | What-if simulation device, method, and program |
JP2017107902A (en) * | 2015-12-07 | 2017-06-15 | ファナック株式会社 | Machine learning device learning action of laminating core sheet, laminated core manufacturing device, laminated core manufacturing system, and machine learning method |
CN108791308A (en) * | 2018-06-25 | 2018-11-13 | 大连大学 | The system for building driving strategy based on driving environment |
WO2019150452A1 (en) * | 2018-01-30 | 2019-08-08 | 日本電気株式会社 | Information processing device, control method, and program |
WO2020235061A1 (en) * | 2019-05-22 | 2020-11-26 | 日本電気株式会社 | Operation rule determination device, operation rule determination method, and recording medium |
JPWO2021038781A1 (en) * | 2019-08-29 | 2021-03-04 | ||
CN112529104A (en) * | 2020-12-23 | 2021-03-19 | 东软睿驰汽车技术(沈阳)有限公司 | Vehicle fault prediction model generation method, fault prediction method and device |
JP2021533428A (en) * | 2019-07-23 | 2021-12-02 | アジャイルソーダ インコーポレイテッド | Data infrastructure reinforcement learning device and method |
WO2021261474A1 (en) * | 2020-06-24 | 2021-12-30 | 本田技研工業株式会社 | Behavior control device, behavior control method, and program |
JP2022056238A (en) * | 2020-09-29 | 2022-04-08 | 本田技研工業株式会社 | Method of constructing learned model and design support device using the learned model |
US20220325696A1 (en) * | 2019-09-16 | 2022-10-13 | Siemens Gamesa Renewable Energy A/S | Wind turbine control based on reinforcement learning |
WO2023170973A1 (en) * | 2022-03-11 | 2023-09-14 | 日本電信電話株式会社 | Reinforced learning device, reinforced learning method, and reinforced learning program |
JP7425681B2 (en) | 2020-06-24 | 2024-01-31 | 本田技研工業株式会社 | Social ability generation device, social ability generation method, and communication robot |
JP7425690B2 (en) | 2020-07-16 | 2024-01-31 | 本田技研工業株式会社 | Robot motion generation device, robot motion generation method, and program |
JP7446178B2 (en) | 2020-08-05 | 2024-03-08 | 本田技研工業株式会社 | Behavior control device, behavior control method, and program |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10896383B2 (en) | 2014-08-07 | 2021-01-19 | Okinawa Institute Of Science And Technology School Corporation | Direct inverse reinforcement learning with density ratio estimation |
US10831208B2 (en) | 2018-11-01 | 2020-11-10 | Ford Global Technologies, Llc | Vehicle neural network processing |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011053735A (en) * | 2009-08-31 | 2011-03-17 | Nippon Telegr & Teleph Corp <Ntt> | Behavior control learning method, behavior control learning device, and behavior control learning program |
JP2013084175A (en) * | 2011-10-12 | 2013-05-09 | Sony Corp | Information processing apparatus, information processing method, and program |
-
2012
- 2012-04-20 JP JP2012096453A patent/JP5815458B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011053735A (en) * | 2009-08-31 | 2011-03-17 | Nippon Telegr & Teleph Corp <Ntt> | Behavior control learning method, behavior control learning device, and behavior control learning program |
JP2013084175A (en) * | 2011-10-12 | 2013-05-09 | Sony Corp | Information processing apparatus, information processing method, and program |
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017046487A (en) * | 2015-08-27 | 2017-03-02 | ファナック株式会社 | Motor controller with flux control unit, and machine learning apparatus and method thereof |
CN106487298A (en) * | 2015-08-27 | 2017-03-08 | 发那科株式会社 | Control device of electric motor, rote learning devices and methods therefor |
US9768716B2 (en) | 2015-08-27 | 2017-09-19 | Fanuc Corporation | Motor control apparatus provided with magnetic flux control unit, and machine learning apparatus and method thereof |
CN106487298B (en) * | 2015-08-27 | 2018-02-23 | 发那科株式会社 | Control device of electric motor, rote learning devices and methods therefor |
US10103611B2 (en) | 2015-09-30 | 2018-10-16 | Fanuc Corporation | Machine learning apparatus and method for learning arrangement position of magnet in rotor and rotor design apparatus including machine learning apparatus |
JP6088613B1 (en) * | 2015-09-30 | 2017-03-01 | ファナック株式会社 | Machine learning apparatus and method for learning magnet placement position in rotor, and rotor design apparatus provided with the machine learning apparatus |
JP2017091272A (en) * | 2015-11-11 | 2017-05-25 | 日本電信電話株式会社 | Internal standard estimation device, method, and program |
JP2017091273A (en) * | 2015-11-11 | 2017-05-25 | 日本電信電話株式会社 | What-if simulation device, method, and program |
US10500721B2 (en) | 2015-12-07 | 2019-12-10 | Fanuc Corporation | Machine learning device, laminated core manufacturing apparatus, laminated core manufacturing system, and machine learning method for learning operation for stacking core sheets |
JP2017107902A (en) * | 2015-12-07 | 2017-06-15 | ファナック株式会社 | Machine learning device learning action of laminating core sheet, laminated core manufacturing device, laminated core manufacturing system, and machine learning method |
JPWO2019150452A1 (en) * | 2018-01-30 | 2021-01-07 | 日本電気株式会社 | Information processing equipment, control methods, and programs |
WO2019150452A1 (en) * | 2018-01-30 | 2019-08-08 | 日本電気株式会社 | Information processing device, control method, and program |
CN108791308A (en) * | 2018-06-25 | 2018-11-13 | 大连大学 | The system for building driving strategy based on driving environment |
WO2020235061A1 (en) * | 2019-05-22 | 2020-11-26 | 日本電気株式会社 | Operation rule determination device, operation rule determination method, and recording medium |
JPWO2020235061A1 (en) * | 2019-05-22 | 2020-11-26 | ||
JP7173317B2 (en) | 2019-05-22 | 2022-11-16 | 日本電気株式会社 | Operation rule determination device, operation rule determination method and program |
JP7066933B2 (en) | 2019-07-23 | 2022-05-16 | アジャイルソーダ インコーポレイテッド | Data infrastructure reinforcement learning device |
JP2021533428A (en) * | 2019-07-23 | 2021-12-02 | アジャイルソーダ インコーポレイテッド | Data infrastructure reinforcement learning device and method |
JP7315007B2 (en) | 2019-08-29 | 2023-07-26 | 日本電気株式会社 | LEARNING DEVICE, LEARNING METHOD AND LEARNING PROGRAM |
JPWO2021038781A1 (en) * | 2019-08-29 | 2021-03-04 | ||
US20220325696A1 (en) * | 2019-09-16 | 2022-10-13 | Siemens Gamesa Renewable Energy A/S | Wind turbine control based on reinforcement learning |
WO2021261474A1 (en) * | 2020-06-24 | 2021-12-30 | 本田技研工業株式会社 | Behavior control device, behavior control method, and program |
JP7425681B2 (en) | 2020-06-24 | 2024-01-31 | 本田技研工業株式会社 | Social ability generation device, social ability generation method, and communication robot |
JP7425690B2 (en) | 2020-07-16 | 2024-01-31 | 本田技研工業株式会社 | Robot motion generation device, robot motion generation method, and program |
JP7446178B2 (en) | 2020-08-05 | 2024-03-08 | 本田技研工業株式会社 | Behavior control device, behavior control method, and program |
JP2022056238A (en) * | 2020-09-29 | 2022-04-08 | 本田技研工業株式会社 | Method of constructing learned model and design support device using the learned model |
JP7376450B2 (en) | 2020-09-29 | 2023-11-08 | 本田技研工業株式会社 | A method for constructing a trained model and a design support device using the trained model |
CN112529104A (en) * | 2020-12-23 | 2021-03-19 | 东软睿驰汽车技术(沈阳)有限公司 | Vehicle fault prediction model generation method, fault prediction method and device |
WO2023170973A1 (en) * | 2022-03-11 | 2023-09-14 | 日本電信電話株式会社 | Reinforced learning device, reinforced learning method, and reinforced learning program |
Also Published As
Publication number | Publication date |
---|---|
JP5815458B2 (en) | 2015-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5815458B2 (en) | Reward function estimation device, reward function estimation method, and program | |
JP6889270B2 (en) | Neural network architecture optimization | |
Bostanabad et al. | Leveraging the nugget parameter for efficient Gaussian process modeling | |
CN113642659B (en) | Training sample set generation method and device, electronic equipment and storage medium | |
CN108875776A (en) | Model training method and device, business recommended method and apparatus, electronic equipment | |
CN109978836B (en) | User personalized image aesthetic feeling evaluation method, system, medium and equipment based on meta learning | |
JP2017224027A (en) | Machine learning method related to data labeling model, computer and program | |
US20190012611A1 (en) | Information processing system | |
US9727447B1 (en) | System, method, and computer program for automated exploratory testing | |
CN110689110B (en) | Method and device for processing interaction event | |
Krohling et al. | Ranking and comparing evolutionary algorithms with Hellinger-TOPSIS | |
JPWO2018143019A1 (en) | Information processing apparatus, information processing method, and program | |
JP2014160457A (en) | Interactive variable selection device, interactive variable selection method and interactive variable selection program | |
JP2021149842A (en) | Machine learning system and machine learning method | |
JP6744767B2 (en) | Human flow prediction device, parameter estimation device, method, and program | |
Zinn | Simulating synthetic life courses of individuals and couples, and mate matching | |
JPWO2014087590A1 (en) | Optimization device, optimization method, and optimization program | |
US20210390446A1 (en) | Standard error of prediction of performance in artificial intelligence model | |
Chang et al. | Combining STRONG with screening designs for large-scale simulation optimization | |
JP2022531982A (en) | Feature vector feasibility estimation | |
JP2018190129A (en) | Determination device, analysis system, determination method and determination program | |
Dawid | Evolutionary game dynamics and the analysis of agent-based imitation models: The long run, the medium run and the importance of global analysis | |
Shi et al. | Bayesian variable selection via particle stochastic search | |
WO2012032747A1 (en) | Feature point selecting system, feature point selecting method, feature point selecting program | |
US11860769B1 (en) | Automatic test maintenance leveraging machine learning algorithms |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140626 |
|
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: 20150915 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150924 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5815458 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |