JP5152780B2 - Function approximation device, reinforcement learning system, function approximation system, and function approximation program - Google Patents
Function approximation device, reinforcement learning system, function approximation system, and function approximation program Download PDFInfo
- Publication number
- JP5152780B2 JP5152780B2 JP2007231085A JP2007231085A JP5152780B2 JP 5152780 B2 JP5152780 B2 JP 5152780B2 JP 2007231085 A JP2007231085 A JP 2007231085A JP 2007231085 A JP2007231085 A JP 2007231085A JP 5152780 B2 JP5152780 B2 JP 5152780B2
- Authority
- JP
- Japan
- Prior art keywords
- input
- variable
- value
- output
- function
- 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.)
- Expired - Fee Related
Links
- 230000006870 function Effects 0.000 title claims description 298
- 230000002787 reinforcement Effects 0.000 title claims description 39
- 230000009471 action Effects 0.000 claims description 146
- 238000004364 calculation method Methods 0.000 claims description 55
- 238000013528 artificial neural network Methods 0.000 claims description 41
- 230000006399 behavior Effects 0.000 claims description 32
- 230000035945 sensitivity Effects 0.000 claims description 27
- 238000011156 evaluation Methods 0.000 claims description 18
- 238000000034 method Methods 0.000 description 153
- 230000008569 process Effects 0.000 description 110
- 238000012986 modification Methods 0.000 description 71
- 230000004048 modification Effects 0.000 description 71
- 230000000052 comparative effect Effects 0.000 description 48
- 238000000586 desensitisation Methods 0.000 description 39
- 238000010586 diagram Methods 0.000 description 30
- 230000008859 change Effects 0.000 description 22
- 239000003795 chemical substances by application Substances 0.000 description 15
- 230000008878 coupling Effects 0.000 description 15
- 238000010168 coupling process Methods 0.000 description 15
- 238000005859 coupling reaction Methods 0.000 description 15
- 238000012545 processing Methods 0.000 description 14
- 238000002474 experimental method Methods 0.000 description 13
- 230000014509 gene expression Effects 0.000 description 11
- 230000001133 acceleration Effects 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 9
- 238000010187 selection method Methods 0.000 description 9
- 238000007430 reference method Methods 0.000 description 8
- 101000911772 Homo sapiens Hsc70-interacting protein Proteins 0.000 description 7
- 101001139126 Homo sapiens Krueppel-like factor 6 Proteins 0.000 description 4
- 238000003909 pattern recognition Methods 0.000 description 4
- 230000005484 gravity Effects 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- XEEYBQQBJWHFJM-UHFFFAOYSA-N Iron Chemical compound [Fe] XEEYBQQBJWHFJM-UHFFFAOYSA-N 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012886 linear function Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 229910052742 iron Inorganic materials 0.000 description 1
- 238000002715 modification method Methods 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000013404 process transfer Methods 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Landscapes
- Feedback Control In General (AREA)
Description
本発明は、ニューラルネットにより関数を近似する関数近似装置、関数近似システムおよび関数近似プログラムに関する。また、本発明は、前記制御装置の制御を適切に行うために前記関数近似装置が適用された強化学習システムに関する。 The present invention relates to a function approximation device, a function approximation system, and a function approximation program that approximate a function using a neural network. The present invention also relates to a reinforcement learning system to which the function approximation device is applied in order to appropriately control the control device.
従来より、入力と出力との関係を表す関数を近似する技術が知られており、機械学習、パターン認識、ロボット等の制御等の知的情報処理分野では広く用いられている。また、前記関数を近似する技術は、前記関数を精度良く近似できれば、気象予測や製鉄所の溶鉱炉の制御等の様々な工学分野においても有用であるため、研究・開発等が盛んに行われている。 Conventionally, a technique for approximating a function representing a relationship between an input and an output is known and widely used in the field of intelligent information processing such as machine learning, pattern recognition, and control of a robot. In addition, the technique for approximating the function is useful in various engineering fields such as weather forecasting and iron furnace blast furnace control if the function can be approximated with high accuracy. Yes.
前記関数を近似する技術として、例えば、前記関数を線形多項式等に近似する線形モデル(一般線形モデル(GLM:General Linear Model))や、予め記憶されたテーブルを参照することにより近似するテーブル参照法(テーブルルックアップ(Table Look-up))等の技術が知られている。
また、入力層、中間層、出力層がそれぞれ有する素子(ニューロン)よって入力・出力および関数を分散表現することで前記関数を近似する、いわゆる、層状ニューラルネットの技術が知られている。なお、前記層状ニューラルネットには、学習能力(汎化能力)等の特性がそれぞれ異なる多層パーセプトロン(MLP:Multi-Layer Perceptron,Multi-Layered Perceptron)、RBF(Radial Basis Function)ネットワーク、GRBF(Gaussian Radial Basis Function)ネットワーク等のアルゴリズムが含まれる。
なお、前記線形モデルについては、例えば、非特許文献1等に記載されており、前記層状ニューラルネットについては、例えば、非特許文献2等に記載されており、いずれも公知である。
As a technique for approximating the function, for example, a linear model (general linear model (GLM)) that approximates the function to a linear polynomial, or a table reference method that approximates by referring to a pre-stored table Techniques such as (Table Look-up) are known.
In addition, a so-called layered neural network technique is known in which the function is approximated by expressing the input / output and the function in a distributed manner by elements (neurons) included in the input layer, the intermediate layer, and the output layer. The layered neural network includes a multi-layer perceptron (MLP), an RBF (Radial Basis Function) network, and a GRBF (Gaussian Radial) that have different characteristics such as learning ability (generalization ability). Basis Function) Network and other algorithms are included.
The linear model is described in, for example, Non-Patent Document 1 and the like, and the layered neural network is described in, for example, Non-Patent Document 2 and the like, both of which are publicly known.
(選択的不感化法について)
また、本願発明者らによって、選択的不感化法が適用された新たな層状ニューラルネットが提案されている。なお、前記選択的不感化法については、非特許文献3等に記載されており、公知である。ここで、前記選択的不感化法が適用された層状ニューラルネットについて、非特許文献3に記載された内容に基づいて、以下に説明する。
前記選択的不感化法が適用された層状ニューラルネットでは、2つの入力パターンS,Cの情報を統合して目標パターンTを連想する課題、すなわち、入力がS,Cならば出力がTとなる関数を近似する課題について考える。
(About selective desensitization)
The present inventors have proposed a new layered neural network to which the selective desensitization method is applied. The selective desensitization method is described in Non-Patent Document 3, etc., and is well known. Here, the layered neural network to which the selective desensitization method is applied will be described below based on the contents described in Non-Patent Document 3.
In the layered neural network to which the selective desensitization method is applied, the problem of associating the target pattern T by integrating the information of the two input patterns S and C, that is, if the input is S and C, the output is T. Consider the task of approximating a function.
図12は選択的不感化法が適用された層状ニューラルネットの最小の構成の説明図である。
図12において、前記選択的不感化法が適用された層状ニューラルネット01は、2n個の素子により構成された入力層01aと、n個の素子により構成された中間層01bと、m個の素子により構成された出力層01cとを有する。前記入力層01aの2n個の素子は、前記入力パターンS,Cにそれぞれn個づつ振り分けられている。すなわち、前記入力パターンS,Cは、それぞれn個の素子(要素)により構成されている。また、前記中間層01bのn個の素子には、前記入力パターンS,Cのn個の素子がそれぞれ結合されており、中間層01bのi番目の素子(後述する要素xi)には、前記入力パターンS,Cのi番目の素子(後述する要素si,ci)がそれぞれ結合されている(i=1,2,…,n)。
FIG. 12 is an explanatory diagram of the minimum configuration of a layered neural network to which the selective desensitization method is applied.
In FIG. 12, a layered neural network 01 to which the selective desensitization method is applied includes an input layer 01a composed of 2n elements, an intermediate layer 01b composed of n elements, and m elements. And an output layer 01c constituted by The 2n elements of the input layer 01a are allocated to the input patterns S and C by n. That is, the input patterns S and C are each composed of n elements (elements). Further, n elements of the input patterns S and C are respectively coupled to n elements of the intermediate layer 01b, and an i-th element (element x i described later) of the intermediate layer 01b includes The i-th elements (elements s i , c i described later) of the input patterns S, C are respectively coupled (i = 1, 2,..., N).
ここで、前記入力パターンS,Cが、S=(s1,s2,…,sn),C=(c1,c2,…,cn)で示されるとする。この場合、入力パターンS,Cのi番目の要素がsi,ciで示される。また、前記中間層01bの出力である中間パターンをXとし、前記中間パターンXが、X=(x1,x2,…,xn)で示されるものとする。このとき、前記中間パターンXのi番目の要素xiは、以下の式(1)で示される。
xi=gi(si−ave(xi))+ave(xi) …(1)
ここで、giは前記要素xiにおけるゲイン(出力感度、感度)であり、ave(xi)は前記要素xiの平均出力レベル、すなわち、全ての入力(要素si,ci)に対する出力(要素xi)の平均値である。
Here, the input pattern S, C is, S = (s 1, s 2, ..., s n), C = (c 1, c 2, ..., c n) and indicated by. In this case, the i-th element of the input patterns S and C is denoted by s i and c i . Further, it is assumed that the intermediate pattern that is the output of the intermediate layer 01b is X, and the intermediate pattern X is represented by X = (x 1 , x 2 ,..., X n ). At this time, the i-th element x i of the intermediate pattern X is represented by the following formula (1).
x i = g i (s i −ave (x i )) + ave (x i ) (1)
Here, g i is a gain (output sensitivity, sensitivity) in the element x i , and ave (x i ) is an average output level of the element x i , that is, for all inputs (elements s i , c i ). It is the average value of the output (element x i ).
なお、前記平均出力レベルave(xi)は、前記ゲインgiと前記要素siとの間に相関がない場合、前記要素siの平均値(ave(si))と置き換えることが可能である。ここで、両者(ave(xi),ave(si))が厳密に一致していなくても殆ど問題はない。よって、例えば、前記要素siの値が1と−1とを等確率で取り、前記ゲインgiと前記要素siとが独立に決定される場合(相関がない場合)、前記平均出力レベルave(xi)を0とすることも可能である(ave(xi)=0)。この場合、前記要素xiは、以下の式(1)′で示すことができる。
xi=gi×si …(1)′
The average output level ave (x i ) can be replaced with the average value (ave (s i )) of the element s i when there is no correlation between the gain g i and the element s i. It is. Here, there is almost no problem even if both (ave (x i ), ave (s i )) do not exactly match. Thus, for example, when the value of the element s i takes 1 and −1 with equal probability, and the gain g i and the element s i are determined independently (no correlation), the average output level It is also possible to set ave (x i ) to 0 (ave (x i ) = 0). In this case, the element x i can be expressed by the following equation (1) ′.
x i = g i × s i (1) ′
また、前記ゲインgiをi番目の要素として含むゲインベクトルをGとし、前記ゲインベクトルGが、G=(g1,g2,…,gn)で示されるものとする。また、前記ゲインgiの値は、通常1であるが、これを0にすることを「不感化」と呼ぶこととし、前記中間パターンXの出力において、前記入力パターンSのn個の素子si(i=1,2,…,n)のある一部分だけを不感化することを「選択的不感化」と呼ぶこととする。
そして、不感化する要素si(i=1,2,…,n)の組み合わせを前記入力パターン(文脈パターン)Cの要素ci(i=1,2,…,n)に基づいて変化させる方法が、選択的不感化に基づく文脈修飾法であり、これを「積型文脈修飾」と呼ぶこととする。また、前記入力パターン(文脈パターン)Cで積型文脈修飾された入力パターンSを積型修飾S(C)とする。
Further, it is assumed that a gain vector including the gain g i as the i-th element is G, and the gain vector G is represented by G = (g 1 , g 2 ,..., G n ). The value of the gain g i is normally 1, but setting this to 0 is referred to as “desensitization”, and n elements s of the input pattern S are output at the output of the intermediate pattern X. Desensitizing only a part of i (i = 1, 2,..., n) is referred to as “selective desensitization”.
Then, the combination of the desensitized elements s i (i = 1, 2,..., N) is changed based on the elements c i (i = 1, 2,..., N) of the input pattern (context pattern) C. The method is a context modification method based on selective desensitization, which is referred to as “product type context modification”. An input pattern S that has been subjected to product type context modification with the input pattern (context pattern) C is referred to as product type modification S (C).
この場合、前記ゲインベクトルGのi番目の要素(ゲイン)giは、前記入力パターン(文脈パターン)Cのi番目の要素ciに基づいて決定される。最も簡単な決定方法として、例えば、前記ゲインgiは、前記要素ciの値が前記要素siと同様に1と−1とを等確率で取る場合、以下の式(2)で示される。
gi=(1+ci)/2 …(2)
したがって、ci=1の場合には、gi=1となり、ci=−1の場合には、gi=0となり、前記入力パターン(文脈パターン)Cと、前記ゲインベクトルGとを同一視できる。なお、前記ゲインgi(要素ci)と前記要素siとの間に相関がある場合、すなわち、前記ゲインベクトルG(入力パターン(文脈パターン)C)と前記入力パターンSとの間に相関がある場合、前記ゲインベクトルGの成分(要素gi)を適当にシャッフルする等して相関関係を解消し、ave(xi)=0とすることが望ましい。
In this case, the i-th element (gain) g i of the gain vector G is determined based on the i-th element c i of the input pattern (context pattern) C. As the simplest determination method, for example, the gain g i is expressed by the following equation (2) when the value of the element c i takes 1 and −1 with the same probability as the element s i. .
g i = (1 + c i ) / 2 (2)
Therefore, when c i = 1, g i = 1, and when c i = −1, g i = 0, and the input pattern (context pattern) C and the gain vector G are the same. I can see it. When there is a correlation between the gain g i (element c i ) and the element s i, that is, between the gain vector G (input pattern (context pattern) C) and the input pattern S. If there is, it is desirable to eliminate the correlation by appropriately shuffling the component (element g i ) of the gain vector G and set ave (x i ) = 0.
また、図12において、前記出力層01cのm個の各素子には、前記中間層01bの複数の素子がそれぞれ結合されている。ここで、前記出力層01cの出力である出力パターンをYとし、前記出力パターンYが、Y=(y1,y2,…,ym)で示される場合、前記出力パターンYのj番目の要素yjは、以下の数1の式(3)で示される。 In FIG. 12, a plurality of elements of the intermediate layer 01b are coupled to each of the m elements of the output layer 01c. Here, when the output pattern which is the output of the output layer 01c is Y, and the output pattern Y is expressed by Y = (y 1 , y 2 ,..., Y m ), the j-th output pattern Y The element y j is expressed by the following equation (3).
なお、wjiは前記要素xiから前記要素yjへの結合荷重(重み付け)である(0≦wji≦1)。また、sgn(u)は、ある値uについて、u>0の場合には、sgn(u)=1、それ以外(u≦0)の場合には、sgn(u)=−1となる符号関数である。
Note that w ji is a coupling load (weighting) from the element x i to the element y j (0 ≦ w ji ≦ 1). Also, sgn (u) is a code for a value u such that sgn (u) = 1 when u> 0, and sgn (u) = − 1 otherwise (u ≦ 0). It is a function.
また、前記入力パターンS,Cの間には相関がなく、前記入力パターンS,Cどうしの直交性が低いため、前記結合荷重wjiについてのフィードバック型の学習則として、直交性の低い入力パターンS,Cに対する連想記憶が可能な直交学習が利用できる。すなわち、前記目標パターンTが、T=(t1,t2,…,tm)で示され、前記目標パターンTのj番目の要素がtjで示される場合、前記結合荷重wjiは、入力パターンS,Cが入力される度に、以下の数2の式(4)で示される更新値Δwjiが加えられて更新される。 Further, since there is no correlation between the input patterns S and C and the orthogonality between the input patterns S and C is low, an input pattern with low orthogonality is used as a feedback-type learning rule for the coupling load w ji. Orthogonal learning capable of associative memory for S and C can be used. That is, when the target pattern T is represented by T = (t 1 , t 2 ,..., T m ) and the j-th element of the target pattern T is represented by t j , the combined load w ji is Each time the input patterns S and C are input, the update value Δw ji expressed by the following equation (4) is added and updated.
ここで、εは正定数(例えば、0.3)である。また、式(4)は、前記式(3)によって、以下の式(4)′で示すことができる。
Δwji=ε(tj−yj)xi …(4)′
Here, ε is a positive constant (eg, 0.3). Further, the formula (4) can be expressed by the following formula (4) ′ by the formula (3).
Δw ji = ε (t j −y j ) x i (4) ′
(積型モデルと相互修飾モデル)
図13は選択的不感化法が適用された層状ニューラルネットの説明図であり、図13Aは積型モデルの説明図であり、図13Bは相互修飾モデルの説明図である。
なお、選択的不感化法が適用された層状ニューラルネットには、図13Aに示す積型モデル01′と、図13Bに示す相互修飾モデル02とが含まれる。
図13Aにおいて、前記積型モデル01′は、2n個の素子により構成された入力層01a′と、n個の素子により構成された中間層01b′と、m個の素子により構成された出力層01c′とを有する。なお、前記積型モデル01′は、矢印Sにより、前記入力層01a′の入力パターンSが省略されて簡略化されただけであり、図12に示す前記層状ニューラルネット01と同様に構成されている。
(Product model and mutual modification model)
FIG. 13 is an explanatory diagram of a layered neural network to which the selective desensitization method is applied, FIG. 13A is an explanatory diagram of a product type model, and FIG. 13B is an explanatory diagram of a mutual modification model.
Note that the layered neural network to which the selective desensitization method is applied includes a product model 01 ′ shown in FIG. 13A and a mutual modification model 02 shown in FIG. 13B.
In FIG. 13A, the product model 01 ′ includes an input layer 01a ′ composed of 2n elements, an intermediate layer 01b ′ composed of n elements, and an output layer composed of m elements. 01c '. The product model 01 ′ is simplified by omitting the input pattern S of the input layer 01a ′ by the arrow S, and has the same configuration as the layered neural network 01 shown in FIG. Yes.
また、図13Bにおいて、前記相互修飾モデル02は、2n個の素子により構成された入力層02aと、2n個の素子により構成された中間層02bと、m個の素子により構成された出力層02cとを有する。ここで、前記相互修飾モデル02では、前記積型モデル01,01′の中間層01,01b′が前記入力パターンSの前記積型修飾S(C)を出力する各素子(xi(i=1,2,…,n))のみを有しているのに対して、前記中間層02bが、前記入力パターンSの積型修飾S(C)を出力する各素子(xi(i=1,2,…,n))と、前記入力パターンCの積型修飾C(S)を出力する素子(xi′(i=1,2,…,n))とを有している。すなわち、前記中間層02bの中間パターンX′が、X′=(x1,x2,…,xn,x1′,x2′,…,xn′)で示されるものとする。
そして、前記相互修飾モデル02では、前記入力パターンS,Cどうしが相互に積型文脈修飾される。すなわち、前記入力パターンSが前記入力パターンCで積型文脈修飾されて前記積型修飾S(C)が出力されると共に、前記入力パターンCも前記入力パターンSで積型文脈修飾されて積型修飾C(S)が出力される(式(1)〜(4)参照)。このため、前記相互修飾モデル02は、前記積型モデル01′に比べ、学習能力(汎化能力)をさらに向上させることができる(非特許文献3参照)。
13B, the mutual modification model 02 includes an input layer 02a composed of 2n elements, an intermediate layer 02b composed of 2n elements, and an output layer 02c composed of m elements. And have. Here, in the mutual modification model 02, each intermediate element 01, 01b ′ of the product model 01, 01 ′ outputs each product (x i (i = i = , N)), the intermediate layer 02b outputs each element (x i (i = 1) that outputs the product type modification S (C) of the input pattern S. , 2,..., N)) and an element (x i ′ (i = 1, 2,..., N)) that outputs the product type modification C (S) of the input pattern C. That is, the intermediate pattern X ′ of the intermediate layer 02b is represented by X ′ = (x 1 , x 2 ,..., X n , x 1 ′, x 2 ′,..., X n ′).
In the mutual modification model 02, the input patterns S and C are mutually subjected to product type context modification. That is, the input pattern S is subjected to product type context modification by the input pattern C to output the product type modification S (C), and the input pattern C is also subjected to product type context modification by the input pattern S to be product type. The modification C (S) is output (see formulas (1) to (4)). Therefore, the mutual modification model 02 can further improve the learning ability (generalization ability) compared to the product model 01 ′ (see Non-Patent Document 3).
(従来技術の問題点) (Problems of conventional technology)
しかしながら、線形モデルによって関数を近似する場合には、予め線形化できると分かっている関数しか精度良く近似できず、前記関数を精度良く近似するためには、線形多項式の次数を大きくし、入力および出力のサンプルデータをできるだけ多くする必要があった。また、前記テーブル参照法によって関数を近似する場合には、参照するテーブルの大きさが変数の数に応じて指数的に増加するという問題があった。例えば、100通りの値を取り得る状態変数がn個存在する場合、テーブルで全ての状態を示すためには100n通りの大きさのテーブルが必要となる。したがって、関数を精度良く近似する場合には、100n通りにできる限り近い数のサンプルデータが必要となるため、テーブル作成のために莫大な時間および記憶容量が必要となる問題があった。 However, when a function is approximated by a linear model, only a function that is known to be linearized in advance can be approximated with high accuracy. To approximate the function with high accuracy, the order of the linear polynomial is increased, It was necessary to increase the output sample data as much as possible. Further, when the function is approximated by the table reference method, there is a problem that the size of the table to be referred to increases exponentially according to the number of variables. For example, when there are n state variables that can take 100 different values, a table having 100 n different sizes is required to indicate all states in the table. Therefore, when the function is approximated with high accuracy, as many sample data as possible are required as many as 100 n types, and there is a problem that enormous time and storage capacity are required for table creation.
さらに、前記多層パーセプトロンや前記RBF(GRBF)ネットワークによって関数を近似する場合にも、前記テーブル参照法の場合と同様に、入力層の素子の数が大きくなるほど学習に必要なサンプルデータの数が多く必要となり、前記関数を精度良く近似するためには、莫大な学習時間が必要となるという問題があった。
特に、前記多層パーセプトロンについては、独立した入力パターンの数が多くなり、課題が複雑になる程、期待された学習能力(汎化能力)が失われてしまうという問題があった(非特許文献3参照)。また、この問題については、前記多層パーセプトロンとアルゴリズムが異なるだけの前記RBF(GRBF)ネットワークについても同様に存在すると考えられる。
したがって、従来公知のこれらの技術では、強い非線形性を有する関数(非線形関数)については精度良く近似することができず、入力パターンの数が小さくなければ、莫大な数のサンプルデータが必要になり、莫大な学習時間が必要となるという問題があった。
Further, when the function is approximated by the multilayer perceptron or the RBF (GRBF) network, the number of sample data necessary for learning increases as the number of elements in the input layer increases as in the case of the table reference method. There is a problem that enormous learning time is required to accurately approximate the function.
In particular, the multi-layer perceptron has a problem that the number of independent input patterns increases, and the more complicated the task, the more the expected learning ability (generalization ability) is lost (Non-Patent Document 3). reference). In addition, it is considered that this problem also exists in the RBF (GRBF) network in which the algorithm differs from the multilayer perceptron.
Therefore, with these conventionally known techniques, it is not possible to accurately approximate a function (nonlinear function) having strong nonlinearity, and an enormous number of sample data is required unless the number of input patterns is small. There was a problem that enormous learning time was required.
なお、前記選択的不感化法が適用された前記積型モデル01,01′(図12、図13A参照)や前記相互修飾モデル02(図13B参照)は、前記多層パーセプトロンに比べ、学習能力(汎化能力)が高く、少ない学習回数で精度良く学習することができる(非特許文献3参照)。しかしながら、前記選択的不感化法が適用された層状ニューラルネット01,01′,02では、2つの入力パターンS,Cについて前記中間パターンX,X′(X=S(C),X′=S(C),C(S))を出力する場合しか想定されていないという問題があった。すなわち、入力パターンの数が3つ以上に増えた場合には、前記選択的不感化法が適用された層状ニューラルネット01,01′,02が適用できず、結局、従来公知の技術(線形モデル、テーブル参照法、多層パーセプトロン等の層状ニューラルネット等)を適用して前記関数を近似するしか方法がないため、上記の問題が解決できないという問題があった。また、従来公知の前記選択的不感化法が適用された層状ニューラルネット01,01′,02は、簡単な線形関数(例えば、f(x,y)=x−y等)について実験されているだけで、複雑な非線形関数の近似についての有効性等について検証されておらず、且つ、現実的な応用例等も提案されていないという問題があった。 The product models 01 and 01 ′ (see FIGS. 12 and 13A) and the mutual modification model 02 (see FIG. 13B) to which the selective desensitization method is applied have learning ability ( Generalization ability) is high, and it is possible to learn accurately with a small number of learning times (see Non-Patent Document 3). However, in the layered neural networks 01, 01 ', 02 to which the selective desensitization method is applied, the intermediate patterns X, X' (X = S (C), X '= S) for two input patterns S, C. (C), C (S)) is only assumed to be output. That is, when the number of input patterns increases to three or more, the layered neural networks 01, 01 ', 02 to which the selective desensitization method is applied cannot be applied. However, there is a problem that the above problem cannot be solved because there is only a method of approximating the function by applying a table reference method, a layered neural network such as a multilayer perceptron). In addition, the layered neural networks 01, 01 ', 02 to which the conventionally known selective desensitization method is applied have been tested for simple linear functions (for example, f (x, y) = xy). However, there has been a problem that the effectiveness of approximation of a complex nonlinear function has not been verified, and no practical application example has been proposed.
本発明は、前述の事情に鑑み、次の記載内容(O01)を技術的課題とする。
(O01)入力変数の数が多い場合でも関数を精度良く近似すると共に、近似するために必要な学習のコストを低減すること。
In view of the above circumstances, the present invention has the following description (O01) as a technical problem.
(O01) To accurately approximate a function even when the number of input variables is large, and to reduce the learning cost necessary for the approximation.
前記技術的課題を解決するために、請求項1記載の発明の関数近似装置は、
入力変数の値が入力される入力素子により構成された入力層と、前記入力素子に結合された中間素子であって、前記入力素子に入力された値に基づいて演算された中間変数の値が出力される前記中間素子により構成された中間層と、前記中間素子に結合された出力素子であって、前記中間素子に入力された値に基づいて演算された出力変数の値が出力される前記出力素子により構成された出力層と、を有する層状ニューラルネットにより、前記入力変数と前記出力変数との関係である関数を近似する関数近似装置において、
3以上の入力変数の各値が入力される各入力素子により構成された前記入力層と、
前記3以上の入力変数の各値をそれぞれ入力する入力変数入力手段と、
前記3以上の入力変数の中のいずれか2つの入力変数を一組とした入力変数組が設定され、前記入力変数組の一方の入力変数の各値と、前記入力変数組の他方の入力変数の各値に基づいて演算される各第1出力感度と、に基づいて、前記中間変数の各値をそれぞれ演算する中間変数演算手段と、
前記中間変数と、前記中間変数の値の重視度合いに応じて設定された結合荷重と、に基づいて、前記出力変数の値を演算する出力変数演算手段と、
前記出力変数の値と、予め記憶された前記関数の実際の値との差分に基づいて、前記結合荷重を更新することにより、前記結合荷重を学習する結合荷重学習手段と、
を備えたことを特徴とする。
In order to solve the technical problem, the function approximating device according to claim 1 comprises:
An input layer configured by an input element to which an input variable value is input, and an intermediate element coupled to the input element, wherein the value of the intermediate variable calculated based on the value input to the input element is An intermediate layer constituted by the intermediate element to be output, and an output element coupled to the intermediate element, wherein the value of the output variable calculated based on the value input to the intermediate element is output In a function approximation device that approximates a function that is a relationship between the input variable and the output variable by a layered neural network having an output layer constituted by output elements,
The input layer constituted by each input element to which each value of three or more input variables is input;
Input variable input means for inputting each value of the three or more input variables;
An input variable set in which any two input variables among the three or more input variables are set, and each value of one input variable of the input variable set and the other input variable of the input variable set are set. Intermediate variable calculation means for calculating each value of the intermediate variable based on each first output sensitivity calculated based on each value of
An output variable calculation means for calculating the value of the output variable based on the intermediate variable and a combined load set according to the importance of the value of the intermediate variable;
A connection weight learning means for learning the connection weight by updating the connection weight based on a difference between a value of the output variable and an actual value of the function stored in advance;
It is provided with.
請求項2に記載の発明は、請求項1に記載の関数近似装置において、
前記入力変数組の一方の入力変数の各値と、前記入力変数組の他方の入力変数の各値に基づいて演算される各第1出力感度と、に基づいて、第1中間変数の各値をそれぞれ演算する第1中間変数演算手段と、前記入力変数組の他方の入力変数の各値と、前記入力変数組の一方の入力変数の各値に基づいて演算される各第2出力感度と、に基づいて、第2中間変数の各値をそれぞれ演算する第2中間変数演算手段と、を有する前記中間変数演算と、
前記第1中間変数と、前記第2中間変数と、前記第1中間変数および前記第2中間変数の各値の重視度合いに応じて設定された各結合荷重と、に基づいて、前記出力変数の値を演算する前記出力変数演算手段と、
を備えたことを特徴とする。
The invention according to claim 2 is the function approximating device according to claim 1,
Each value of the first intermediate variable based on each value of one input variable of the input variable set and each first output sensitivity calculated based on each value of the other input variable of the input variable set First intermediate variable calculation means for calculating each of the above, each value of the other input variable of the input variable set, each second output sensitivity calculated based on each value of one input variable of the input variable set, , Based on the second intermediate variable calculation means for calculating each value of the second intermediate variable, respectively, the intermediate variable calculation,
Based on the first intermediate variable, the second intermediate variable, and each combined load set in accordance with the importance of each value of the first intermediate variable and the second intermediate variable, the output variable The output variable calculating means for calculating a value;
It is provided with.
請求項3に記載の発明は、請求項1または2に記載の関数近似装置において、
前記中間層が、複数の各中間変数の各値が出力される各中間素子により構成され、且つ、前記3以上の入力変数の全ての入力変数が、少なくとも一組の前記入力変数組の一方または他方の入力変数として設定されて複数組の前記入力変数組が構成されていることを特徴とする。
The invention according to claim 3 is the function approximating device according to claim 1 or 2,
The intermediate layer includes each intermediate element that outputs each value of a plurality of intermediate variables, and all the input variables of the three or more input variables are at least one of the input variable sets or A plurality of sets of the input variables are configured by being set as the other input variable.
前記技術的課題を解決するために、請求項4記載の発明の強化学習システムは、
行動を制御する対象としての制御装置と、
前記制御装置の状態を測定する状態測定手段と、
前記行動に対する報酬を取得する報酬取得手段と、
将来取得可能な報酬の予測に基づいて、測定された前記状態における全ての行動を評価するための評価値である行動価値関数を演算する行動価値関数演算手段と、
前記状態で測定された測定値を、前記入力変数の値とみなすことにより、測定された前記状態における前記行動価値関数を近似する請求項1ないし3のいずれかに記載の前記関数近似装置と、
近似された前記行動価値関数に基づいて、前記行動を選択する行動選択手段と、
選択された前記行動を実行する行動実行手段と、
前記報酬に基づいて、前記制御装置の制御が失敗した状態であるか否かを判別することにより、前記制御装置の制御を終了するか否かを判別する制御終了判別手段と、
を備えたことを特徴とする。
In order to solve the technical problem, the reinforcement learning system of the invention according to claim 4 comprises:
A control device as a target for controlling behavior;
State measuring means for measuring the state of the control device;
Reward acquisition means for acquiring a reward for the behavior;
An action value function calculating means for calculating an action value function that is an evaluation value for evaluating all actions in the measured state based on prediction of a reward that can be acquired in the future;
The function approximation device according to any one of claims 1 to 3, wherein the action value function in the measured state is approximated by regarding a measured value measured in the state as a value of the input variable.
Action selecting means for selecting the action based on the approximated action value function;
Action executing means for executing the selected action;
Control end determination means for determining whether to end control of the control device by determining whether control of the control device has failed based on the reward,
It is provided with.
請求項5に記載の発明は、請求項4に記載の強化学習システムにおいて、
前記制御装置の制御が失敗した状態であると判別された場合に、前記結合荷重を学習する前記結合荷重学習手段、を有する請求項1ないし3のいずれかに記載の前記関数近似装置、
を備えたことを特徴とする。
The invention according to claim 5 is the reinforcement learning system according to claim 4,
The function approximation device according to any one of claims 1 to 3, further comprising: the connection weight learning unit that learns the connection weight when it is determined that the control of the control device has failed.
It is provided with.
前記技術的課題を解決するために、請求項6記載の発明の関数近似システムは、
入力変数の値が入力される入力素子により構成された入力層と、前記入力素子に結合された中間素子であって、前記入力素子に入力された値に基づいて演算された中間変数の値が出力される前記中間素子により構成された中間層と、前記中間素子に結合された出力素子であって、前記中間素子に入力された値に基づいて演算された出力変数の値が出力される前記出力素子により構成された出力層と、を有する層状ニューラルネットにより、前記入力変数と前記出力変数との関係である関数を近似する関数近似システムにおいて、
3以上の入力変数の各値が入力される各入力素子により構成された前記入力層と、
前記3以上の入力変数の各値をそれぞれ入力する入力変数入力手段と、
前記3以上の入力変数の中のいずれか2つの入力変数を一組とした入力変数組が設定され、前記入力変数組の一方の入力変数の各値と、前記入力変数組の他方の入力変数の各値に基づいて演算される各第1出力感度と、に基づいて、前記中間変数の各値をそれぞれ演算する中間変数演算手段と、
前記中間変数と、前記中間変数の値の重視度合いに応じて設定された結合荷重と、に基づいて、前記出力変数の値を演算する出力変数演算手段と、
前記出力変数の値と、予め記憶された前記関数の実際の値との差分に基づいて、前記結合荷重を更新することにより、前記結合荷重を学習する結合荷重学習手段と、
を備えたことを特徴とする。
In order to solve the technical problem, the function approximation system of the invention according to claim 6 comprises:
An input layer configured by an input element to which an input variable value is input, and an intermediate element coupled to the input element, wherein the value of the intermediate variable calculated based on the value input to the input element is An intermediate layer constituted by the intermediate element to be output, and an output element coupled to the intermediate element, wherein the value of the output variable calculated based on the value input to the intermediate element is output In a function approximation system that approximates a function that is a relationship between the input variable and the output variable by a layered neural network having an output layer constituted by output elements,
The input layer constituted by each input element to which each value of three or more input variables is input;
Input variable input means for inputting each value of the three or more input variables;
An input variable set in which any two input variables among the three or more input variables are set, and each value of one input variable of the input variable set and the other input variable of the input variable set are set. Intermediate variable calculation means for calculating each value of the intermediate variable based on each first output sensitivity calculated based on each value of
An output variable calculation means for calculating the value of the output variable based on the intermediate variable and a combined load set according to the importance of the value of the intermediate variable;
A connection weight learning means for learning the connection weight by updating the connection weight based on a difference between a value of the output variable and an actual value of the function stored in advance;
It is provided with.
前記技術的課題を解決するために、請求項7記載の発明の関数近似プログラムは、
コンピュータを、
入力変数の値が入力される入力素子により構成され且つ3以上の入力変数の各値が入力される各入力素子により構成された入力層と、前記入力素子に結合された中間素子であって、前記入力素子に入力された値に基づいて演算された中間変数の値が出力される前記中間素子により構成された中間層と、前記中間素子に結合された出力素子であって、前記中間素子に入力された値に基づいて演算された出力変数の値が出力される前記出力素子により構成された出力層と、を有する層状ニューラルネットにおいて、前記3以上の入力変数の各値をそれぞれ入力する入力変数入力手段、
前記3以上の入力変数の中のいずれか2つの入力変数を一組とした入力変数組が設定され、前記入力変数組の一方の入力変数の各値と、前記入力変数組の他方の入力変数の各値に基づいて演算される各第1出力感度と、に基づいて、前記中間変数の各値をそれぞれ演算する中間変数演算手段、
前記中間変数と、前記中間変数の値の重視度合いに応じて設定された結合荷重と、に基づいて、前記出力変数の値を演算する出力変数演算手段、
前記出力変数の値と、予め記憶された前記関数の実際の値との差分に基づいて、前記結合荷重を更新することにより、前記結合荷重を学習する結合荷重学習手段、
として機能させることにより、前記入力変数と前記出力変数との関係である関数を近似する。
In order to solve the technical problem, the function approximation program of the invention according to claim 7 is:
Computer
An input layer configured by input elements to which values of input variables are input and configured by input elements to which values of three or more input variables are input, and an intermediate element coupled to the input elements, An intermediate layer composed of the intermediate element that outputs an intermediate variable value calculated based on a value input to the input element, and an output element coupled to the intermediate element, the intermediate element An input layer configured to output the value of the output variable calculated based on the input value; and an input layer configured to input each value of the three or more input variables. Variable input means,
An input variable set in which any two input variables among the three or more input variables are set, and each value of one input variable of the input variable set and the other input variable of the input variable set are set. Intermediate variable calculation means for calculating each value of the intermediate variable based on each first output sensitivity calculated based on each value of
An output variable calculation means for calculating the value of the output variable based on the intermediate variable and a combined load set according to the importance of the value of the intermediate variable;
A combined load learning means for learning the combined load by updating the combined load based on a difference between a value of the output variable and an actual value of the function stored in advance;
, The function that is the relationship between the input variable and the output variable is approximated.
請求項1に記載の発明によれば、前記入力変数組の一方の入力変数の各値と、前記入力変数組の他方の入力変数の各値に基づいて演算される各第1出力感度と、に基づいて、前記中間変数の各値をそれぞれ演算することにより、2つの入力変数について中間変数および出力変数を出力する場合しか想定されていない従来公知の選択的不感化法が適用された層状ニューラルネットの適用対象外であった3以上の入力変数を有する関数に対しても、学習能力(汎化能力)が高い前記選択的不感化法に基づく層状ニューラルネットを適用できる。この結果、前記関数の入力変数の数が多い場合でも、従来公知の技術(線形モデル、テーブル参照法、多層パーセプトロン等の層状ニューラルネット等)に比べ、学習能力(汎化能力)を向上させることができるため、前記関数を精度良く近似することができると共に、前記関数を近似するために必要な学習における演算量や演算時間等の演算コストを低減できる。また、請求項1に記載の発明によれば、複数の前記入力変数組に基づいて、複数の中間変数の各値を演算する場合には、それぞれ並列で演算することが可能であり、例えば、複数のハードウェアにより、並列で演算することも可能である。この場合、前記中間変数を高速で演算でき、前記関数を近似するための演算時間を低減できる。 According to the invention of claim 1, each first output sensitivity calculated based on each value of one input variable of the input variable set and each value of the other input variable of the input variable set, Based on the above, it is assumed that only the intermediate variable and the output variable are output for two input variables by calculating each value of the intermediate variable. A layered neural network based on the selective desensitization method having high learning ability (generalization ability) can also be applied to a function having three or more input variables that is not a net application target. As a result, even when the number of input variables of the function is large, the learning ability (generalization ability) is improved as compared with conventionally known techniques (linear model, table reference method, layered neural network such as multilayer perceptron). Therefore, the function can be approximated with high accuracy, and the computation cost such as the amount of computation and computation time required for approximating the function can be reduced. According to the invention described in claim 1, when each value of a plurality of intermediate variables is calculated based on a plurality of the input variable sets, each value can be calculated in parallel. It is also possible to perform calculations in parallel by a plurality of hardware. In this case, the intermediate variable can be calculated at high speed, and the calculation time for approximating the function can be reduced.
請求項2に記載の発明によれば、前記入力変数組の一方の入力変数が、いわゆる、選択的不感化された前記第1中間変数を演算できると共に、前記入力変数組の他方の入力変数が選択的不感化された前記第2中間変数を演算できる。すなわち、前記入力変数組の各入力変数が相互に選択的不感化された2つの各中間変数を演算できる。この結果、前記入力変数組の各入力変数が相互に選択的不感化されていない場合に比べ、学習能力(汎化能力)を向上させることができるため、前記関数を精度良く近似することができると共に、前記関数を近似するために必要な学習における演算量や演算時間等の演算コストを低減できる。
請求項3に記載の発明によれば、前記3以上の入力変数の全ての入力変数に基づいて、選択的不感化された複数の前記中間変数を演算できる。この結果、一部の入力変数が前記中間変数の演算に関わらずに前記出力変数が演算される場合に比べ、学習能力(汎化能力)を向上させることができるため、前記関数を精度良く近似することができると共に、前記関数を近似するために必要な学習における演算量や演算時間等の演算コストを低減できる。
According to the second aspect of the present invention, one input variable of the input variable set can calculate the first intermediate variable that is selectively desensitized, and the other input variable of the input variable set is The second intermediate variable that has been selectively desensitized can be calculated. That is, two intermediate variables in which the input variables of the input variable set are selectively insensitive to each other can be calculated. As a result, the learning ability (generalization ability) can be improved as compared with the case where the input variables of the input variable set are not selectively desensitized to each other, so that the function can be approximated with high accuracy. In addition, it is possible to reduce computation costs such as computation amount and computation time in learning necessary for approximating the function.
According to the third aspect of the present invention, the plurality of intermediate variables selectively desensitized can be calculated based on all the input variables of the three or more input variables. As a result, the learning ability (generalization ability) can be improved compared to the case where the output variable is computed regardless of the computation of the intermediate variable for some of the input variables. In addition, it is possible to reduce calculation costs such as calculation amount and calculation time in learning necessary for approximating the function.
請求項4に記載の発明によれば、前記関数近似装置によって、前記行動価値関数を近似することにより、未知の状態についても適切な行動を選択して実行できる。このため、未知の状態の行動価値関数を近似しない従来公知の強化学習システムに比べ、学習能力(汎化能力)を高くすることができると共に、外乱や観測ノイズ等を含む未知の環境に対する適用能力も高くすることができる。
請求項5に記載の発明によれば、前記制御装置の制御が失敗した状態であると判別され、前記制御装置の制御を終了すると判別された場合に、前記結合荷重を学習するため、最も多くの状態について評価できるように演算された行動価値関数に基づいて、前記結合荷重を学習できる。この結果、各状態における各行動価値関数を演算する度に前記結合荷重を学習する場合に比べ、前記関数を近似するために必要な学習における演算量および演算時間等の演算コストを低減することができる。
According to the fourth aspect of the present invention, it is possible to select and execute an appropriate action even for an unknown state by approximating the action value function by the function approximating device. For this reason, it is possible to increase the learning ability (generalization ability) compared to a conventionally known reinforcement learning system that does not approximate the action value function of an unknown state, and to apply to unknown environments including disturbances and observation noises. Can also be high.
According to the fifth aspect of the present invention, in order to learn the combined load when it is determined that the control of the control device has failed and it is determined that the control of the control device is to end, The combined weight can be learned on the basis of an action value function calculated so as to be able to evaluate the state. As a result, it is possible to reduce calculation costs such as calculation amount and calculation time in learning necessary for approximating the function as compared with the case where the connection weight is learned each time each behavior value function in each state is calculated. it can.
請求項6に記載の発明によれば、前記入力変数組の一方の入力変数の各値と、前記入力変数組の他方の入力変数の各値に基づいて演算される各第1出力感度と、に基づいて、前記中間変数の各値をそれぞれ演算することにより、2つの入力変数について中間変数および出力変数を出力する場合しか想定されていない従来公知の選択的不感化法が適用された層状ニューラルネットの適用対象外であった3以上の入力変数を有する関数に対しても、学習能力(汎化能力)が高い前記選択的不感化法に基づく層状ニューラルネットを適用できる。この結果、前記関数の入力変数の数が多い場合でも、従来公知の技術(線形モデル、テーブル参照法、多層パーセプトロン等の層状ニューラルネット等)に比べ、学習能力(汎化能力)を向上させることができるため、前記関数を精度良く近似することができると共に、前記関数を近似するために必要な学習における演算量や演算時間等の演算コストを低減できる。また、請求項6に記載の発明によれば、複数の前記入力変数組に基づいて、複数の中間変数の各値を演算する場合には、それぞれ並列で演算することが可能であり、例えば、複数のハードウェアにより、並列で演算することも可能である。この場合、前記中間変数を高速で演算でき、前記関数を近似するための演算時間を低減できる。 According to invention of Claim 6, each 1st output sensitivity calculated based on each value of one input variable of the said input variable group, and each value of the other input variable of the said input variable group, Based on the above, it is assumed that only the intermediate variable and the output variable are output for two input variables by calculating each value of the intermediate variable. A layered neural network based on the selective desensitization method having high learning ability (generalization ability) can also be applied to a function having three or more input variables that is not a net application target. As a result, even when the number of input variables of the function is large, the learning ability (generalization ability) is improved as compared with conventionally known techniques (linear model, table reference method, layered neural network such as multilayer perceptron). Therefore, the function can be approximated with high accuracy, and the computation cost such as the amount of computation and computation time required for approximating the function can be reduced. According to the invention described in claim 6, when each value of a plurality of intermediate variables is calculated based on a plurality of the input variable sets, it is possible to calculate each value in parallel. It is also possible to perform calculations in parallel by a plurality of hardware. In this case, the intermediate variable can be calculated at high speed, and the calculation time for approximating the function can be reduced.
請求項7に記載の発明によれば、前記入力変数組の一方の入力変数の各値と、前記入力変数組の他方の入力変数の各値に基づいて演算される各第1出力感度と、に基づいて、前記中間変数の各値をそれぞれ演算することにより、2つの入力変数について中間変数および出力変数を出力する場合しか想定されていない従来公知の選択的不感化法が適用された層状ニューラルネットの適用対象外であった3以上の入力変数を有する関数に対しても、学習能力(汎化能力)が高い前記選択的不感化法に基づく層状ニューラルネットを適用できる。この結果、前記関数の入力変数の数が多い場合でも、従来公知の技術(線形モデル、テーブル参照法、多層パーセプトロン等の層状ニューラルネット等)に比べ、学習能力(汎化能力)を向上させることができるため、前記関数を精度良く近似することができると共に、前記関数を近似するために必要な学習における演算量や演算時間等の演算コストを低減できる。また、請求項7に記載の発明によれば、複数の前記入力変数組に基づいて、複数の中間変数の各値を演算する場合には、それぞれ並列で演算することが可能であり、例えば、複数のハードウェアにより、並列で演算することも可能である。この場合、前記中間変数を高速で演算でき、前記関数を近似するための演算時間を低減できる。 According to invention of Claim 7, each 1st output sensitivity calculated based on each value of one input variable of the said input variable set, and each value of the other input variable of the said input variable set, Based on the above, it is assumed that only the intermediate variable and the output variable are output for two input variables by calculating each value of the intermediate variable. A layered neural network based on the selective desensitization method having high learning ability (generalization ability) can also be applied to a function having three or more input variables that is not a net application target. As a result, even when the number of input variables of the function is large, the learning ability (generalization ability) is improved as compared with conventionally known techniques (linear model, table reference method, layered neural network such as multilayer perceptron). Therefore, the function can be approximated with high accuracy, and the computation cost such as the amount of computation and computation time required for approximating the function can be reduced. Further, according to the invention described in claim 7, when each value of a plurality of intermediate variables is calculated based on a plurality of the input variable sets, it can be calculated in parallel, for example, It is also possible to perform calculations in parallel by a plurality of hardware. In this case, the intermediate variable can be calculated at high speed, and the calculation time for approximating the function can be reduced.
次に図面を参照しながら、本発明の実施の形態の具体例(以下、実施例と記載する)を説明するが、本発明は以下の実施例に限定されるものではない。
なお、以後の説明の理解を容易にするために、図面において、前後方向をX軸方向、左右方向をY軸方向、上下方向をZ軸方向とし、矢印X,−X,Y,−Y,Z,−Zで示す方向または示す側をそれぞれ、前方、後方、右方、左方、上方、下方、または、前側、後側、右側、左側、上側、下側とする。
また、図中、「○」の中に「・」が記載されたものは紙面の裏から表に向かう矢印を意味し、「○」の中に「×」が記載されたものは紙面の表から裏に向かう矢印を意味するものとする。
なお、以下の図面を使用した説明において、理解の容易のために説明に必要な部材以外の図示は適宜省略されている。
Next, specific examples of embodiments of the present invention (hereinafter referred to as examples) will be described with reference to the drawings, but the present invention is not limited to the following examples.
In order to facilitate understanding of the following description, in the drawings, the front-rear direction is the X-axis direction, the left-right direction is the Y-axis direction, the up-down direction is the Z-axis direction, and arrows X, -X, Y, -Y, The direction indicated by Z and -Z or the indicated side is defined as the front side, the rear side, the right side, the left side, the upper side, the lower side, or the front side, the rear side, the right side, the left side, the upper side, and the lower side, respectively.
In the figure, “•” in “○” means an arrow heading from the back of the page to the front, and “×” in “○” is the front of the page. It means an arrow pointing from the back to the back.
In the following description using the drawings, illustrations other than members necessary for the description are omitted as appropriate for easy understanding.
図1は本発明の実施例1の関数近似システムの全体説明図である。
図1において、実施例1の関数近似システム(強化学習システム)Sの一例は、いわゆる、倒立振子が倒れないようにするという課題を解決するためのシミュレータとして構成された制御システムである。前記関数近似システムSは、左右方向(Y軸方向)に移動可能な移動体の一例としての台車(制御装置)1を有する。前記台車1には、倒立振子としての棒2が支持されている。前記棒2は、基端が前記台車1上面の中央部に回転可能な状態で固定支持され、先端が左右方向(Y軸方向)に振動可能な状態となっている。
前記台車1には、駆動輪1aが設けられており、前記駆動輪1aにより前記台車1は、水平な床面3を移動可能になっている。また、前記駆動輪1aは、前記台車1に内蔵された駆動部(駆動モータ)1bにより駆動され、前記駆動部1bは、前記台車1に内蔵された制御部(関数近似装置)Cにより駆動を制御される。また、前記床面3の左右方向(Y軸方向)の両端部には、右端壁3aと左端壁3bとがそれぞれ設けられている。
FIG. 1 is an overall explanatory diagram of a function approximation system according to a first embodiment of the present invention.
In FIG. 1, an example of a function approximation system (reinforcement learning system) S according to the first embodiment is a control system configured as a simulator for solving the problem of preventing an inverted pendulum from falling down. The function approximating system S includes a carriage (control device) 1 as an example of a moving body that can move in the left-right direction (Y-axis direction). A rod 2 as an inverted pendulum is supported on the cart 1. The rod 2 is fixedly supported in a state where the base end is rotatable at the central portion of the upper surface of the carriage 1, and the tip end is capable of vibrating in the left-right direction (Y-axis direction).
The carriage 1 is provided with drive wheels 1a, and the carriage 1 can move on a horizontal floor surface 3 by the drive wheels 1a. The drive wheel 1a is driven by a drive unit (drive motor) 1b built in the cart 1, and the drive unit 1b is driven by a control unit (function approximation device) C built in the cart 1. Be controlled. Further, a right end wall 3a and a left end wall 3b are respectively provided at both ends of the floor surface 3 in the left-right direction (Y-axis direction).
(倒立振子の運動方程式)
ここで、図1に示すように、前記台車1の重心が前記床面3の左右方向(Y軸方向)の中央部から右方向(+Y方向)に離れた距離、すなわち、前記台車1の位置をx[m]とし、前記棒2が垂直方向(Z軸方向)に対して右方向(+Y方向)に傾いた角度をθ[deg]とし、前記制御部Cにより前記駆動部1bを駆動して台車1に対して右方向(+Y方向)に加える力をF[N]とする。
また、前記台車1の質量をM[kg]とし、前記台車1が右方向(+Y方向)に移動する速度をv[m/s]とし(v=(d/dt)x)、前記棒2の質量をm[kg]とし、前記棒2の基端から重心までの長さ、すなわち、前記棒2の半分の長さをL[m]とし、前記棒2が上下方向(Z軸方向)に対して時計周りに回転する角速度をω[deg/s]とし(ω=(d/dt)θ)、重力加速度をg[m/s2]とし、前記台車1が右方向(+Y方向)に移動する場合の加速度をaとし(a=(d/dt)v[m/s2])、前記棒2が上下方向(Z軸方向)に対して時計周りに回転する場合の角加速度をbとし(b=(d/dt)ω[deg/s2])、前記台車1と前記振子2との間の摩擦と、前記台車1の駆動輪1aと前記床面3との間の摩擦とを無視できるものとすると、課題である倒立振子問題の運動方程式は、以下の式(5−1),(5−2)で示すことができる。
(Inverted pendulum equation of motion)
Here, as shown in FIG. 1, the center of gravity of the carriage 1 is a distance away from the center of the floor surface 3 in the left-right direction (Y-axis direction) in the right direction (+ Y direction), that is, the position of the carriage 1. X [m], the angle at which the rod 2 is tilted to the right (+ Y direction) with respect to the vertical direction (Z-axis direction) is θ [deg], and the control unit C drives the drive unit 1b. The force applied to the cart 1 in the right direction (+ Y direction) is F [N].
Further, the mass of the carriage 1 is M [kg], the speed at which the carriage 1 moves in the right direction (+ Y direction) is v [m / s] (v = (d / dt) x), and the rod 2 M [kg], the length from the base end of the rod 2 to the center of gravity, that is, the half length of the rod 2 is L [m], and the rod 2 is in the vertical direction (Z-axis direction) , The angular velocity rotating clockwise is ω [deg / s] (ω = (d / dt) θ), the gravitational acceleration is g [m / s 2 ], and the carriage 1 is in the right direction (+ Y direction). Is the acceleration when moving to a (a = (d / dt) v [m / s 2 ]), and the angular acceleration when the rod 2 rotates clockwise with respect to the vertical direction (Z-axis direction). and b (b = (d / dt ) ω [deg / s 2]), the friction between the carriage 1 and the pendulum 2, the driving wheel 1a and the floor surface 3 of the carriage 1 When friction and between what a negligible, the equation of motion of the inverted pendulum problem is an issue, the following equation (5-1), can be represented by (5-2).
(M+m)a+(mLcosθ)b−mLω2sinθ=F …(5−1)
(mLcosθ)a+(4/3×mL2)b−mgLsinθ=0 …(5−2)
また、式(5−1),(5−2)を連立方程式として、変数a,bについて解いた結果、前記変数a,bは、以下の式(6−1),(6−2)で示すことができる。
a=
{4/3(F+mLω2sinθ)−mgsinθcosθ}/
{4/3(M+m)−mcos2θ} …(6−1)
b=
{(M+m)gsinθ−(F+mLω2sinθ)cosθ}/
{4/3(M+m)−mcos2θ}L …(6−2)
(M + m) a + (mL cos θ) b−mLω 2 sin θ = F (5-1)
(MLcos θ) a + (4/3 × mL 2 ) b-mgLsin θ = 0 (5-2)
Further, as a result of solving the variables a and b using the equations (5-1) and (5-2) as simultaneous equations, the variables a and b are expressed by the following equations (6-1) and (6-2). Can show.
a =
{4/3 (F + mLω 2 sin θ) −mg sin θ cos θ} /
{4/3 (M + m) -mcos 2 θ} (6-1)
b =
{(M + m) gsinθ- (F + mLω 2 sinθ) cosθ} /
{4/3 (M + m) -mcos 2 θ} L (6-2)
また、ある自然数をkとし(k=0,1,2,…)、微小な時間ステップをtとし、ある時間k×t,(k+1)×tにおける前記台車1の位置をx(k),x(k+1)、速度をv(k),v(k+1)、前記棒2の角度をθ(k),θ(k+1)、角速度をω(k),ω(k+1)とし、前記時間k×tにおける前記台車1の加速度をa(k)、前記棒2の角加速度をb(k)とした場合、前記時間(k+1)×tの各変数x(k+1),v(k+1),θ(k+1),ω(k+1)は、従来公知のルンゲクッタ法(RK法、Runge-Kutta method)を用いて、以下の式(7−1)〜(7−4)で示される。なお、前記ルンゲクッタ法とは、予め設定された初期値に基づいて、対象となる常微分方程式の増分を計算して次の点の値を計算してゆく、いわゆる、逐次計算法による常微分方程式の解法アルゴリズムである。 Further, a certain natural number is k (k = 0, 1, 2,...), A minute time step is t, and the position of the carriage 1 at a certain time k × t, (k + 1) × t is x (k), x (k + 1), velocity is v (k), v (k + 1), angle of the rod 2 is θ (k), θ (k + 1), angular velocity is ω (k), ω (k + 1), and time k × When the acceleration of the carriage 1 at t is a (k) and the angular acceleration of the rod 2 is b (k), each variable x (k + 1), v (k + 1), θ (time (k + 1) × t k + 1) and ω (k + 1) are represented by the following equations (7-1) to (7-4) using a conventionally known Runge-Kutta method (RK method). The Runge-Kutta method is based on a preset initial value to calculate the increment of the target ordinary differential equation and calculate the value of the next point. It is a solution algorithm of.
x(k+1)=x(k)+t×v(k) …(7−1)
v(k+1)=v(k)+t×a(k) …(7−2)
θ(k+1)=θ(k)+t×ω(k) …(7−3)
ω(k+1)=ω(k)+t×b(k) …(7−4)
x (k + 1) = x (k) + t × v (k) (7-1)
v (k + 1) = v (k) + t × a (k) (7-2)
θ (k + 1) = θ (k) + t × ω (k) (7-3)
ω (k + 1) = ω (k) + t × b (k) (7-4)
なお、実施例1では、前記台車1の質量Mが1.0[kg](M=1.0)、前記棒2の質量mが0.1[kg](m=0.1)、前記棒2の長さLが1.0[m](L=1.0)、重力加速度gが9.8[m/s2](g=9.8)、前記時間ステップtが0.02[s](t=0.02)に予め設定されている。また、前記床面3における右端壁3aから左端壁3bまでの距離が4.8[m]に予め設定されている。すなわち、前記台車1の位置xが、−2.4〜2.4[m]の範囲に予め制限されている(x=−2.4〜2.4)。
また、前記台車1に最初に加える力をF(0)とした場合、前記力F(0)が20.0[N](F(0)=20.0)に予め設定されている。さらに、初期状態の前記台車1の位置をx(0)、速度をv(0)、前記棒2の角度をθ(0)、角速度をω(0)とした場合、各変数x(0),v(0),θ(0),ω(0)は、以下の式(7−1)′〜(7−4)′で示される。
In Example 1, the mass M of the carriage 1 is 1.0 [kg] (M = 1.0), the mass m of the rod 2 is 0.1 [kg] (m = 0.1), The length L of the rod 2 is 1.0 [m] (L = 1.0), the gravitational acceleration g is 9.8 [m / s 2 ] (g = 9.8), and the time step t is 0.02. [S] (t = 0.02) is set in advance. The distance from the right end wall 3a to the left end wall 3b on the floor surface 3 is preset to 4.8 [m]. That is, the position x of the carriage 1 is limited in advance to a range of −2.4 to 2.4 [m] (x = −2.4 to 2.4).
Further, when the first force applied to the carriage 1 is F (0), the force F (0) is set in advance to 20.0 [N] (F (0) = 20.0). Further, when the position of the carriage 1 in the initial state is x (0), the speed is v (0), the angle of the rod 2 is θ (0), and the angular speed is ω (0), each variable x (0) , V (0), θ (0), ω (0) are expressed by the following equations (7-1) ′ to (7-4) ′.
x(0)=0.0 …(7−1)′
v(0)=0.0 …(7−2)′
θ(0)=−3.0〜3.0(−3〜3の範囲で設定された乱数) …(7−3)′
ω(0)=0.0 …(7−4)′
x (0) = 0.0 (7-1) ′
v (0) = 0.0 (7-2) '
θ (0) = − 3.0 to 3.0 (random number set in the range of −3 to 3) (7-3) ′
ω (0) = 0.0 (7-4) ′
したがって、実施例1の関数近似システムSでは、前記式(6−1),(6−2),(7−1)〜(7−4),(7−1)′〜(7−4)′と、前記各定数M,m,L,g,tおよび前記各変数F,a,b,kとによって、前記時間ステップt毎の前記各変数x,v,θ,ωを演算できる。また、実施例1の関数近似システムSでは、前記制御部Cが、演算された前記各変数x,v,θ,ωに基づいて、前記台車1に適切な力Fが加わるように前記駆動部1bの駆動を制御する。 Therefore, in the function approximation system S of the first embodiment, the above formulas (6-1), (6-2), (7-1) to (7-4), (7-1) ′ to (7-4) ′, The constants M, m, L, g, and t and the variables F, a, b, and k, the variables x, v, θ, and ω for each time step t can be calculated. Further, in the function approximation system S of the first embodiment, the control unit C applies the appropriate force F to the carriage 1 based on the calculated variables x, v, θ, ω. The drive of 1b is controlled.
(実施例1の制御部Cの説明)
図2は本発明の実施例1の台車の制御部が備えている各機能をブロック図(機能ブロック図)で示した図である。
前記制御部Cは、必要な処理を行うためのプログラムおよびデータ等が記憶されたROM(リードオンリーメモリ)、必要なデータを一時的に記憶するためのRAM(ランダムアクセスメモリ)、前記ROMに記憶されたプログラムに応じた処理を行うCPU(中央演算処理装置)、ならびにクロック発振器等を有するマイクロコンピュータにより構成されており、前記ROMに記憶されたプログラムを実行することにより種々の機能を実現することができる。
前記構成の制御部Cは、前記ROMに記憶されたプログラムを実行することにより種々の機能を実現することができる。実施例1の前記制御部CのROMには、関数近似プログラムAP1が記憶されている。
(Description of the control part C of Example 1)
FIG. 2 is a block diagram (function block diagram) illustrating each function provided in the control unit of the cart according to the first embodiment of the present invention.
The control unit C includes a ROM (read only memory) in which programs and data for performing necessary processing are stored, a RAM (random access memory) in which necessary data is temporarily stored, and the ROM is stored in the ROM. It is composed of a CPU (Central Processing Unit) that performs processing according to the programmed program and a microcomputer having a clock oscillator and the like, and realizes various functions by executing the program stored in the ROM Can do.
The control unit C configured as described above can realize various functions by executing programs stored in the ROM. A function approximation program AP1 is stored in the ROM of the control unit C of the first embodiment.
(関数近似プログラムAP1)
図3は強化学習の簡単な説明図である。
関数近似プログラムAP1は、下記の機能手段(プログラムモジュール)を有する。
C1:倒立振子制御開始判別手段
倒立振子制御開始判別手段C1は、開始状態記憶手段C1Aを有し、倒立振子としての前記棒2が倒れないように前記台車1の左右方向(Y軸方向)の移動を制御する倒立振子制御処理を開始するか否かを判別する。なお、実施例1の前記倒立振子制御処理では、図3に示す強化学習に基づいて、前記棒2が倒れないように前記駆動部1bの駆動を制御する。
(Function approximation program AP1)
FIG. 3 is a simple explanatory diagram of reinforcement learning.
The function approximating program AP1 has the following functional means (program modules).
C1: Inverted pendulum control start discriminating means The inverted pendulum control start discriminating means C1 has a start state storage means C1A. It is determined whether or not to start an inverted pendulum control process for controlling movement. In the inverted pendulum control process of the first embodiment, the drive of the drive unit 1b is controlled based on the reinforcement learning shown in FIG. 3 so that the rod 2 does not fall.
(強化学習について)
なお、強化学習とは、行動主体となるエージェントが、報酬を手がかりに、試行錯誤を通じて、制御対象となる環境に適応する学習方式のことをいう。ここで、図3に示すように、前記エージェント(制御装置)をAとし、前記環境をEとし、ある時間をtとし、前記時間tの次の時間をt+1とし、前記時間t,t+1における行動をat,at+1とし、前記時間t,t+1における前記環境Eの状態をst,st+1とし、前記時間t,t+1における前記環境Eから得られる報酬をrt,rt+1とする。
強化学習では、制御対象となる環境Eの現在の状態がstである場合に、前記エージェントAが、ある行動atをとって前記環境Eに直接働きかける。その結果、前記環境Eの状態がst+1に変化すると共に、前記エージェントAは、前記環境Eから報酬rtを得る。よって、前記エージェントAは、前記報酬rtを最大化することを目的とする。すなわち、強化学習では、通常の機械学習のように入力に対する正しい行動atを明示的に示す教師等が存在しない替わりに、前記行動atの結果として前記環境Eから与えられる前記報酬rtに基づいて学習を行う。
(About reinforcement learning)
Reinforcement learning refers to a learning method in which an agent acting as an action subject adapts to an environment to be controlled through trial and error using a reward as a clue. Here, as shown in FIG. 3, the agent (control device) is A, the environment is E, a certain time is t, a time next to the time t is t + 1, and actions at the times t and t + 1 are performed. Is set to a t , a t + 1 , the state of the environment E at the time t, t + 1 is set to s t , st t + 1, and the reward obtained from the environment E at the time t, t + 1 is set to r t , r t + 1 .
In the reinforcement learning, if the current state of the environment E to be controlled is a s t, the agent A, appeal directly to the environment E taking a certain action a t. As a result, the state of the environment E changes to s t + 1, the agent A, to obtain a reward r t from the environment E. Thus, the agent A, which aims to maximize the reward r t. That is, in the reinforcement learning, instead of teachers, etc. explicitly indicate the correct action a t with respect to the input as a normal machine learning does not exist, the action a the reward result given from the environment E of t r t Learning based on.
なお、前記エージェントAは、前記環境Eの現在の状態stにおける、各行動atで得られると期待できる予測報酬(rt)を保持している。よって、前記予測報酬(rt)が行動atの優先度であり、行動atの評価値となる。そして、前記エージェントAは、得られる報酬rtが最大になるように試行錯誤的に行動してゆく。
しかしながら、前記報酬rtには、遅れやノイズ等が存在する可能性も考えられる。例えば、ある行動atは直接的な状態stのみならず、その後の状態(st+1)にも影響を与えるため、その後の全ての後続報酬(rt+1)に影響する等の場合が考えられる。そこで、強化学習では、課題に応じて、エピソード単位で評価を行う経験強化型の強化学習と、ステップ単位で評価を行う環境同定型の強化学習のアルゴリズムとが選択できる。ここで、ステップとは、初期状態をs0とした場合に、前記エージェントAが、前記環境Eで観測されたある状態stに基づいて、実際に行動atを実行するまでの単位であり、エピソードとは、前記初期状態s0から目的を達成した状態(st)または失敗した状態(st)となるまでの前記ステップの集合であるものとする。
Incidentally, the agent A, the in the current state s t environment E, holds the predicted reward (r t) which is the expected yield for each action a t. Thus, the predicted reward (r t) is the priority of the action a t, the evaluation value of the action a t. Then, the agent A is obtained reward r t is slide into action by trial and error so as to maximize.
However, wherein the reward r t, is a possibility that there is a delay or noise. For example, not only action a t the direct state s t, since also affects the subsequent state (s t + 1), cases can be considered such that affect all subsequent reward then (r t + 1) . Therefore, in reinforcement learning, experience-reinforcement-type reinforcement learning that performs evaluation in units of episodes and environment identification-type reinforcement learning algorithm that performs evaluation in units of steps can be selected according to the task. Here, the step, the initial state when the s 0, the agent A, on the basis of the certain state s t observed in environment E, in unit before actually executing the action a t An episode is a set of the steps from the initial state s 0 to a state where the goal has been achieved (s t ) or a state where it has failed (s t ).
前記経験強化型の強化学習は、学習中における高い報酬rtが獲得できる行動atを優先して選択する。このため、学習の立ち上がりは早いが、局所的な解(ローカルミニマム)に陥る可能性が高い。また、前記環境同定型の強化学習は、前記環境Eのすべての状態stにおける全ての行動atを試行することにより最適な解を見つけ出す。よって、実施例1では、前記環境同定型の代表的なアルゴリズムである、Q−learningによる強化学習を行う。 The experience enhanced reinforcement learning of, preferentially selected the action a t a high reward r t in during the learning can be acquired. For this reason, although the start-up of learning is fast, there is a high possibility of falling into a local solution (local minimum). Also, reinforcement learning of the environment identification type, finding the optimal solution by attempting to every action a t in all states s t of the environment E. Therefore, in Example 1, reinforcement learning by Q-learning, which is a typical algorithm of the environment identification type, is performed.
(Q−learningについて)
ここで、Q−learningとは、前記時間ステップtにおける状態stで実行される行動atの評価値をQ(st,at)とした場合、各状態(st)における各行動(at)の各評価値(Q(st,at))を予測して記憶すると共に、記憶された前記各評価値(Q(st,at))に基づいて、ある状態(st)における行動(at)を選択するアルゴリズムである。ここで、前記Q−learningにおける1エピソードの具体的なアルゴリズムを、以下の処理(1)〜(5)により例示する。
(About Q-learning)
Here, the Q-learning, the evaluation value Q (s t, a t) actions a t executed in a state s t at time step t case of the respective action in each state (s t) ( each evaluation value of a t) (Q (s t , a t) with predicted and stored), stored the evaluation values (Q (s t, a t) on the basis of) certain state (s behavior in t) the (a t) is an algorithm for selection. Here, a specific algorithm of one episode in the Q-learning is exemplified by the following processes (1) to (5).
(Q−learningのアルゴリズムの具体例)
(1)エージェントAは、環境Eの状態stを観測する。
(2)エージェントAは、任意の行動選択方法に従って行動atを実行する。
(3)エージェントAは、環境Eから報酬rtを獲得すると共に、状態遷移後の状態st+1を観測する。
(4)エージェントAは、以下の式(8)に基づいて、評価値である行動価値関数Q(st,at)を更新する。
Q(st,at)=
(1−α)Q(st,at)
+α[rt+γmaxat+1(Q(st+1,at+1))] …(8)
ここで、αは1回の更新による行動価値関数Q(st,at)の変化量を表すパラメータとしての学習率であり(0<α≦1)、γは将来得ることができると予想される報酬(rt+1)をどれだけ割り引いて現在の評価に反映させるかを表すパラメータとしての割引率である(0<γ≦1)。また、maxat+1(Q(st+1,at+1))は、状態st+1における全ての行動at+1に対する評価値Q(st+1,at+1)の最大値である。
(5)目標が達成できた状態(成功状態)または失敗した状態(失敗状態)となったか否かを判別し、成功状態または失敗状態になった場合、エピソードを終了する。そうでなければ、時間をtからt+1に進めて処理(2)に戻る。
(Specific example of Q-learning algorithm)
(1) Agent A observes the state s t environment E.
(2) Agent A performs an action a t in accordance with any action selection method.
(3) Agent A, as well as to win a reward r t from the environment E, observing the state s t + 1 after the state transition.
(4) Agent A updates the action value function Q (s t , a t ), which is an evaluation value, based on the following equation (8).
Q (s t , a t ) =
(1-α) Q (s t , a t )
+ Α [r t + γmax at + 1 (Q (s t + 1 , a t + 1 ))] (8)
Here, α is a learning rate as a parameter representing the amount of change in the action value function Q (s t , a t ) by one update (0 <α ≦ 1), and γ is expected to be obtained in the future. A discount rate as a parameter indicating how much the reward (r t + 1 ) to be discounted is reflected in the current evaluation (0 <γ ≦ 1). Further, max at + 1 (Q (s t + 1 , a t + 1 )) is the maximum value of the evaluation values Q (s t + 1 , a t + 1 ) for all the actions a t + 1 in the state s t + 1 .
(5) It is determined whether or not the target has been achieved (successful state) or has failed (failure state). If the target is in a successful state or a failed state, the episode is terminated. Otherwise, the time is advanced from t to t + 1 and the processing returns to the processing (2).
なお、実施例1では、処理(2)における前記行動選択法として、常に最も高い価値(Q(st,at))が期待できる行動を選択してゆくgreedy選択法を適用するが、これに限定されず、例えば、最大価値の行動を選択するε−greedy選択法等を適用することも可能である。また、実施例1では、強化学習定数としての学習率αおよび割引率γについて、学習率αが0.1(α=0.1)、割引率γが0.95(γ=0.95)に予め設定されている。
なお、強化学習、Q−learning、greedy選択法等の行動選択法については、非特許文献4,5等に記載されており、公知である。
In the first embodiment, as the action selection method in the process (2), a greedy selection method that selects an action that can always be expected to have the highest value (Q (s t , a t )) is applied. For example, it is possible to apply an ε-greedy selection method for selecting the action of the maximum value. In the first embodiment, the learning rate α and the discount rate γ as reinforcement learning constants are 0.1 (α = 0.1) as the learning rate α and 0.95 (γ = 0.95) as the discount rate γ. Is set in advance.
Note that behavior selection methods such as reinforcement learning, Q-learning, and greedy selection methods are described in Non-Patent Documents 4 and 5 and are well known.
したがって、Q−learningの強化学習では、前記環境Eについて前記エージェントAの行動によらない時間変化等がなければ、前記エージェントAは、全状態(st)における全行動(at)を試行し、前記行動価値関数Q(st,at)を学習することにより、最適な行動(at)を選択できるようになる。しかしながら、最適な行動(at)を選択するために、前記行動価値関数Q(st,at)についての学習を収束させるには莫大な時間が必要となる。このため、例えば、課題が複雑である場合には、全試行が有限時間で終了しない可能性があった。 Therefore, the reinforcement learning Q-learning, unless time variation or the like which does not depend on the behavior of the agent A for the environment E, the agent A, tries all act to (a t) in all states (s t) By learning the action value function Q (s t , a t ), it becomes possible to select the optimum action (a t ). However, in order to select the optimum action (a t), said action value function Q (s t, a t) enormous time is required for converging the learning about. For this reason, for example, when the task is complicated, all trials may not be completed in a finite time.
(選択的不感化法が適用された層状ニューラルネットが適用された強化学習について)
図4は本発明の実施例1の選択的不感化法が適用された層状ニューラルネットの説明図である。
そこで、実施例1では、前記行動価値関数Q(st,at)の学習効率を向上させるために、図4に示す選択的不感化法が適用された層状ニューラルネットの一例である多変数相互修飾モデルNによって、前記行動価値関数Q(st,at)が近似される新たなQ−learningの強化学習が適用されている。
図4において、前記多変数相互修飾モデルNは、4n個の素子(入力素子)により構成された入力層Naと、12n個の素子(中間素子)により構成された中間層Nbと、m個の素子(出力素子)により構成された出力層Ncとを有する。
(Reinforcement learning with a layered neural network with selective desensitization applied)
FIG. 4 is an explanatory diagram of a layered neural network to which the selective desensitization method according to the first embodiment of the present invention is applied.
Therefore, in the first embodiment, in order to improve the learning efficiency of the action value function Q (s t , a t ), a multivariate which is an example of a layered neural network to which the selective desensitization method shown in FIG. 4 is applied. A new Q-learning reinforcement learning in which the action value function Q (s t , a t ) is approximated by the mutual modification model N is applied.
In FIG. 4, the multivariable mutual modification model N includes an input layer Na composed of 4n elements (input elements), an intermediate layer Nb composed of 12n elements (intermediate elements), and m number of elements. And an output layer Nc composed of elements (output elements).
前記多変数相互修飾モデルNでは、従来公知の前記相互修飾モデル02の入力層02aが、2つの入力パターンS,Cによって構成されているのに対し(図13B参照)、実施例1の前記入力層Naは、4つの入力変数(入力パターン)x,v,θ,ω、すなわち、前記台車1の前記位置xと、前記速度vと、前記棒2の前記角度θと、前記角速度ωとによって構成されている。なお、実施例1では、4つの前記入力変数x,v,θ,ωは、それぞれn個の素子によって構成されている(4×n=4n)。 In the multivariable mutual modification model N, the input layer 02a of the conventionally known mutual modification model 02 is composed of two input patterns S and C (see FIG. 13B), whereas the input of the first embodiment is used. The layer Na is defined by four input variables (input patterns) x, v, θ, ω, that is, the position x of the carriage 1, the speed v, the angle θ of the rod 2, and the angular speed ω. It is configured. In the first embodiment, the four input variables x, v, θ, and ω are each composed of n elements (4 × n = 4n).
また、前記多変数相互修飾モデルNでは、従来公知の前記相互修飾モデル02の中間層02bが、前記入力パターンSの積型修飾S(C)と、前記入力パターンCの積型修飾C(S)とを出力するのに対し(図11B、式(1),(1)′,(2)参照)、実施例1の前記中間層Nbは、前記入力変数xの積型修飾x(v),x(θ),x(ω)と、前記入力変数vの積型修飾v(θ),v(ω),v(x)と、前記入力変数θの積型修飾θ(ω),θ(x),θ(v)と、前記入力変数ωの積型修飾ω(x),ω(v),ω(θ)とを出力する。すなわち、実施例1の前記中間層Nbでは、前記入力変数x,v,θ,ωが、それぞれ2つずつを1組(入力変数組)として相互に積型文脈修飾され、積型文脈修飾された12個の前記積型修飾x(v),v(x),x(θ),θ(x),x(ω),ω(x),v(θ),θ(v),v(ω),ω(v),θ(ω),ω(θ)が中間変数(中間パターン)として出力される。なお、実施例1では、中間変数である12個の前記積型修飾x(v),v(x),x(θ),θ(x),x(ω),ω(x),v(θ),θ(v),v(ω),ω(v),θ(ω),ω(θ)は、それぞれn個の素子によって構成されている(12×n=12n)。 In the multivariable mutual modification model N, the intermediate layer 02b of the conventionally known mutual modification model 02 includes a product type modification S (C) of the input pattern S and a product type modification C (S of the input pattern C. ) (See FIG. 11B, equations (1), (1) ′, (2)), the intermediate layer Nb of the first embodiment uses the product type modification x (v) of the input variable x. , X (θ), x (ω), product type modification v (θ), v (ω), v (x) of the input variable v, and product type modification θ (ω), θ of the input variable θ. (X), θ (v) and product type modifications ω (x), ω (v), ω (θ) of the input variable ω are output. That is, in the intermediate layer Nb of the first embodiment, the input variables x, v, θ, and ω are mutually subjected to product type context modification, with two each being one set (input variable set), and product type context modification is performed. The twelve product type modifications x (v), v (x), x (θ), θ (x), x (ω), ω (x), v (θ), θ (v), v ( ω), ω (v), θ (ω), ω (θ) are output as intermediate variables (intermediate pattern). In the first embodiment, the twelve product type modifications x (v), v (x), x (θ), θ (x), x (ω), ω (x), v (which are intermediate variables are used. θ), θ (v), v (ω), ω (v), θ (ω), and ω (θ) are each composed of n elements (12 × n = 12n).
そして、前記多変数相互修飾モデルNでは、従来公知の前記相互修飾モデル02の出力層02cにおいて、m個の各素子に、前記中間層02bの2n個のうちの複数の素子が、それぞれ前記結合荷重wjiにより重み付けされた状態で結合されており、且つ、符号関数の演算が行われて出力パターンYが出力されるのと同様に(図11B、式(3)参照)、実施例1の前記出力層Ncについては、m個の各素子に、前記中間層Nbの12n個のうちの複数の素子が、それぞれ結合荷重wji(wji′)により重み付けされた状態で結合されており、且つ、符号関数の演算が行われて出力変数(出力パターン)としての前記行動評価関数Q(st,at)が出力される。なお、実施例1では、前記出力変数Q(st,at)は、m個の素子によって構成されている。 In the multivariable mutual modification model N, in the output layer 02c of the conventionally known mutual modification model 02, a plurality of elements in 2n of the intermediate layer 02b are connected to the m elements. Similarly to the case where the weights w ji are combined in a weighted state and the sign function is calculated and the output pattern Y is output (see FIG. 11B, equation (3)), the first embodiment For the output layer Nc, a plurality of elements of 12n of the intermediate layer Nb are coupled to each of m elements in a state weighted by a coupling load w ji (w ji ′). In addition, the sign function is calculated, and the action evaluation function Q (s t , a t ) as an output variable (output pattern) is output. In the first embodiment, the output variable Q (s t , a t ) is composed of m elements.
(強化学習の各要素と倒立振子問題の各要素との対応関係について)
したがって、実施例1では、前記関数近似システムSに対して、前記Q−learningの強化学習における各要素(A,E,st,at,rt)を、以下の(1)〜(5)のように対応付けることにより、前記倒立振子制御処理を実行することができる。
(About the correspondence between each element of reinforcement learning and each element of the inverted pendulum problem)
Thus, in Example 1, with respect to the function approximation system S, each element in the reinforcement learning Q-learning (A, E, s t, a t, r t) to the following (1) to (5 ), The inverted pendulum control process can be executed.
(1)前記エージェントAは、前記台車1の制御部Cに対応付けられる。
(2)前記環境Eは、実施例1の前記関数近似システムSの構成としての前記各要素1〜3に対応付けられる。すなわち、前記台車1および前記棒2についての定数M,m,L,t,gおよび変数a,b,k等や、倒立振子問題についての関係式(式(5−1),(5−2),(6−1),(6−2),(7−1)〜(7−4)参照)、前記床面3(右端壁3aと左端壁3b)等と対応付けられる。
(3)前記状態st,st+1は、前記入力変数x,v,θ,ωに対応付けられる。ここで、例えば、前記状態stが、st=x(k),v(k),θ(k),ω(k)で示される場合、次の状態st+1を、st+1=x(k+1),v(k+1),θ(k+1),ω(k+1)で示すことができる。
(4)前記行動atは、前記力Fに対応付けられる。すなわち、前記棒2が倒れないように前記台車1を移動させるために前記駆動部1bを制御する値に応じた前記力Fに対応付けられる。ここで、前記時間k×tにおける前記力FをF(k)とした場合(k=0,1,2,…)、前記行動atは、例えば、at=F(k)で示すことができる。
(5)前記報酬rt,rt+1は、前記棒2が倒れているか否かを確認する値とすることができる。例えば、前記棒2が倒れて前記角度θが、θ≦−180°、又は、θ≧180°、となった場合には、前記報酬rt,rt+1を負の値とし(rt<0,rt+1<0)、それ以外の場合には、前記報酬rt,rt+1を0以上の値とする(rt≧0,rt+1≧0)。
(1) The agent A is associated with the control unit C of the carriage 1.
(2) The environment E is associated with the elements 1 to 3 as the configuration of the function approximating system S of the first embodiment. That is, constants M, m, L, t, g and variables a, b, k, etc. for the cart 1 and the rod 2 and relational expressions for the inverted pendulum problem (formulas (5-1), (5-2) ), (6-1), (6-2), (7-1) to (7-4)), the floor surface 3 (the right end wall 3a and the left end wall 3b), and the like.
(3) The states s t and s t + 1 are associated with the input variables x, v, θ, and ω. Here, for example, when the state s t is represented by s t = x (k), v (k), θ (k), ω (k), the next state s t + 1 is changed to s t + 1 = x ( k + 1), v (k + 1), θ (k + 1), and ω (k + 1).
(4) the action a t is associated with the force F. That is, it is associated with the force F corresponding to a value for controlling the drive unit 1b in order to move the carriage 1 so that the rod 2 does not fall down. Here, if the force F in the time k × t was F (k) (k = 0,1,2 , ...), said action a t is, for example, be represented by a t = F (k) Can do.
(5) The rewards r t and r t + 1 may be values for confirming whether or not the bar 2 is collapsed. For example, when the rod 2 is tilted and the angle θ becomes θ ≦ −180 ° or θ ≧ 180 °, the rewards r t and r t + 1 are set to negative values (r t <0 , R t + 1 <0), otherwise, the rewards r t , r t + 1 are set to 0 or more (r t ≧ 0, r t + 1 ≧ 0).
なお、実施例1の前記倒立振子制御開始判別手段C1は、前記台車1および前記棒2についての各定数M,m,L,t,g,α,γの設定値および各変数x,v,θ,ω,a,b,k,F,wji,wji′の初期値が設定されたか否かを判別することにより、前記倒立振子制御処理を開始するか否かを判別する。
C1A:開始状態記憶手段
開始状態記憶手段C1Aは、前記倒立振子制御処理を開始する状態を記憶する。実施例1の開始状態記憶手段C1Aは、前記倒立振子制御処理を開始する状態として、前記台車1および前記棒2についての各定数M,m,L,t,gの設定値(M=1.0,m=0.1,L=1.0,t=0.02,g=9.8)、強化学習定数α,γの設定値(α=0.1,γ=0.95)、各変数x,v,θ,ω,a,b,k,F,wji,wji′の初期値(x(0)=v(0)=ω(0)=a(0)=b(0)=wji(0)=wji′(0)=0.0,θ(0)=−3.0〜3.0,k=0,F(0)=20.0)とを記憶する。
The inverted pendulum control start determining means C1 according to the first embodiment is configured such that the set values of the constants M, m, L, t, g, α, γ and the variables x, v, It is determined whether or not the inverted pendulum control process is started by determining whether or not initial values of θ, ω, a, b, k, F, w ji , and w ji ′ are set.
C1A: Start state storage unit The start state storage unit C1A stores a state in which the inverted pendulum control process is started. The start state storage means C1A according to the first embodiment sets the constants M, m, L, t, and g for the carriage 1 and the rod 2 as the state in which the inverted pendulum control process is started (M = 1. 0, m = 0.1, L = 1.0, t = 0.02, g = 9.8), set values of reinforcement learning constants α, γ (α = 0.1, γ = 0.95), Initial values of each variable x, v, θ, ω, a, b, k, F, w ji , w ji ′ (x (0) = v (0) = ω (0) = a (0) = b ( 0) = w ji (0) = w ji ′ (0) = 0.0, θ (0) = − 3.0 to 3.0, k = 0, F (0) = 20.0) To do.
なお、実施例1では、前記行動atが、前記台車1の左右方向(Y軸方向)への移動の制御であるため、右方向(+Y方向)への移動の評価用の荷重結合をwjiとし、左方向(−Y方向)への移動の評価用の荷重結合をwji′として別々に荷重結合を設けることにより、前記各荷重結合wji,wji′の学習が互いに干渉しないように予め設定されている。また、実施例1では、未学習の場合の前記各荷重結合wji,wji′の初期値をwji(0),wji′(0)とした場合に、いかなる状態(st=x(0),v(0),θ(0),ω(0))であっても、前記各荷重結合wji(0),wji′(0)が、wji(0)=wji′(0)=0.0で示されるように予め設定されている。 In Example 1, the action a t is, because the is the control of the movement in the lateral direction of the carriage 1 (Y-axis direction), the load coupling for evaluation of the movement in the right direction (+ Y direction) w j i and load coupling for evaluation of movement in the left direction (−Y direction) as w ji ′ are provided separately so that learning of each of the load couplings w ji and w ji ′ does not interfere with each other. Is set in advance. In Example 1, the respective load coupling in the case of untrained w ji, w ji 'initial values w ji of (0), w ji' in case of the (0), any state (s t = x (0), v (0), θ (0), ω (0)), the load coupling w ji (0), w ji ′ (0) is expressed as w ji (0) = w ji It is preset as indicated by ′ (0) = 0.0.
C2:状態測定手段
状態測定手段C2は、前記状態st,st+1を測定する。実施例1の前記状態測定手段C2は、前記式(6−1),(6−2),(7−1)〜(7−4),(7−1)′〜(7−4)′と前記各定数M,m,L,g,tおよび前記各変数a,b、k,Fとに基づいて、前記時間ステップt毎の前記入力変数x,v,θ,ωの値(入力値x(k),v(k),θ(k),ω(k)(k=0,1,2,…))を演算することにより、前記状態st,st+1を測定する(st=x(k),v(k),θ(k),ω(k),st+1=x(k+1),v(k+1),θ(k+1),ω(k+1))。
C2: State measuring unit The state measuring unit C2 measures the states s t and st +1 . The state measuring means C2 according to the first embodiment includes the equations (6-1), (6-2), (7-1) to (7-4), and (7-1) ′ to (7-4) ′. And the constants M, m, L, g, t and the variables a, b, k, F, the values of the input variables x, v, θ, ω for each time step t (input values). The states s t and s t + 1 are measured by calculating x (k), v (k), θ (k), ω (k) (k = 0, 1, 2,...)) (s t = X (k), v (k), θ (k), ω (k), st + 1 = x (k + 1), v (k + 1), θ (k + 1), ω (k + 1)).
C3:行動実行手段
行動実行手段C3は、行動選択手段C3Aと、台車移動制御手段C3Bとを有し、前記行動atを実行する、すなわち、前記行動実行手段C3は、前記時間ステップt毎の前記力F(k)に応じて前記台車1を左右方向(Y軸方向)に移動させる。
C3A:行動選択手段
行動選択手段C3Aは、任意の行動選択方法に従って行動atを選択する。実施例1の行動選択手段C3Aは、前記greedy選択法に基づいて、評価値である前記行動価値関数Q(st,at)が最大となる前記行動atを選択する。
C3B:台車移動制御手段
台車移動制御手段C3Bは、前記駆動部1bの駆動を制御して前記駆動輪1aを回転駆動させることにより、前記台車1の左右方向(Y軸方向)への移動を制御する。
C3: action executing means action executing means C3 has an action selection means C3A, and a carriage movement control means C3B, performing the action a t, that is, the action executing means C3 is the time per step t The cart 1 is moved in the left-right direction (Y-axis direction) according to the force F (k).
C3A: behavior selection means action selection means C3A selects an action a t in accordance with any action selection method. Behavior selection means C3A of Example 1, on the basis of the greedy selection method, the action value function Q (s t, a t) is an evaluation value selects the action a t with the maximum.
C3B: Carriage Movement Control Means The carriage movement control means C3B controls the movement of the carriage 1 in the left-right direction (Y-axis direction) by controlling the drive of the drive unit 1b and rotating the drive wheels 1a. To do.
C4:報酬取得手段
報酬取得手段C4は、前記報酬rt,rt+1を取得する。実施例1の前記報酬取得手段C4では、前記時間ステップt毎の前記報酬rt,rt+1は、前記棒2が倒れて前記角度θが、θ≦−180°、又は、θ≧180°、となった場合には、負の値として取得され(rt<0,rt+1<0)、それ以外の場合には、0以上の値として取得される(rt≧0,rt+1≧0)。なお、前記報酬取得手段C4では、前記角度θが0[deg]に近いほど前記報酬rt,rt+1の値が大きくなるように予め設定されている。
C5:行動価値関数演算手段
行動価値関数演算手段C5は、前記行動価値関数Q(st,at),Q(st+1,at+1)を演算する。実施例1の前記行動価値関数演算手段C5は、前記式(8)に基づいて、前記時間ステップt毎の、すなわち、時間k×t,(k+1)×tの前記行動価値関数Q(st,at),Q(st+1,at+1)を演算する(k=0,1,2,…)。
C4: Reward acquisition means Reward acquisition means C4 acquires the rewards r t and r t + 1 . In the reward acquisition means C4 according to the first embodiment, the rewards r t and r t + 1 for each time step t include the angle θ of θ ≦ −180 ° or θ ≧ 180 ° when the rod 2 is tilted. If it becomes, it is acquired as a negative value (r t <0, r t + 1 <0). Otherwise, it is acquired as a value of 0 or more (r t ≧ 0, r t + 1 ≧ 0). ). The reward acquisition means C4 is preset so that the values of the rewards r t and r t + 1 increase as the angle θ is closer to 0 [deg].
C5: Action value function calculating means The action value function calculating means C5 calculates the action value functions Q (s t , a t ), Q (s t + 1 , a t + 1 ). The action value function calculating unit C5 according to the first exemplary embodiment calculates the action value function Q (s t at each time step t, that is, at time k × t, (k + 1) × t, based on the equation (8). , A t ), Q (s t + 1 , a t + 1 ) (k = 0, 1, 2,...).
C6:行動価値関数記憶手段
行動価値関数記憶手段C6は、前記行動価値関数演算手段C5で演算された、前記時間ステップt毎の前記行動価値関数Q(st,at),Q(st+1,at+1)を記憶する。実施例1の前記行動価値関数記憶手段C6は、前記時間k×t,(k+1)×tにおける全ての状態st,st+1(st=x(k),v(k),θ(k),ω(k),st+1=x(k+1),v(k+1),θ(k+1),ω(k+1))についての前記行動価値関数Q(st,at),Q(st+1,at+1)を記憶する(k=0,1,2,…)。
C7:行動価値関数近似手段
行動価値関数近似手段C7は、入力変数生成手段C7Aと、入力変数記憶手段C7Bと、中間変数演算手段C7Cと、中間変数記憶手段C7Dと、出力変数演算手段C7Eと、出力変数記憶手段C7Fと、行動価値関数学習手段C7Gとを有し、前記多変数相互修飾モデルNによって、前記行動価値関数Q(st,at)を近似する行動価値関数近似処理を実行する。すなわち、前記状態stにおける前記行動価値関数Q(st,at)の近似値を演算する前記行動価値関数近似処理を実行する。
C6: Action value function storage means The action value function storage means C6 is calculated by the action value function calculation means C5, and the action value functions Q (s t , a t ), Q (s t + 1 ) for each time step t. , A t + 1 ). The action value function storage unit C6 according to the first exemplary embodiment stores all the states s t and s t + 1 (s t = x (k), v (k), θ (k) at the time k × t and (k + 1) × t. ), Ω (k), s t + 1 = x (k + 1), v (k + 1), θ (k + 1), ω (k + 1)), the behavior value functions Q (s t , a t ), Q (s t + 1 , a t + 1 ) is stored (k = 0, 1, 2,...).
C7: Action value function approximating means The action value function approximating means C7 includes an input variable generating means C7A, an input variable storing means C7B, an intermediate variable calculating means C7C, an intermediate variable storing means C7D, an output variable calculating means C7E, An output variable storage means C7F and an action value function learning means C7G are provided, and an action value function approximating process for approximating the action value function Q (s t , a t ) is executed by the multivariable mutual modification model N. . That is, the behavior value function approximation process for calculating an approximate value of the behavior value function Q (s t , a t ) in the state s t is executed.
C7A:入力変数生成手段(入力変数入力手段)
入力変数生成手段C7Aは、前記時間ステップt毎に連続的に変化する前記入力変数x,v,θ,ωの入力値(x(k),v(k),θ(k),ω(k),x(k+1),v(k+1),θ(k+1),ω(k+1))を生成する。実施例1の入力変数生成手段C7Aは、前記多変数相互修飾モデルNの入力層Na(図4参照)において、前記時間ステップt毎に、状態測定手段C2で演算された前記入力変数x,v,θ,ωの入力値に対応する、前記入力変数x,v,θ,ωの素子の値の配列、いわゆる、状態パターンを設定する。
C7A: Input variable generation means (input variable input means)
The input variable generation means C7A is configured to input values (x (k), v (k), θ (k), ω (k) of the input variables x, v, θ, ω that continuously change at each time step t. ), X (k + 1), v (k + 1), θ (k + 1), ω (k + 1)). The input variable generation means C7A according to the first embodiment uses the input variables x and v calculated by the state measurement means C2 at each time step t in the input layer Na (see FIG. 4) of the multivariable mutual modification model N. , Θ, ω corresponding to the input values, an array of values of the elements of the input variables x, v, θ, ω, so-called state patterns are set.
図5は台車の位置を示す入力変数の状態パターンの一例を説明するための説明図である。
実施例1の前記入力変数生成手段C7Aでは、前記入力層Naにおける前記入力変数x,v,θ,ωの全4n個の素子は、それぞれ−1または+1のいずれかの値となるように予め設定されている。したがって、例えば、前記入力変数x(台車1の位置x)の状態パターンをSxとし、Sx=(sx1,sx2,…,sxn)で示される場合、前記入力変数xのn個の素子sxi(i=1,2,…,n)は、sxi=+1またはsxi=−1で示すことができる。
また、前記入力変数生成手段C7Aでは、前記入力変数x,v,θ,ωは、n/2個の素子が+1となり、残りのn/2個の素子が−1となるように予め設定されている。よって、例えば、図5に示すように、前記入力変数x(台車1の位置x)の状態パターンSxについて、前記台車1の重心が実際に存在する位置に応じた範囲のn/2個の素子sxiが+1を出力し、残りのn/2個の素子sxiが−1を出力するように予め設定されている。
FIG. 5 is an explanatory diagram for explaining an example of an input variable state pattern indicating the position of the carriage.
In the input variable generation means C7A of the first embodiment, all the 4n elements of the input variables x, v, θ, and ω in the input layer Na are previously set to have a value of −1 or +1, respectively. Is set. Therefore, for example, when the state pattern of the input variable x (the position x of the carriage 1) is S x and S x = (s x1 , s x2 ,..., S xn ), n pieces of the input variable x S xi (i = 1, 2,..., N) can be represented by s xi = + 1 or s xi = −1.
In the input variable generation means C7A, the input variables x, v, θ, and ω are preset so that n / 2 elements are +1 and the remaining n / 2 elements are -1. ing. Thus, for example, as shown in FIG. 5, with respect to the state pattern S x of the input variable x (the position x of the carriage 1), n / 2 pieces in a range corresponding to the position where the center of gravity of the carriage 1 actually exists. It is preset that the element s xi outputs +1 and the remaining n / 2 elements s xi output -1.
さらに、前記入力変数生成手段C7Aでは、前記入力変数θ(棒2の角度θ)の状態パターンは、学習の際の影響が特に大きいと思われるため、前記入力変数θの主要な値、例えば、θが0.0[deg]の付近の値である場合には(θ≒0)、僅かな値の変化によって、状態パターンが大きく変化するように予め設定されている。すなわち、前記入力変数θの状態パターンをSθとし、前記時間k×t,(k+1)×tの前記入力変数θの入力値θ(k),θ(k+1)に応じた各状態パターンをSθ(k),Sθ(k+1)とした場合、前記入力変数θは、入力値θ(k),θ(k+1)が0.0[deg]の付近であれば(θ(k)≒0,θ(k+1)≒0)、前記時間がk×tから(k+1)×tに変化したときの僅かな入力値の変化で(θ(k+1)−θ(k)≒0)、変化後の状態パターンSθ(k+1)が、変化前の状態パターンSθ(k)に比べて大きく変化し、それ以外の値であれば、僅かな入力値の変化では、変化後の状態パターンSθ(k+1)が、変化前の状態パターンSθ(k)比べて大きく変化しないように予め設定されている。 Further, in the input variable generation means C7A, the state pattern of the input variable θ (the angle θ of the rod 2) seems to have a particularly large influence during learning, so the main value of the input variable θ, for example, When θ is a value in the vicinity of 0.0 [deg] (θ≈0), the state pattern is set in advance so as to change greatly by a slight change in value. That is, the state pattern of the input variable θ is S θ, and each state pattern corresponding to the input values θ (k), θ (k + 1) of the input variable θ at the time k × t, (k + 1) × t is S. When θ (k) and S θ (k + 1) are set, the input variable θ is (θ (k) ≈0 if the input values θ (k) and θ (k + 1) are in the vicinity of 0.0 [deg]. , Θ (k + 1) ≈0), and a slight change in input value when the time has changed from k × t to (k + 1) × t (θ (k + 1) −θ (k) ≈0). The state pattern S θ (k + 1) changes greatly compared to the state pattern S θ (k) before the change, and if the value is other than that, the state pattern S θ (( k + 1) is set in advance so as not to change significantly compared to the state pattern S θ (k) before the change.
C7B:入力変数記憶手段
入力変数記憶手段C7Bは、前記入力変数生成手段C7Aで生成された前記入力変数x,v,θ,ωの入力値を記憶する。実施例1の前記入力変数記憶手段C7Bは、前記時間ステップt毎に前記入力変数x,v,θ,ωの各状態パターンSx,Sv,Sθ,Sω(図4参照)を記憶する。
C7B: Input Variable Storage Unit The input variable storage unit C7B stores the input values of the input variables x, v, θ, and ω generated by the input variable generation unit C7A. The input variable storage means C7B according to the first embodiment stores the state patterns S x , S v , S θ , S ω (see FIG. 4) of the input variables x, v, θ, ω at each time step t. To do.
C7C:中間変数演算手段
中間変数演算手段C7Cは、選択的不感化手段C7C1を有し、前記時間ステップt毎に前記入力変数x,v,θ,ωに基づく前記中間変数を演算する。図4において、実施例1の前記中間変数演算手段C7Cは、前記中間層Nbに示すように、前記時間ステップt毎に、前記入力変数x,v,θ,ωが、それぞれ2つずつを1組として相互に積型文脈修飾された12個の前記積型修飾x(v),x(θ),x(ω),v(θ),v(ω),v(x),θ(ω),θ(x),θ(v),ω(x),ω(v),ω(θ)を中間変数(y)として演算する(出力する)。すなわち、前記中間変数をyとし(y=(x(v),v(x),x(θ),θ(x),x(ω),ω(x),v(θ),θ(v),v(ω),ω(v),θ(ω),ω(θ)))、前記中間変数の状態パターンをSyとした場合に、前記入力変数x,v,θ,ωの状態パターンSx,Sv,Sθ,Sωから、前記中間変数yの状態パターンSy(Sy=(Sx(Sv),Sv(Sx),Sx(Sθ),Sθ(Sx),Sx(Sω),Sω(Sx),Sv(Sθ),Sθ(Sv),Sv(Sω),Sω(Sv),Sθ(Sω),Sω(Sθ)))を演算する。
C7C: Intermediate variable calculation means The intermediate variable calculation means C7C has selective desensitization means C7C1, and calculates the intermediate variables based on the input variables x, v, θ, ω at each time step t. As shown in the intermediate layer Nb, the intermediate variable calculation means C7C according to the first embodiment in FIG. 4 sets the input variables x, v, θ, and ω to 2 each at the time step t. Twelve product type modifications x (v), x (θ), x (ω), v (θ), v (ω), v (x), θ (ω that are mutually product type context modified as a set ), Θ (x), θ (v), ω (x), ω (v), ω (θ) are calculated (output) as intermediate variables (y). That is, the intermediate variable is y (y = (x (v), v (x), x (θ), θ (x), x (ω), ω (x), v (θ), θ (v ), V (ω), ω (v), θ (ω), ω (θ))), the state of the input variables x, v, θ, ω when the intermediate variable state pattern is S y. From the patterns S x , S v , S θ , S ω , the state pattern S y (S y = (S x (S v ), S v (S x ), S x (S θ ), S)) of the intermediate variable y is obtained. θ (S x ), S x (S ω ), S ω (S x ), S v (S θ ), S θ (S v ), S v (S ω ), S ω (S v ), S θ (S ω ), S ω (S θ ))) is calculated.
C7C1:選択的不感化手段
選択的不感化手段C7C1は、第1不感化手段C7C1aと、第1出力感度演算手段C7C1bと、第2不感化手段C7C1cと、第2出力感度演算手段C7C1dとを有し、前記中間変数yの出力において、前記入力変数x,v,θ,ωに対して選択的不感化する選択的不感化処理を実行する。実施例1の前記選択的不感化手段C7C1は、前記入力変数x,v,θ,ωを、それぞれ2つずつを1組として相互に選択的不感化処理を実行する。例えば、4つの入力変数x,v,θ,ωから選択された2つの入力変数x,v(台車1の位置xおよび速度v)を1組として、前記入力変数xを第1選択変数とし、前記入力変数vを第2選択変数とした場合、前記第2選択変数vが前記第1選択変数xを選択的不感化すると共に、前記第1選択変数xが前記第2選択変数vを選択的不感化する。
C7C1: Selective desensitizing means The selective desensitizing means C7C1 includes first desensitizing means C7C1a, first output sensitivity calculating means C7C1b, second desensitizing means C7C1c, and second output sensitivity calculating means C7C1d. Then, at the output of the intermediate variable y, a selective desensitization process for selectively desensitizing the input variables x, v, θ, and ω is executed. The selective desensitizing means C7C1 according to the first embodiment executes the selective desensitizing process with each of the input variables x, v, θ, ω as two sets. For example, two input variables x, v selected from four input variables x, v, θ, ω (position x and speed v of the carriage 1) are set as one set, and the input variable x is set as a first selection variable, When the input variable v is a second selection variable, the second selection variable v selectively desensitizes the first selection variable x and the first selection variable x selectively selects the second selection variable v. Desensitize.
具体的には、図4において、まず、前記第1選択変数xの状態パターンSx(Sx=(sx1,sx2,…,sxn)=sxi(i=1,2,…,n))に対応して、前記第2選択変数vの状態パターンをSv(Sv=(sv1,sv2,…,svn)=svi(i=1,2,…,n))とし、前記選択変数x,vの状態パターンSx,Svに基づくゲインベクトルをGx(Gx=(gx1,gx2,…,gxn)=gxi(i=1,2,…,n)),Gv(Gv=(gv1,gv2,…,gvn)=gvi(i=1,2,…,n))とし、前記積型修飾x(v),v(x)の状態パターンをSx(Sv)(Sx(Sv)=(yxv1,yxv2,…,yxvn)=yxvi(i=1,2,…,n)),Sv(Sx)(Sv(Sx)=(yvx1,yvx2,…,yvxn)=yvxi(i=1,2,…,n))とする。 Specifically, in FIG. 4, first, the state pattern S x (S x = (s x1 , s x2 ,..., S xn ) = s xi (i = 1, 2,...) Of the first selection variable x. n)), the state pattern of the second selection variable v is expressed as S v (S v = (s v1 , s v2 ,..., s vn ) = s vi (i = 1, 2,..., n) ), And G x (G x = (g x1 , g x2 ,..., G xn ) = g xi (i = 1, 2, v) based on the state patterns S x and S v of the selection variables x and v , N)), G v (G v = (g v1 , g v2 ,..., G vn ) = g vi (i = 1, 2,..., N)), and the product type modification x (v), The state pattern of v (x) is expressed as S x (S v ) (S x (S v ) = (y xv 1 , y xv 2 ,..., y xvn ) = y xvi (i = 1, 2,... , N)), S v (S x ) (S v (S x ) = (y vx1 , y vx2 ,..., Y vxn ) = y vxi (i = 1, 2,..., N)).
そして、前記選択変数x,vの状態パターンSx,Svについて、前記式(1),(2)を適用する。なお、実施例1では、前記状態パターンSx,Svの素子sxi,svi(i=1,2,…,n)の値(+1または−1)が存在する確率が等しく、且つ、独立に決定される(相関がない)ように予め設定されている。このため、前記式(1)の替わりに前記式(1)′が適用できる。ここで、前記選択変数x,vの状態パターンSx,Svについて、前記式(1)′,(2)が適用された式を、以下の式(9−1),(9−2),(10−1),(10−2)に示す。
yxvi=gvi×sxi …(9−1)
gvi=(1+svi)/2 …(9−2)
yvxi=gxi×svi …(10−1)
gxi=(1+sxi)/2 …(10−2)
Then, the expressions (1) and (2) are applied to the state patterns S x and S v of the selection variables x and v. In Example 1, the probabilities that the values (+1 or −1) of the elements s xi , s vi (i = 1, 2,..., N) of the state patterns S x , S v exist are equal, and It is set in advance so as to be determined independently (no correlation). Therefore, the formula (1) ′ can be applied instead of the formula (1). Here, with respect to the state patterns S x and S v of the selection variables x and v, the expressions to which the expressions (1) ′ and (2) are applied are expressed by the following expressions (9-1) and (9-2). , (10-1), (10-2).
y xvi = g vi × s xi (9-1)
g vi = (1 + s vi ) / 2 (9-2)
y vxi = g xi × s vi (10-1)
g xi = (1 + s xi ) / 2 (10-2)
C7C1a:第1不感化手段
第1不感化手段C7C1aは、前記第1選択変数の各素子の値を、前記中間変数の各素子の値に反映しないようにする(不感化する)。実施例1の前記第1不感化手段C7C1aでは、例えば、前記入力変数xが第1選択変数、前記入力変数vが第2選択変数として選択されている場合、前記式(9−1)によって、前記第1選択変数xの各素子sxi(i=1,2,…,n)から前記積型修飾x(v)の各素子yxvi(i=1,2,…,n)を演算する際に、前記ゲインgviが0になる場合(gvi=0)、対応する前記素子yxviが、yxvi=0となる。すなわち、前記第1選択変数xの各素子sxiの値(+1または−1)が、前記積型修飾x(v)の各素子yxvi(i=1,2,…,n)の値に反映されず0となる。本願明細書では、この状況を「不感化される」と呼ぶ。
C7C1b:第1出力感度演算手段
第1出力感度演算手段C7C1bは、前記第1選択変数を不感化するためのゲイン(第1出力感度)のゲインベクトルを演算する。実施例1の前記第1出力感度演算手段C7C1bは、例えば、前記入力変数xが第1選択変数、前記入力変数vが第2選択変数として選択されている場合、第2選択変数vの状態パターンSvに基づいて、第1選択変数xを不感化するための前記ゲインベクトルGv=gvi(i=1,2,…,n)を演算する(式(9−2)参照)。
なお、前記第1不感化手段C7C1aおよび前記第1出力感度演算手段C7C1bにより、実施例1の第1中間変数演算手段(C7C1a+C7C1b)が構成されている。
C7C1a: First desensitizing means The first desensitizing means C7C1a does not reflect (desensitize) the value of each element of the first selection variable to the value of each element of the intermediate variable. In the first desensitizing means C7C1a of the first embodiment, for example, when the input variable x is selected as the first selection variable and the input variable v is selected as the second selection variable, according to the equation (9-1), Each element y xvi (i = 1, 2,..., N) of the product type modification x (v) is calculated from each element s xi (i = 1, 2,..., N) of the first selection variable x. At this time, if the gain g vi becomes 0 (g vi = 0), the corresponding element y xvi becomes y xvi = 0. That is, the value (+1 or −1) of each element s xi of the first selection variable x becomes the value of each element y xvi (i = 1, 2,..., N) of the product type modification x (v). It is not reflected and becomes 0. In this specification, this situation is referred to as “desensitized”.
C7C1b: First output sensitivity calculation means The first output sensitivity calculation means C7C1b calculates a gain vector of a gain (first output sensitivity) for desensitizing the first selection variable. For example, when the input variable x is selected as the first selection variable and the input variable v is selected as the second selection variable, the first output sensitivity calculation means C7C1b of the first embodiment is the state pattern of the second selection variable v. Based on S v , the gain vector G v = g vi (i = 1, 2,..., N) for desensitizing the first selection variable x is calculated (see Expression (9-2)).
The first desensitizing means C7C1a and the first output sensitivity calculating means C7C1b constitute first intermediate variable calculating means (C7C1a + C7C1b) of the first embodiment.
C7C1c:第2不感化手段
第2不感化手段C7C1cは、前記第2選択変数の各素子の値を、前記中間変数の各素子の値に反映しないようにする(不感化する)。実施例1の前記第2不感化手段C7C1cでは、例えば、前記入力変数xが第1選択変数、前記入力変数vが第2選択変数として選択されている場合、前記式(10−1)によって、前記第2選択変数vの各素子svi(i=1,2,…,n)から前記積型修飾v(x)の各素子yvxi(i=1,2,…,n)を演算する際に、前記ゲインgxiが0になる場合(gxi=0)、対応する前記素子yvxiが、yvxi=0となる。すなわち、前記第2選択変数vの各素子sviの値(+1または−1)が、前記積型修飾v(x)の各素子yvxi(i=1,2,…,n)の値に反映されず0となる。すなわち、不感化される。
C7C1d:第2出力感度演算手段
第2出力感度演算手段C7C1dは、前記第2選択変数を不感化するためのゲイン(第2出力感度)のゲインベクトルを演算する。実施例1の前記第2出力感度演算手段C7C1dは、例えば、前記入力変数xが第1選択変数、前記入力変数vが第2選択変数として選択されている場合、第1選択変数xの状態パターンSxに基づいて、第2選択変数vを不感化するための前記ゲインベクトルGx=gxi(i=1,2,…,n)を演算する(式(10−2)参照)。
なお、前記第2不感化手段C7C1cおよび前記第2出力感度演算手段C7C1dにより、実施例1の第2中間変数演算手段(C7C1c+C7C1d)が構成されている。
C7C1c: Second desensitizing means The second desensitizing means C7C1c does not reflect (desensitize) the value of each element of the second selection variable to the value of each element of the intermediate variable. In the second desensitizing means C7C1c of the first embodiment, for example, when the input variable x is selected as the first selection variable and the input variable v is selected as the second selection variable, according to the equation (10-1), Each element y vxi (i = 1, 2,..., N) of the product type modification v (x) is calculated from each element s vi (i = 1, 2,..., N) of the second selection variable v. At this time, when the gain g xi becomes 0 (g xi = 0), the corresponding element y vxi becomes y vxi = 0. That is, the value (+1 or −1) of each element s vi of the second selection variable v becomes the value of each element y vxi (i = 1, 2,..., N) of the product type modification v (x). It is not reflected and becomes 0. That is, it is desensitized.
C7C1d: second output sensitivity calculation means The second output sensitivity calculation means C7C1d calculates a gain vector of gain (second output sensitivity) for desensitizing the second selection variable. For example, when the input variable x is selected as the first selection variable and the input variable v is selected as the second selection variable, the second output sensitivity calculation unit C7C1d according to the first embodiment uses the state pattern of the first selection variable x. Based on S x , the gain vector G x = g xi (i = 1, 2,..., N) for desensitizing the second selection variable v is calculated (see Expression (10-2)).
The second desensitizing means C7C1c and the second output sensitivity calculating means C7C1d constitute second intermediate variable calculating means (C7C1c + C7C1d) of the first embodiment.
C7D:中間変数記憶手段
中間変数記憶手段C7Dは、前記中間変数演算手段C7Cで演算された前記中間変数をyの値(中間値)を記憶する(y=(x(v),v(x),x(θ),θ(x),x(ω),ω(x),v(θ),θ(v),v(ω),ω(v),θ(ω),ω(θ)))。実施例1の前記中間変数記憶手段C7Dは、前記時間ステップt毎に前記中間変数yの状態パターンSy(Sy=(Sx(Sv),Sv(Sx),Sx(Sθ),Sθ(Sx),Sx(Sω),Sω(Sx),Sv(Sθ),Sθ(Sv),Sv(Sω),Sω(Sv),Sθ(Sω),Sω(Sθ)))を記憶する。
C7D: Intermediate variable storage means The intermediate variable storage means C7D stores the value (intermediate value) of the intermediate variable calculated by the intermediate variable calculation means C7C (y = (x (v), v (x) , X (θ), θ (x), x (ω), ω (x), v (θ), θ (v), v (ω), ω (v), θ (ω), ω (θ) )). The intermediate variable storage unit C7D according to the first embodiment performs the state pattern S y (S y = (S x (S v ), S v (S x ), S x (S x ), S x (S θ ), S θ (S x ), S x (S ω ), S ω (S x ), S v (S θ ), S θ (S v ), S v (S ω ), S ω (S v ), S θ (S ω ), S ω (S θ ))).
C7E:出力変数演算手段
出力変数演算手段C7Eは、前記時間ステップt毎に前記中間変数y(y=(x(v),v(x),x(θ),θ(x),x(ω),ω(x),v(θ),θ(v),v(ω),ω(v),θ(ω),ω(θ)))に基づく前記出力変数Q(st,at)を演算する。図4において、実施例1の前記出力変数演算手段C7Eは、前記出力層Ncに示すように、前記出力変数Q(st,at)の状態パターンをSQ(SQ=(q1,q2,…,qm),(q1′,q2′,…,qm′)=qj,qj′(j=1,2,…,m))とし、中間変数yの状態パターンSyについて、以下の式(11)が成立する場合に、前記符号関数sgn(u)を用いた前記式(3)に基づく以下の式(11−1),(11−2)によって、前記中間変数yの状態パターンSy(Sy=(Sx(Sv),Sv(Sx),Sx(Sθ),Sθ(Sx),Sx(Sω),Sω(Sx),Sv(Sθ),Sθ(Sv),Sv(Sω),Sω(Sv),Sθ(Sω),Sω(Sθ)))から前記出力変数の状態パターンSQを演算する。
C7E: Output variable calculation means The output variable calculation means C7E outputs the intermediate variable y (y = (x (v), v (x), x (θ), θ (x), x (ω) at each time step t. ), Ω (x), v (θ), θ (v), v (ω), ω (v), θ (ω), ω (θ)))) based on the output variable Q (s t , a t ) Is calculated. In FIG. 4, the output variable calculation means C7E according to the first embodiment changes the state pattern of the output variable Q (s t , a t ) to S Q (S Q = (q 1 , q 2 ,..., q m ), (q 1 ′, q 2 ′,..., q m ′) = q j , q j ′ (j = 1, 2,..., m)) and the state of the intermediate variable y When the following expression (11) is established for the pattern S y , the following expressions (11-1) and (11-2) based on the expression (3) using the sign function sgn (u) State pattern S y (S y = (S x (S v ), S v (S x ), S x (S θ ), S θ (S x ), S x (S ω ), S)) of the intermediate variable y from ω (S x), S v (S θ), S θ (S v), S v (S ω), S ω (S v), S θ (S ω), S ω (S θ))) It calculates the state pattern S Q of the serial output variable.
(中間変数yの状態パターンSy)
Sy
=(y1,y2,…,y12n)
=(yxv1,yxv2,…,yxvn,yvx1,yvx2,…,yvxn,
yxθ1,yxθ2,…,yxθn,yθx1,yθx2,…,yθxn,
yxω1,yxω2,…,yxωn,yωx1,yωx2,…,yωxn,
yvθ1,yvθ2,…,yvθn,yθv1,yθv2,…,yθvn,
yvω1,yvω2,…,yvωn,yωv1,yωv2,…,yωvn,
yθω1,yθω2,…,yθωn,yωθ1,yωθ2,…,yωθn)
…(11)
(右方向(+Y方向)への移動を評価する場合)
qj=sgn(Σiwjiyi)(i=1,2,…,12n) …(12−1)
(左方向(−Y方向)への移動を評価する場合)
qj′=sgn(Σiwji′yi)(i=1,2,…,12n) …(12−2)
(State pattern S y of intermediate variable y )
S y
= (Y 1 , y 2 ,..., Y 12n )
= (Y xv1 , y xv2 ,..., Y xvn , y vx1 , y vx2 ,..., Y vxn ,
y xθ1 , y xθ2 ,..., y xθn , y θx1 , y θx2 ,.
y xω1 , y xω2 , ..., y xωn , y ωx1 , y ωx2 , ..., y ωxn ,
y vθ1 , y vθ2 ,..., y vθn , y θv1 , y θv2 ,.
y vω1 , y vω2 , ..., y vωn , y ωv1 , y ωv2 , ..., y ωvn ,
yθω1 , yθω2 , ..., yθωn , yωθ1 , yωθ2 , ..., yωθn )
... (11)
(When evaluating movement in the right direction (+ Y direction))
q j = sgn (Σ i w ji y i ) (i = 1, 2,..., 12n) (12-1)
(When evaluating movement in the left direction (-Y direction))
q j ′ = sgn (Σ i w ji ′ y i ) (i = 1, 2,..., 12n) (12-2)
C7F:出力変数記憶手段
出力変数記憶手段C7Fは、前記出力変数演算手段C7Eで演算された前記出力変数Q(st,at)の値(出力値)を記憶する。実施例1の前記出力変数記憶手段C7Fは、前記時間ステップt毎に前記出力変数をQ(st,at)の状態パターンSQ(SQ=(q1,q2,…,qm),(q1′,q2′,…,qm′)=qj,qj′(j=1,2,…,m))を記憶する。
C7G:行動価値関数学習手段(結合荷重学習手段)
行動価値関数学習手段C7Gは、学習判別手段C7G1結合荷重演算手段C7G2と、結合荷重記憶手段C7G3とを有し、前記行動価値関数Q(st,at)を学習する行動価値関数学習処理を実行する。実施例1の前記行動価値関数学習手段C7Gは、前記失敗状態となって前記倒立振子制御処理が終了した場合に、前記行動価値関数記憶手段C6に記憶された前記倒立振子制御処理の終了後の前記行動価値関数Q(st,at)の状態パターンをTQ(TQ=(t1,t2,…,tm),(t1′,t2′,…,tm′)=tj,tj′(j=1,2,…,m))として、前記式(4),(4)′に基づく以下の式(13−1),(13−2)によって、前記結合荷重wji,wji′の更新値Δwji,Δwji′を演算して、前記結合荷重wji,wji′を更新する処理を繰り返すことにより、近似する前記行動価値関数Q(st,at)を学習する前記行動価値関数学習処理を実行する。なお、実施例1では、前記正定数εが0.3に予め設定されている(ε=0.3)。
C7F: Output Variable Storage Unit The output variable storage unit C7F stores the value (output value) of the output variable Q (s t , a t ) calculated by the output variable calculation unit C7E. The output variable storage means C7F of Example 1, the said output variable per time step t Q (s t, a t ) state pattern S Q (S Q = (q 1, q 2 of, ..., q m ), (Q 1 ′, q 2 ′,..., Q m ′) = q j , q j ′ (j = 1, 2,..., M)).
C7G: Action value function learning means (bond weight learning means)
The behavior value function learning means C7G has a learning determination means C7G1 combined weight calculation means C7G2 and a combined weight storage means C7G3, and performs behavior value function learning processing for learning the behavior value function Q (s t , a t ). Run. The action value function learning unit C7G according to the first embodiment is configured to perform the inverted pendulum control process after the end of the inverted pendulum control process stored in the action value function storage unit C6 when the inverted pendulum control process ends in the failure state. The state pattern of the behavior value function Q (s t , a t ) is expressed as T Q (T Q = (t 1 , t 2 ,..., T m ), (t 1 ′, t 2 ′,..., T m ′). = T j , t j ′ (j = 1, 2,..., M)), the following equations (13-1) and (13-2) based on the equations (4) and (4) ′ coupling weight w ji, w ji 'update value Δw ji, Δw ji' by calculating the coupling weight w ji, by repeating the process of updating the w ji ', the action value function Q (s t to approximate , A t ), the behavior value function learning process is executed. In Example 1, the positive constant ε is preset to 0.3 (ε = 0.3).
(右方向(+Y方向)への移動を評価する場合)
Δwji=ε(tj−qj)yi …(13−1)
(左方向(−Y方向)への移動を評価する場合)
Δwji′=ε(tj′−qj′)yi …(13−2)
すなわち、前記行動価値関数学習手段C7Gは、前記時間k×t,(k+1)×tの前記結合荷重wji,wji′をwji(k),wji(k+1),wji′(k),wji′(k+1)とした場合に、以下の式(14−1),(14−2)によって、前記結合荷重wji,wji′をwji(k),wji′(k)からwji(k+1),wji′(k+1)に更新する処理を繰り返す(k=0,1,…)。
(When evaluating movement in the right direction (+ Y direction))
Δw ji = ε (t j −q j ) y i (13-1)
(When evaluating movement in the left direction (-Y direction))
Δw ji ′ = ε (t j ′ −q j ′) y i (13-2)
That is, the behavior value function learning means C7G uses the connection weights w ji and w ji ′ of the time k × t and (k + 1) × t as w ji (k), w ji (k + 1), and w ji ′ (k ), W ji ′ (k + 1), the combined loads w ji , w ji ′ are changed to w ji (k), w ji ′ (k) according to the following equations (14-1), (14-2). ) To w ji (k + 1), w ji ′ (k + 1) is repeated (k = 0, 1,...).
wji(k+1)=wji(k)+Δwji …(14−1)
wji′(k+1)=wji′(k)+Δwji′ …(14−2)
なお、前記時間がk×tから(k+1)×tに変化した場合の前記入力変数x,v,θ,ωの状態パターンSx,Sv,Sθ,Sωが類似する場合、前記出力変数Q(st,at)の状態パターンTQにも大きな変化がなく、例えば、同じ状態パターン(TQ)となる場合がある。よって、実施例1の前記行動価値関数学習手段C7Gでは、前記時間がk×tから(k+1)×tに変化した場合に、前記入力変数x,v,θ,ωの状態パターンSx,Sv,Sθ,Sωが類似し(例えば、状態パターンSx,Sv,Sθ,Sωの9割以上が変化しておらず)、且つ、前記出力変数Q(st,at)の状態パターンTQが変化しなかった場合(Q(st,at)=Q(st+1,at+1))、前記結合荷重wji,wji′の更新処理を省略する。このため、前記行動価値関数Q(st,at)を学習する処理の演算ステップ(計算量)を低減できる。
w ji (k + 1) = w ji (k) + Δw ji (14-1)
w ji ′ (k + 1) = w ji ′ (k) + Δw ji ′ (14-2)
Note that when the state patterns S x , S v , S θ , S ω of the input variables x, v, θ, ω when the time changes from k × t to (k + 1) × t are similar, the output The state pattern T Q of the variable Q (s t , a t ) does not change greatly, and for example, the same state pattern (T Q ) may be obtained. Therefore, in the behavior value function learning means C7G of the first embodiment, when the time changes from k × t to (k + 1) × t, the state patterns S x , S of the input variables x, v, θ, ω. v 1 , S θ , S ω are similar (for example, 90% or more of the state patterns S x , S v , S θ , S ω have not changed), and the output variable Q (s t , a t ) State pattern TQ does not change (Q (s t , a t ) = Q (s t + 1 , a t + 1 )), the update processing of the joint loads w ji , w ji ′ is omitted. Therefore, the action value function Q (s t, a t) can reduce the computational steps of the process of learning (calculation amount).
C7G1:学習判別手段
学習判別手段C7G1は、前記時間がk×tから(k+1)×tに変化した場合に、前記入力変数x,v,θ,ωの状態パターンSx,Sv,Sθ,Sωが類似し(例えば、状態パターンSx,Sv,Sθ,Sωの9割以上が変化しておらず)、且つ、前記出力変数Q(st,at),Q(st+1,at+1)の状態パターンTQが変化したか否かを判別することにより、前記時間k×t,(k+1)×t(k=0,1,2,)における前記結合荷重wji,wji′の更新処理を省略するか否かを判別する。
C7G2:結合荷重演算手段
結合荷重演算手段C7G2は、前記式(13−1),(13−2),(14−1),(14−2)により、前記結合荷重wji,wji′を演算する(更新する)。
C7G3:結合荷重記憶手段
結合荷重記憶手段C7G3は、前記結合荷重演算手段C7G2で演算された前記結合荷重wji,wji′を記憶する。
C7G1: Learning discriminating means The learning discriminating means C7G1 has the state patterns S x , S v , S θ of the input variables x, v, θ, ω when the time changes from k × t to (k + 1) × t. , S ω are similar (for example, 90% or more of the state patterns S x , S v , S θ , S ω have not changed), and the output variables Q (s t , a t ), Q ( by s t + 1, a t + 1 state pattern T Q in) is equal to or changed, the time k × t, (k + 1 ) × t (k = 0,1,2, the bond in) load w ji , W ji ′ is discriminated whether or not to be omitted.
C7G2: Combined load calculating means The combined load calculating means C7G2 calculates the combined loads w ji and w ji ′ according to the equations (13-1), (13-2), (14-1), and (14-2). Calculate (update).
C7G3: Combined load storage means The combined load storage means C7G3 stores the combined loads w ji , w ji ′ calculated by the combined load calculation means C7G2.
C8:倒立振子制御終了判別手段(制御終了判別手段)
倒立振子制御終了判別手段C8は、倒立振子制御時間計時手段C8Aと、成功状態判別手段C8Bと、失敗状態判別手段C8Cとを有し、前記倒立振子制御処理を終了するか否かを判別する。実施例1の前記倒立振子制御終了判別手段C8は、前記倒立振子制御処理を開始してから前記棒2が180秒倒立した状態(成功状態)または負の値の前記報酬rtが得られた状態(失敗状態)であるか否かを判別することにより、前記倒立振子制御処理を終了するか否かを判別する。
C8A:倒立振子制御時間計時手段
倒立振子制御時間計時手段C8Aは、前記倒立振子制御処理を開始した場合に、後述するタイマTMの計時を開始することにより、前記倒立振子制御処理における経過時間k×t(k=0,1,…,kmax(9000))を計時する。
C8: Inverted pendulum control end determining means (control end determining means)
The inverted pendulum control end determining means C8 includes an inverted pendulum control time measuring means C8A, a success state determining means C8B, and a failure state determining means C8C, and determines whether or not to end the inverted pendulum control process. The inverted pendulum control termination judgment means C8 of Example 1, the reward r t of the state where the rod 2 from the start of the inverted pendulum control process has been inverted 180 seconds (successful state) or negative value is obtained It is determined whether or not the inverted pendulum control process is terminated by determining whether or not the state (failure state) is present.
C8A: Inverted pendulum control time measuring means When the inverted pendulum control time measuring means C8A starts the inverted pendulum control process, the elapsed time k × in the inverted pendulum control process is started by starting the timer TM described later. Time t (k = 0, 1,..., k max (9000)) is measured.
C8B:成功状態判別手段
成功状態判別手段C8Bは、前記倒立振子制御時間計時手段C8Aにより、前記倒立振子制御処理を開始してから、前記報酬rtが一度も負の値を取らずに(rt≧0)前記棒2が180秒倒立した状態であるか否かを判別することにより(k=kmax=9000)、前記成功状態であるか否かを判別する。ここで、kmaxは、前記自然数kの最大値である(kmax=180/0.02=9000)。
C8C:失敗状態判別手段
失敗状態判別手段C8Cは、前記失敗状態として前記報酬rtが負の値であるか否かを判別することにより(rt<0)、前記失敗状態であるか否かを判別する。
TM:タイマ
タイマTMは、前記倒立振子制御処理を実行するときの各時間k×t(k=0,1,…,kmax(9000))を計時する。
C8B: Success state discriminating means success status determining means C8B is by the inverted pendulum control time measuring means C8A, from the start of the inverted pendulum control process, the reward r t is a time even without taking a negative value (r t ≧ 0) By determining whether or not the rod 2 is in an inverted state for 180 seconds (k = k max = 9000), it is determined whether or not it is the successful state. Here, k max is the maximum value of the natural number k (k max = 180 / 0.02 = 9000).
C8C: Failed state discriminating means fails state discrimination means C8C, by the reward r t as the failure state it is determined whether or not a negative value (r t <0), whether the a failure state Is determined.
TM: Timer The timer TM measures each time k × t (k = 0, 1,..., K max (9000)) when the inverted pendulum control process is executed.
(実施例1のフローチャートの説明)
次に、実施例1の制御部Cの関数近似プログラムAP1の処理の流れをフローチャートを使用して説明する。
(実施例1のメイン処理のフローチャートの説明)
図6は本発明の実施例1の関数近似プログラムのメイン処理のフローチャートである。
図6のフローチャートの各ST(ステップ)の処理は、前記制御部CのROM等に記憶されたプログラムに従って行われる。また、この処理は前記制御部Cの他の各種処理と並行してマルチタスクで実行される。
(Description of Flowchart of Example 1)
Next, a processing flow of the function approximation program AP1 of the control unit C according to the first embodiment will be described with reference to a flowchart.
(Description of flowchart of main processing of embodiment 1)
FIG. 6 is a flowchart of the main process of the function approximation program according to the first embodiment of the present invention.
The processing of each ST (step) in the flowchart of FIG. 6 is performed according to a program stored in the ROM or the like of the control unit C. In addition, this process is executed by multitasking in parallel with other various processes of the control unit C.
図6に示すフローチャートは前記台車1が電源オンした後、前記関数近似プログラムAP1が起動した場合に開始される。
図6のST1において、次の(1)〜(6)の処理を実行し、ST2に移る。
(1)台車1の位置x、速度v、加速度a、棒2の角速度ω、角加速度bの初期値として0.0をセットする(x(0)=v(0)=ω(0)=a(0)=b(0)=0.0)。
(2)棒2の角度θの初期値として−3.0°〜3.0°の範囲の乱数をセットする(θ(0)=−3.0°〜3.0°)。
(3)台車1に対して右方向(+Y方向)に加える力Fの初期値として20.0をセットする(F(0)=20.0)。
(4)結合荷重ωji,ωji′の初期値として0.0をセットする(ωji(0)=ωji′(0)=0.0)。
(5)台車1および棒2についての各定数M,m,L,t,gの各設定値および強化学習定数α,γの各設定値をセットする(M=1.0,m=0.1,L=1.0,g=9.8,t=0.02,α=0.1,γ=0.95)。
(6)自然数kに1をセットする(k=1)。
The flowchart shown in FIG. 6 is started when the function approximating program AP1 is started after the cart 1 is powered on.
In ST1 of FIG. 6, the following processes (1) to (6) are executed, and the process proceeds to ST2.
(1) 0.0 is set as the initial value of the position x, velocity v, acceleration a of the carriage 1, the angular velocity ω of the rod 2, and the angular acceleration b (x (0) = v (0) = ω (0) = a (0) = b (0) = 0.0).
(2) A random number in the range of −3.0 ° to 3.0 ° is set as the initial value of the angle θ of the rod 2 (θ (0) = − 3.0 ° to 3.0 °).
(3) 20.0 is set as an initial value of the force F applied to the cart 1 in the right direction (+ Y direction) (F (0) = 20.0).
(4) 0.0 is set as an initial value of the coupling loads ω ji and ω ji ′ (ω ji (0) = ω ji ′ (0) = 0.0).
(5) The set values of the constants M, m, L, t, g and the set values of the reinforcement learning constants α, γ for the carriage 1 and the rod 2 are set (M = 1.0, m = 0. 1, L = 1.0, g = 9.8, t = 0.02, α = 0.1, γ = 0.95).
(6) Set 1 to the natural number k (k = 1).
ST2において、結合荷重記憶手段C7G3に記憶された学習済の結合荷重ωji,ωji′が存在するか否かを判別する。イエス(Y)の場合はST3に移り、ノー(N)の場合はST4に移る。
ST3において、結合荷重記憶手段C7G3に記憶された学習済の結合荷重ωji,ωji′をセットする。そして、ST4に移る。
ST4において、タイマTMによる計時を開始する。そして、ST5に移る。
In ST2, it is determined whether or not the learned connection weights ω ji and ω ji ′ stored in the connection weight storage means C7G3 exist. If yes (Y), the process proceeds to ST3, and, if no (N), the process proceeds to ST4.
In ST3, the learned connection weights ω ji and ω ji ′ stored in the connection weight storage means C7G3 are set. Then, the process proceeds to ST4.
In ST4, timing by the timer TM is started. Then, the process proceeds to ST5.
ST5において、式(6−1),(6−2),(7−1)〜(7−4),(7−1)′〜(7−4)′と、各定数M,m,L,g,tおよび各変数a(0),b(0)、k,F(0)とに基づいて、時間t(k=1,t=0.02[s])の入力変数x,v,θ,ωの値(入力値x(1),v(1),θ(1),ω(1))を演算することにより、状態stを測定する(st=x(1),v(1),θ(1),ω(1))。そして、ST6に移る。
ST6において、多変数相互修飾モデルN(図4参照)によって、行動価値関数Q(st,at)を近似する行動価値関数近似処理(後述する図7のフローチャート参照)を実行する。すなわち、状態stにおける時間k×t(k=1,2,…,kmax)の行動価値関数Q(st,at)の近似値を演算する前記行動価値関数近似処理を実行する。そして、ST7に移る。
ST7において、前記greedy選択法に基づいて、評価値である行動価値関数Q(st,at)が最大となる行動atを選択して実行する。すなわち、時間k×t(k=1,2,…,kmax)の力F(k)に応じて台車1を左右方向(Y軸方向)に移動させる。そして、ST8に移る。
In ST5, formulas (6-1), (6-2), (7-1) to (7-4), (7-1) ′ to (7-4) ′, and constants M, m, L , G, t and each variable a (0), b (0), k, F (0), input variables x, v at time t (k = 1, t = 0.02 [s]) , theta, value of omega (input value x (1), v (1 ), θ (1), ω (1)) by calculating, measuring the state s t (s t = x ( 1), v (1), θ (1), ω (1)). Then, the process proceeds to ST6.
In ST6, an action value function approximation process (see a flowchart of FIG. 7 described later) for approximating the action value function Q (s t , a t ) is executed by the multivariable mutual modification model N (see FIG. 4). That is, the behavior value function approximation process for calculating the approximate value of the behavior value function Q (s t , a t ) at time k × t (k = 1, 2,..., K max ) in the state s t is executed. Then, the process proceeds to ST7.
In ST7, on the basis of the greedy selection method, an evaluation value action value function Q (s t, a t) is executed by selecting an action a t with the maximum. That is, the carriage 1 is moved in the left-right direction (Y-axis direction) according to the force F (k) of time k × t (k = 1, 2,..., K max ). Then, the process proceeds to ST8.
ST8において、次の(1),(2)の処理を実行し、ST9に移る。
(1)行動atに応じた報酬rtを取得する。なお、実施例1の報酬rtは、棒2が倒れて角度θが、θ≦−180°、又は、θ≧180°、となった場合には、負の値として取得され(rt<0)、それ以外の場合には、0以上の値として取得される(rt≧0)。また、棒2の角度θが0[deg]に近いほど報酬rtの値が大きくなるように予め設定されている。
(2)式(6−1),(6−2),(7−1)〜(7−4)と、各定数M,m,L,g,tおよび各変数x(k),v(k),θ(k),ω(k),a(k),b(k),k,F(k)とに基づいて、時間(k+1)×tの入力変数x,v,θ,ωの値(入力値x(k+1),v(k+1),θ(k+1),ω(k+1))を演算することにより、行動at後の次の状態st+1を測定する(st+1=x(k+1),v(k+1),θ(k+1),ω(k+1)(k=1,2,…,kmax))。
In ST8, the following processes (1) and (2) are executed, and the process proceeds to ST9.
(1) to get the reward r t in accordance with the action a t. Note that reward r t of the first embodiment, the angle theta and collapse rods 2, theta ≦ -180 °, or, if it becomes theta ≧ 180 °, and is obtained as a negative value (r t < 0), otherwise, it is obtained as a value greater than or equal to 0 (r t ≧ 0). Further, the value of the reward r t is set in advance so that the angle θ of the bar 2 is closer to 0 [deg].
(2) Expressions (6-1), (6-2), (7-1) to (7-4), each constant M, m, L, g, t and each variable x (k), v ( k), θ (k), ω (k), a (k), b (k), k, F (k), and input variables x, v, θ, ω of time (k + 1) × t value (input value x (k + 1), v (k + 1), θ (k + 1), ω (k + 1)) by calculating, measuring the next state s t + 1 after action a t (s t + 1 = x ( k + 1), v (k + 1), θ (k + 1), ω (k + 1) (k = 1, 2,..., k max )).
ST9において、式(8)に基づいて、時間k×t(k=0,1,2,…,kmax)の行動価値関数Q(st,at)を演算する(更新する)行動価値関数更新処理を実行する。そして、ST10に移る。
ST10において、タイマTMの計時を開始してから負の値の報酬rtを一度も取得せずに(rt≧0)180秒(k=kmax=9000)を計時した状態、すなわち、棒2が180秒倒立した状態であるか否かを判別することにより、成功状態であるか否かを判別する。ノー(N)の場合はST11に移り、イエス(Y)の場合はST1に戻る。
In ST9, based on the equation (8), the behavior value Q (s t , a t ) for the time k × t (k = 0, 1, 2,..., K max ) is calculated (updated). Execute function update processing. Then, the process proceeds to ST10.
In ST10, and it measures the reward r t from the start of counting of the timer TM negative value without also not acquire once (r t ≧ 0) 180 seconds (k = k max = 9000) state, i.e., rod It is determined whether or not 2 is in a successful state by determining whether or not 2 is in an inverted state for 180 seconds. If no (N), the process moves to ST11, and if yes (Y), the process returns to ST1.
ST11において、負の値の前記報酬rt(rt<0)が得られた状態であるか否かを判別することにより、失敗状態であるか否かを判別する。ノー(N)の場合はST12に移り、イエス(Y)の場合はST13に移る。
ST12において、自然数kに+1を加算する(k=k+1)。そして、ST6に戻る。
ST13において、行動価値関数Q(st,at)を学習する行動価値関数学習処理(後述する図8のフローチャート参照)を実行する。そして、ST1に戻る。
In ST11, it is determined whether or not it is a failure state by determining whether or not a negative value of the reward r t (r t <0) is obtained. If no (N), the process proceeds to ST12, and if yes (Y), the process proceeds to ST13.
In ST12, +1 is added to the natural number k (k = k + 1). Then, the process returns to ST6.
In ST13, an action value function learning process (see the flowchart of FIG. 8 described later) for learning the action value function Q (s t , a t ) is executed. Then, the process returns to ST1.
(実施例1の行動価値関数近似処理のフローチャートの説明)
図7は本発明の実施例1の関数近似プログラムの行動価値関数近似処理のフローチャートであり、図6のST6のサブルーチンの説明図である。
図7のST101において、時間k×t(k=0,1,2,…,kmax)の入力変数x,v,θ,ωを生成する。すなわち、多変数相互修飾モデルNの入力層Na(図4参照)における時間k×tの入力変数x,v,θ,ωの状態パターンSx,Sv,Sθ,Sωを設定する(生成する)。そして、ST102に移る。
(Description of Flowchart of Action Value Function Approximation Processing in Embodiment 1)
FIG. 7 is a flowchart of the action value function approximation process of the function approximation program according to the first embodiment of the present invention, and is an explanatory diagram of the subroutine of ST6 in FIG.
In ST101 of FIG. 7, input variables x, v, θ, ω of time k × t (k = 0, 1, 2,..., K max ) are generated. That is, the state patterns S x , S v , S θ , S ω of the input variables x, v, θ, ω of the time k × t in the input layer Na (see FIG. 4) of the multivariable mutual modification model N are set ( To generate). Then, the process proceeds to ST102.
ST102において、生成された入力変数x,v,θ,ωから中間変数y(y=(x(v),v(x),x(θ),θ(x),x(ω),ω(x),v(θ),θ(v),v(ω),ω(v),θ(ω),ω(θ)))を演算する。すなわち、入力変数x,v,θ,ωの状態パターンSx,Sv,Sθ,Sωから、多変数相互修飾モデルNの中間層Nb(図4参照)における中間変数yの状態パターンSy(Sy=(Sx(Sv),Sv(Sx),Sx(Sθ),Sθ(Sx),Sx(Sω),Sω(Sx),Sv(Sθ),Sθ(Sv),Sv(Sω),Sω(Sv),Sθ(Sω),Sω(Sθ)))を演算する(式(9−1),(9−2),(10−1),(10−2)参照)。なお、前記ST102では、図7に示すように、中間変数yである12個の各積型修飾x(v),v(x),x(θ),θ(x),x(ω),ω(x),v(θ),θ(v),v(ω),ω(v),θ(ω),ω(θ)を演算する12個のST102a〜102mが並列で実行される。 In ST102, intermediate variables y (y = (x (v), v (x), x (θ), θ (x), x (ω), ω () are generated from the generated input variables x, v, θ, ω. x), v (θ), θ (v), v (ω), ω (v), θ (ω), ω (θ))). That is, from the state patterns S x , S v , S θ , S ω of the input variables x, v, θ, ω, the state pattern S of the intermediate variable y in the intermediate layer Nb (see FIG. 4) of the multivariable mutual modification model N. y (S y = (S x (S v ), S v (S x ), S x (S θ ), S θ (S x ), S x (S ω ), S ω (S x ), S v ) (S θ ), S θ (S v ), S v (S ω ), S ω (S v ), S θ (S ω ), S ω (S θ ))) are calculated (formula (9-1) ), (9-2), (10-1), (10-2)). In ST102, as shown in FIG. 7, twelve product type modifications x (v), v (x), x (θ), θ (x), x (ω), which are intermediate variables y, Twelve STs 102a to 102m for calculating ω (x), v (θ), θ (v), v (ω), ω (v), θ (ω), ω (θ) are executed in parallel.
ST103において、演算された中間変数yから出力変数Q(st,at)を演算する。すなわち、中間変数yの状態パターンSyから、多変数相互修飾モデルNの出力層Nc(図4参照)における出力変数yの状態パターンSQを演算する(式(11),(12−1),(12−2)参照)。そして、行動価値関数近似処理を終了し、図6のメイン処理に戻る。 In ST103, the output variable Q (s t , a t ) is calculated from the calculated intermediate variable y. That is, the state pattern S y of the intermediate variable y, and calculates the state pattern S Q of the output variable y at the output layer Nc multivariable cross-modified model N (see FIG. 4) (formula (11), (12-1) , (12-2)). Then, the behavior value function approximation process is terminated, and the process returns to the main process of FIG.
(実施例1の行動価値関数学習処理のフローチャートの説明)
図8は本発明の実施例1の関数近似プログラムの行動価値関数学習処理のフローチャートであり、図6のST13のサブルーチンの説明図である。
図8のST201において、変数i,jに1、自然数kおよび結合荷重wji,wji′の更新値Δwji,Δwji′に0をセットする(i=j=1,k=0,Δwji=Δwji′=0)。そして、ST202に移る。
(Explanation of Flowchart of Behavior Value Function Learning Processing in Embodiment 1)
FIG. 8 is a flowchart of the action value function learning process of the function approximation program according to the first embodiment of the present invention, and is an explanatory diagram of the subroutine of ST13 in FIG.
In ST201 of FIG. 8, 1 is set to the variables i and j, and 0 is set to the updated values Δw ji and Δw ji ′ of the natural number k and the coupling weights w ji and w ji ′ (i = j = 1, k = 0, Δw). ji = Δw ji ′ = 0). Then, the process proceeds to ST202.
ST202において、時間がk×tから(k+1)×t(k=0,1,…,kmax)に変化したときの入力変数x,v,θ,ωの状態パターンSx,Sv,Sθ,Sωが類似し(例えば、状態パターンSx,Sv,Sθ,Sωの9割以上が変化しておらず)、且つ、出力変数Q(st,at)の状態パターンTQが変化していないか否かを判別する(st≒st+1、且つ、Q(st,at)=Q(st+1,at+1))。ノー(N)の場合はST203に移り、イエス(Y)の場合はST211に移る。 In ST202, the state patterns S x , S v , S of the input variables x, v, θ, ω when the time changes from k × t to (k + 1) × t (k = 0, 1,..., K max ). θ and S ω are similar (for example, 90% or more of the state patterns S x , S v , S θ , and S ω have not changed), and the state pattern of the output variable Q (s t , a t ) It is determined whether or not TQ has changed (s t ≈s t + 1 and Q (s t , a t ) = Q (s t + 1 , a t + 1 )). If no (N), the process proceeds to ST203, and if yes (Y), the process proceeds to ST211.
ST203において、行動価値関数記憶手段C6に記憶された(1エピソード終了後の)行動価値関数Q(st,at)の状態パターンTQと、出力変数記憶手段C7Fに記憶された時間k×t(k=0,1,…,kmax)の出力変数Q(st,at)の状態パターンSQとによって、前記結合荷重wji,wji′の更新値(変化量)Δwji,Δwji′を演算する(式(13−1),(13−2)参照)。そして、ST204に移る。
ST204において、式(14−1),(14−2)によって、前記結合荷重wji,wji′を更新する。そして、ST205に移る。
In ST 203, stored in the action-value function storage means C6 (after episode termination) action value function Q (s t, a t) state pattern T Q and the time k × stored in the output variable storage means C7F of t (k = 0,1, ..., k max) output variable Q (s t, a t) of by the state pattern S Q of the coupling weights w ji, updated value of w ji '(variation) [Delta] w ji , Δw ji ′ (see equations (13-1) and (13-2)). Then, the process proceeds to ST204.
In ST204, the combined loads w ji and w ji ′ are updated by the equations (14-1) and (14-2). Then, the process proceeds to ST205.
ST205において、変数iが12n以上か否かを判別する(i≧12n)。ノー(N)の場合はST206に移り、イエス(Y)の場合はST207に移る。
ST206において、変数iに+1を加算する(i=i+1)。そして、ST203に戻る。
ST207において、変数iを1にリセットする(i=1)。そして、ST208に移る。
In ST205, it is determined whether or not the variable i is 12n or more (i ≧ 12n). If no (N), the process moves on to ST206, and if yes (Y), the process moves on to ST207.
In ST206, +1 is added to the variable i (i = i + 1). Then, the process returns to ST203.
In ST207, the variable i is reset to 1 (i = 1). Then, the process proceeds to ST208.
ST208において、変数jがm以上か否かを判別する(j≧m)。ノー(N)の場合はST209に移り、イエス(Y)の場合はST210に移る。
ST209において、変数jに+1を加算する(j=j+1)。そして、ST203に戻る。
ST210において、変数jを1にリセットする(j=1)。そして、ST211に移る。
ST211において、自然数kがkmax−1より小さいか否かを判別する(k<kmax−1)。イエス(Y)の場合はST212に移り、ノー(N)の場合は行動価値関数学習処理を終了し、図6のメイン処理に戻る。
ST212において、自然数kに+1を加算する(k=k+1)。そして、ST202に戻る。
In ST208, it is determined whether or not the variable j is greater than or equal to m (j ≧ m). If no (N), the process moves on to ST209, and if yes (Y), the process moves on to ST210.
In ST209, +1 is added to the variable j (j = j + 1). Then, the process returns to ST203.
In ST210, variable j is reset to 1 (j = 1). Then, the process proceeds to ST211.
In ST211, it is determined whether or not the natural number k is smaller than k max −1 (k <k max −1). If yes (Y), the process transfers to ST212, and, if no (N), the action value function learning process ends, and the process returns to the main process in FIG.
In ST212, +1 is added to the natural number k (k = k + 1). Then, the process returns to ST202.
(実施例1の作用)
前記構成を備えた実施例1の前記関数近似システムSでは、前記倒立振子制御処理(図6のST1〜ST12参照)において、前記行動at(台車1に対して右方向(+Y方向)に加える力F)を選択するための前記行動価値関数Q(st,at)を近似するために、選択的不感化法に基づく前記行動価値関数近似処理(図6のST6、図7のST101〜ST103参照)が実行される。したがって、Q−learningに基づく前記行動価値関数更新処理(図6のST10、式(8)参照)で学習していない状態(st)における前記行動価値関数Q(st,at)についても演算することができ、すなわち、前記行動価値関数Q(st,at)の近似値を演算することができ、近似された前記行動価値関数Q(st,at)に基づいて、前記状態stにおける適切な行動atを選択することができる(図6のST6,ST7参照)。
(Operation of Example 1)
In the function approximating system S of the first embodiment having the above-described configuration, the action a t (added in the right direction (+ Y direction) with respect to the carriage 1) in the inverted pendulum control process (see ST1 to ST12 in FIG. 6). In order to approximate the action value function Q (s t , a t ) for selecting the force F), the action value function approximation process (ST6 in FIG. 6, ST101 in FIG. 7) based on the selective desensitization method. ST103) is executed. Therefore, the action-value function update process based on the Q-learning (ST10 in FIG. 6, equation (8) see) the action value function Q (s t, a t) in a state that is not learned (s t) with regard to An approximate value of the action value function Q (s t , a t ) can be calculated, and based on the approximated action value function Q (s t , a t ), it is possible to select an appropriate action a t in state s t (see ST6, ST7 in FIG. 6).
また、実施例1の前記関数近似システムSでは、前記倒立振子制御処理が失敗状態となって終了した場合には、前記行動価値関数Q(st,at)を近似するための前記結合荷重wji,wji′を学習する前記行動価値関数学習処理(図6のST13、図8のST201〜ST212参照)が実行される。したがって、前記倒立振子制御処理が失敗した場合、次のエピソード、すなわち、次の倒立振子制御処理では、更新された前記結合荷重wji,wji′で前記行動価値関数Q(st,at)を近似できるため、前記行動価値関数Q(st,at)を精度良く近似でき、前記行動atをより適切に選択することができる(図6のST2,ST3参照)。 In the function approximating system S of the first embodiment, when the inverted pendulum control process ends in a failed state, the combined load for approximating the action value function Q (s t , a t ). The behavior value function learning process (see ST13 in FIG. 6 and ST201 to ST212 in FIG. 8) for learning w ji and w ji ′ is executed. Therefore, if the inverted pendulum control process fails, in the next episode, that is, the next inverted pendulum control process, the action value function Q (s t , a t with the updated combined weights w ji , w ji ′. ) because it can approximate the action value function Q (s t, a t) be accurately approximated, it is possible to select the action a t better (see ST2, ST3 in FIG. 6).
ここで、前記行動価値関数近似処理および前記行動価値関数学習処理で用いられる前記多変数相互修飾モデルNにおいて、前記中間層Nb(図4参照)では、4つの入力変数x,v,θ,ωについて、順列組み合わせで2つの入力変数(第1選択変数、第2選択変数)を1組として相互に積型文脈修飾された12個(4P2=4×3=12)の積型修飾x(v),v(x),x(θ),θ(x),x(ω),ω(x),v(θ),θ(v),v(ω),ω(v),θ(ω),ω(θ)が前記中間変数yとして演算される(図7のST102、式(9−1),(9−2),(10−1),(10−2)参照)。このため、実施例1の前記関数近似システムSでは、2つの入力パターンS,Cについて中間パターンX,X′および出力パターンYを出力する場合しか想定されていない従来公知の選択的不感化法が適用された層状ニューラルネット01,01′,02(図12、図13参照)の適用対象外であった3つ以上の入力変数(x,v,θ,ω)を有する関数(Q(st,at))に対しても、学習能力(汎化能力)が高い前記選択的不感化法に基づく前記多変数相互修飾モデルNが適用できる。 Here, in the multivariable mutual modification model N used in the behavior value function approximating process and the behavior value function learning process, the intermediate layer Nb (see FIG. 4) has four input variables x, v, θ, ω. For twelve ( 4 P 2 = 4 × 3 = 12) product-type modifiers x that are mutually product-type context-modified with two input variables (first selection variable, second selection variable) as one set in a permutation combination (V), v (x), x (θ), θ (x), x (ω), ω (x), v (θ), θ (v), v (ω), ω (v), θ (Ω) and ω (θ) are calculated as the intermediate variable y (see ST102 in FIG. 7, equations (9-1), (9-2), (10-1), and (10-2)). Therefore, in the function approximation system S of the first embodiment, there is a conventionally known selective desensitization method that is assumed only when the intermediate patterns X, X ′ and the output pattern Y are output for the two input patterns S, C. A function (Q (s t ) having three or more input variables (x, v, θ, ω) that is not applicable to the applied layered neural network 01, 01 ′, 02 (see FIGS. 12 and 13). , A t )), the multivariable mutual modification model N based on the selective desensitization method having high learning ability (generalization ability) can be applied.
この結果、実施例1の前記関数近似システムSは、従来公知のQ−learningの強化学習のように全試行(全ての状態(st)における全ての行動(st))を実行しなくても、学習能力(汎化能力)が高い前記多変数相互修飾モデルNに基づく前記行動価値関数近似処理および前記行動価値関数学習処理を実行することにより学習が収束する時間、いわゆる、学習時間を低減することができる。 As a result, the function approximating system S according to the first embodiment does not execute all trials (all actions (s t ) in all states (s t )) like the conventionally known reinforcement learning of Q-learning. Also, the time for learning to converge by executing the action value function approximation process and the action value function learning process based on the multivariable mutual modification model N with high learning ability (generalization ability), so-called learning time is reduced. can do.
(実験例)
ここで、実施例1の前記関数近似システムSが、前記行動価値関数近似処理および前記行動価値関数学習処理を実行することにより、学習効率がどのように変化したかを調べるために、次の実験例1〜3および比較例1〜3を準備した。
(Experimental example)
Here, in order to examine how the learning efficiency has changed by the function approximation system S according to the first embodiment by executing the action value function approximation process and the action value function learning process, the following experiment is performed. Examples 1-3 and Comparative Examples 1-3 were prepared.
(実験例1)
実験例1の関数近似システムSは、実施例1の前記関数近似システムSと同等の構成で作製されており、実施例1の前記メイン処理(図6のST1〜ST13参照)において、前記行動価値関数近似処理および前記行動価値関数近似処理が実行される。すなわち、Q−learnigの強化学習で学習した状態stにおける行動価値関数Q(st,at)のみならず、学習していない状態stについても行動価値関数Q(st,at)が近似され、近似された行動価値関数Q(st,at)に基づく行動atが実行されると共に、前記倒立振子制御処理が失敗した場合に、前記行動価値関数Q(st,at)を近似するための前記結合荷重wji,wji′の学習が行われる。
また、実験例1の前記関数近似システムSは、外乱および観測ノイズのない環境Eの下で実験を行った(図1、図3参照)。
(Experimental example 1)
The function approximating system S of Experimental Example 1 is produced with the same configuration as the function approximating system S of Example 1, and in the main processing of Example 1 (see ST1 to ST13 in FIG. 6), the action value A function approximation process and the action value function approximation process are executed. That is, not only the action value function Q (s t , a t ) in the state s t learned by the reinforcement learning of Q-learning but also the action value function Q (s t , a t ) not in the state s t There is approximated, approximated action value function Q (s t, a t) with the based actions a t is executed, when the inverted pendulum control process has failed, the action value function Q (s t, a Learning of the connection weights w ji and w ji ′ for approximating t 2 ) is performed.
In addition, the function approximation system S of Experimental Example 1 was tested under an environment E without disturbance and observation noise (see FIGS. 1 and 3).
(比較例1)
比較例1の関数近似システムS′は、従来公知のQ−learningの強化学習に前記テーブル参照法が適用されており、実験例1の前記関数近似システムSに比べ、前記メイン処理において、前記行動価値関数近似処理および前記行動価値関数近似処理が省略されている。すなわち、比較例1の前記関数近似システムS′は、学習した状態stにおける行動価値関数Q(st,at)をテーブルに記憶する。このため、学習した状態stについては、前記状態stおける行動価値関数Q(st,at)に基づく適切な行動atが実行されるが、学習していない状態stについては、行動価値関数Q(st,at)が存在せず、前記状態stが試行されて学習されるまで適切な行動atが実行できない。
(Comparative Example 1)
In the function approximation system S ′ of Comparative Example 1, the table reference method is applied to conventionally known reinforcement learning of Q-learning. Compared with the function approximation system S of Experimental Example 1, The value function approximation process and the behavior value function approximation process are omitted. That is, the function approximating system S ′ of the comparative example 1 stores the action value function Q (s t , a t ) in the learned state s t in a table. Therefore, the state s t learned, the state s t definitive action value function Q (s t, a t) is the based on the appropriate action a t is executed, the state s t that is not learned, action value function Q (s t, a t) is absent, it can not be executed appropriate action a t to the state s t is learned being attempted.
なお、比較例1の前記関数近似システムS′では、前記各入力変数x,v,θ,ωが10等分されている。すなわち、前記入力変数x,v,θ,ωが取り得る入力値が10種類に予め設定されている。また、比較例1の銭関数近似システムS′は、実施例1の前記関数近似システムSが、右方向(+Y方向)および左方向(−Y方向)の各移動(行動at)についての前記結合荷重wji,wji′を別々に設けているのに応じて、右方向(+Y方向)および左方向(−Y方向)の各移動(行動at)についての評価用のテーブルを別々に設けている。このため、比較例1で記憶するテーブルのサイズは、2×104(10×10×10×10×2=2×104)で示される。
また、比較例1の前記関数近似システムS′は、実験例1と同様に、前記環境Eの下で実験を行った。
In the function approximation system S ′ of Comparative Example 1, the input variables x, v, θ, and ω are equally divided into ten. In other words, ten types of input values that can be taken by the input variables x, v, θ, and ω are preset. In addition, the money function approximation system S ′ of the first comparative example is the same as the function approximation system S of the first embodiment regarding the movement (action a t ) in the right direction (+ Y direction) and the left direction (−Y direction). According to the connection loads w ji and w ji ′ provided separately, the evaluation table for each movement (action a t ) in the right direction (+ Y direction) and the left direction (−Y direction) is separately provided. Provided. For this reason, the size of the table stored in Comparative Example 1 is indicated by 2 × 10 4 (10 × 10 × 10 × 10 × 2 = 2 × 10 4 ).
Further, the function approximating system S ′ of Comparative Example 1 was tested under the environment E as in Experimental Example 1.
(実験例2)
実験例2の関数近似システムSは、実験例1の前記関数近似システムSと同様の構成において、実験例1の前記環境Eに外乱としての角速度ωfが加えられた環境E′の下で実験を行った。ここで、前記外乱(角速度)ωfは、シミュレータではなく実際に倒立振子を制御する場合に、ユーザが前記棒2を指で左右方向(Y軸方向)に弾く行為に相当する。
(Experimental example 2)
The function approximating system S of Experimental Example 2 has the same configuration as that of the functional approximating system S of Experimental Example 1, and the experiment is performed under an environment E ′ in which an angular velocity ω f as a disturbance is added to the environment E of Experimental Example 1. Went. Here, the disturbance (angular velocity) ω f corresponds to an action in which the user flips the bar 2 with the finger in the left-right direction (Y-axis direction) when actually controlling the inverted pendulum instead of the simulator.
なお、実験例2の前記環境E′では、前記外乱ωfが、前記棒2の角度θおよび角速度ωが所定の範囲の値以下を3秒間維持する度に与えられる。すなわち、所定の範囲の値以下を3秒間維持して安定した状態を安定状態とし、前記安定状態であるか否かを判別するための前記角度θおよび前記角速度ωの最小値をθmin,ωminとし、最大値をθmax,ωmaxとすると、前記角度θおよび前記角速度ωが、θmin≦θ≦θmax,ωmin≦ω≦ωmaxの範囲の値を3秒間維持した場合に前記安定状態であると判別され、前記外乱ωfが与えられる。なお、実験例2では、前記角度θおよび前記角速度ωの最小値θmin,ωminおよび最大値θmax,ωmaxについて、θmin=−2.5[deg],ωmin=−45[deg/s],θmax=2.5[deg],ωmax=45[deg/s]が成立するように予め設定されている(−2.5°≦θ≦2.5°,−45≦ω≦45)。 In the environment E ′ of Experimental Example 2, the disturbance ω f is given each time the angle θ and the angular velocity ω of the rod 2 are kept within a predetermined range for 3 seconds. That is, a state where a value within a predetermined range is maintained for 3 seconds to make a stable state a stable state, and the minimum values of the angle θ and the angular velocity ω for determining whether the state is the stable state are θ min , ω Assuming that the maximum value is θ max and ω max , the angle θ and the angular velocity ω are maintained when the values in the range of θ min ≦ θ ≦ θ max and ω min ≦ ω ≦ ω max are maintained for 3 seconds. It is determined that the state is stable and the disturbance ω f is given. In Experimental Example 2, θ min = −2.5 [deg], ω min = −45 [deg] with respect to the minimum values θ min and ω min and the maximum values θ max and ω max of the angle θ and the angular velocity ω. / S], θ max = 2.5 [deg], and ω max = 45 [deg / s] are set in advance (−2.5 ° ≦ θ ≦ 2.5 °, −45 ≦ ω ≦ 45).
したがって、実験例2の関数近似システムSでは、前記角度θおよび前記角速度ωが、−2.5°≦θ≦2.5°,−45≦ω≦45の範囲の値を3秒間維持した場合に前記安定状態であると判別され、前記外乱ωfが与えられる。
また、実験例2の前記環境E′では、前記外乱ωfが与えられる度に1[deg/s]大きくなるような角速度ωfが、前記外乱ωfとして左右方向(Y軸方向)に対してランダムに与えられる。すなわち、何回目の外乱であるかを示す値(外乱を与える回数)をNωとすると、ωf=Nω[deg/s](左方向(−Y方向)に与える場合にはωf=−Nω[deg/s])が成立し、前記棒2の角速度ωの値(入力値)に加算できる。
Therefore, in the function approximation system S of Experimental Example 2, when the angle θ and the angular velocity ω maintain values in the range of −2.5 ° ≦ θ ≦ 2.5 ° and −45 ≦ ω ≦ 45 for 3 seconds. Is determined to be in the stable state, and the disturbance ω f is given.
Further, in the environment E ′ of Experimental Example 2, an angular velocity ω f that increases by 1 [deg / s] every time the disturbance ω f is applied is defined as the disturbance ω f in the left-right direction (Y-axis direction). And given randomly. That is, if the value indicating the number of disturbances (number of times of disturbance is given) is N ω , ω f = N ω [deg / s] (when given in the left direction (−Y direction), ω f = −N ω [deg / s]) is established and can be added to the value (input value) of the angular velocity ω of the rod 2.
(比較例2)
比較例2の関数近似システムS′は、比較例1の前記関数近似システムS′と同様の構成において、実験例2と同様の前記環境E′の下で実験を行った。なお、比較例2の前記関数近似システムS′は、実験例2の前記関数近似システムSに比べ、学習を収束し易くするために前記状態stを大きく区切っているため(各入力変数x,v,θ,ωの入力値の種類を10種類としたため)、安定するまでに必要な時間が長くなると共に、安定していても各入力変数x,v,θ,ωの入力値の変化量が大きくなっている。このため、比較例2の前記環境E′では、実験例2に比べて安定条件の範囲を緩くするために、前記角度θおよび前記角速度ωの最小値θmin,ωminおよび最大値θmax,ωmaxについて、θmin=−6.0[deg],ωmin=−150[deg/s],θmax=6.0[deg],ωmax=150[deg/s]が成立するように予め設定されている(−6°≦θ≦6°,−150≦ω≦150)。すなわち、比較例2の関数近似システムS′では、前記角度θおよび前記角速度ωが、−6°≦θ≦6°,−150≦ω≦150の範囲の値を3秒間維持した場合に前記安定状態であると判別され、前記外乱ωfが与えられる。さらに、比較例2の前記関数近似システムS′は、安定状態になるまでに必要な時間が長いため、前記棒2の倒立時間に対して、成功状態(棒2を180秒倒立させた状態)である180秒の倒立時間の上限を設けないこととした。
(Comparative Example 2)
The function approximation system S ′ of Comparative Example 2 was subjected to an experiment under the same environment E ′ as in Experiment Example 2 with the same configuration as the function approximation system S ′ of Comparative Example 1. Incidentally, the function approximation system S of Comparative Example 2 ', compared with the function approximation system S of Example 2, since the separated larger the state s t in order to facilitate the convergence of learning (the input variable x, Since the types of input values of v, θ, and ω are 10), the time required for stabilization becomes long, and the amount of change in the input values of the input variables x, v, θ, and ω even if they are stable Is getting bigger. For this reason, in the environment E ′ of the comparative example 2, in order to loosen the range of the stability condition as compared with the experimental example 2, the minimum values θ min , ω min and the maximum values θ max of the angle θ and the angular velocity ω For ω max , θ min = −6.0 [deg], ω min = −150 [deg / s], θ max = 6.0 [deg], and ω max = 150 [deg / s]. It is set in advance (−6 ° ≦ θ ≦ 6 °, −150 ≦ ω ≦ 150). That is, in the function approximating system S ′ of Comparative Example 2, the angle θ and the angular velocity ω are stable when the values in the range of −6 ° ≦ θ ≦ 6 ° and −150 ≦ ω ≦ 150 are maintained for 3 seconds. Is determined to be in the state, and the disturbance ω f is given. Furthermore, since the time required for the function approximation system S ′ of Comparative Example 2 to be in a stable state is long, the function approximation system S ′ is in a successful state with respect to the inversion time of the rod 2 (the state in which the rod 2 is inverted for 180 seconds). The upper limit of the inversion time of 180 seconds is not set.
(実験例3)
実験例3の関数近似システムSは、実験例1の前記関数近似システムSと同様の構成において、実験例1の前記環境Eに観測ノイズとして前記台車1の位置xおよび前記棒2の角度θに誤差Δx,Δθが加えられた環境E″の下で実験を行った。ここで、前記観測ノイズΔx,Δθは、シミュレータではなく実際に倒立振子を制御する場合に、前記台車1に設けられるセンサ(位置測定センサ、傾斜角度測定センサ等)のノイズ、いわゆる、センサノイズに相当する。なお、実験例3の前記環境E″では、前記観測ノイズΔx,Δθは、時間k×t(k=0,1,2,…,kmax)毎に乱数を発生させて、前記位置xに±0.05[m]の範囲の誤差Δx、前記角度θに±0.5[deg]の範囲の誤差Δθとして与えられる。
(比較例3)
比較例3の関数近似システムS′は、比較例1の前記関数近似システムS′と同様の構成において、実験例3と同様の前記環境E″の下で実験を行った。
(Experimental example 3)
The function approximating system S of Experimental Example 3 has the same configuration as that of the functional approximating system S of Experimental Example 1. Experiments were performed under an environment E ″ to which errors Δx and Δθ were added. Here, the observation noises Δx and Δθ are sensors provided in the carriage 1 when actually controlling an inverted pendulum instead of a simulator. This corresponds to so-called sensor noise (position measurement sensor, tilt angle measurement sensor, etc.) In the environment E ″ of Experimental Example 3, the observation noises Δx and Δθ are time k × t (k = 0). , 1, 2,..., K max ), a random number is generated at each position x, an error Δx in the range of ± 0.05 [m] at the position x, and an error in the range of ± 0.5 [deg] at the angle θ. It is given as Δθ.
(Comparative Example 3)
The function approximation system S ′ of Comparative Example 3 was tested under the same environment E ″ as in Experiment Example 3 with the same configuration as the function approximation system S ′ of Comparative Example 1.
(実験結果)
また、実験例1〜3および比較例1〜3の実験結果について以下に示す。
(Experimental result)
Moreover, it shows below about the experimental result of Experimental Examples 1-3 and Comparative Examples 1-3.
(実験例1および比較例1の実験結果について)
図9は実験例の実験結果の説明図であり、横軸に倒立振子制御処理の試行回数(エピソード数)をとり、縦軸に倒立振子制御処理の試行時間(棒が倒立し続けた時間)をとって、実験例1の学習効率と比較例1の学習効率とを比較するためのグラフであり、図9Aは実験例1の実験結果を示すグラフであり、図9Bは比較例1の実験結果を示すグラフである。
図9A、図9Bに示すように、実験例1の前記関数近似システムSは、約10回の試行(エピソード)で成功状態(棒2を180秒倒立させた状態)となったのに対し、比較例1の前記関数近似システムS′は、成功状態となるまでに約1300回の試行が必要であったことがわかる。すなわち、実験例1の前記関数近似システムSは、比較例1の前記関数近似システムS′に比べ、学習の立ち上がりが早く、学習能力(汎化能力)が高いことがわかる。
(Experimental results of Experimental Example 1 and Comparative Example 1)
FIG. 9 is an explanatory diagram of the experimental results of the experimental example. The horizontal axis indicates the number of trials of the inverted pendulum control process (number of episodes), and the vertical axis indicates the trial time of the inverted pendulum control process (the time during which the bar has been inverted). 9A is a graph for comparing the learning efficiency of Experimental Example 1 with the learning efficiency of Comparative Example 1, FIG. 9A is a graph showing the experimental results of Experimental Example 1, and FIG. 9B is the experiment of Comparative Example 1. It is a graph which shows a result.
As shown in FIGS. 9A and 9B, the function approximation system S of Experimental Example 1 is in a successful state (a state in which the rod 2 is inverted for 180 seconds) after about 10 trials (episodes). It can be seen that the function approximating system S ′ of Comparative Example 1 required about 1300 trials before it became a successful state. That is, it can be seen that the function approximation system S of Experimental Example 1 has a faster learning start and higher learning ability (generalization ability) than the function approximation system S ′ of Comparative Example 1.
なお、図9Aにおいて、実験例1の前記関数近似システムSは、始めて成功状態となった後も、失敗状態(棒2が倒れた状態)となる試行が度々見受けられる。この実験結果については、以下のように考えられる。すなわち、実験例1の前記関数近似システムSでは、前記入力変数(角度)θは、入力値θ(k),θ(k+1)が0.0[deg]の付近であれば(θ(k)≒0,θ(k+1)≒0)、前記時間がk×tから(k+1)×tに変化したときの僅かな入力値の変化で(θ(k+1)−θ(k)≒0)、変化後の状態パターンSθ(k+1)が、変化前の状態パターンSθ(k)に比べて大きく変化し、それ以外の入力値θ(k),θ(k+1)であれば、僅かな入力値の変化では、変化後の状態パターンSθ(k+1)が、変化前の状態パターンSθ(k)比べて大きく変化しないように予め設定されている。 In FIG. 9A, the function approximation system S of Experimental Example 1 often shows trials that are in a failed state (a state in which the rod 2 is collapsed) even after the first successful state. The results of this experiment are considered as follows. That is, in the function approximation system S of Experimental Example 1, the input variable (angle) θ is (θ (k)) when the input values θ (k) and θ (k + 1) are in the vicinity of 0.0 [deg]. ≒ 0, θ (k + 1) ≒ 0), a slight change in input value when the time changes from k × t to (k + 1) × t (θ (k + 1)-θ (k) ≒ 0), change If the subsequent state pattern S θ (k + 1) changes significantly compared to the state pattern S θ (k) before the change, and the other input values θ (k) and θ (k + 1), the input value is small. In this change, the state pattern S θ (k + 1) after the change is set in advance so as not to change significantly compared to the state pattern S θ (k) before the change.
また、前記結合荷重wji,wji′を学習するか否かを判別するために、時間がk×tから(k+1)×t(k=0,1,…,kmax)に変化したときの入力変数x,v,θ,ωの状態パターンSx,Sv,Sθ,Sωが類似し(例えば、状態パターンSx,Sv,Sθ,Sωの9割以上が変化しておらず)、且つ、出力変数Q(st,at)の状態パターンTQが変化していないか否かを判別している(図8のST202参照)。
したがって、実験例1の前記関数近似システムSは、前記結合荷重wji,wji′の学習について、安定状態(−1°≦θ≦1°)を維持するための学習の機会が多くなり、安定状態ではない状態から安定状態になるまでの学習の機会が少なくなる。このため、前記角度θの初期値θ(0)が安定状態(−1°≦θ≦1°)よりも大きな角度(例えば、θ(0)=3[deg])で開始された場合に、失敗状態となる可能性が大きくなったものと推察される。
When the time changes from k × t to (k + 1) × t (k = 0, 1,..., K max ) in order to determine whether or not to learn the connection weights w ji and w ji ′. State variables S x , S v , S θ , S ω are similar (for example, 90% or more of the state patterns S x , S v , S θ , S ω change). and yet not), and the output variable Q (s t, it is determined whether or not the state pattern T Q of a t) does not change (see ST202 of FIG. 8).
Therefore, the function approximating system S of Experimental Example 1 has more opportunities for learning to maintain a stable state (−1 ° ≦ θ ≦ 1 °) for learning of the coupling weights w ji and w ji ′. There are fewer opportunities for learning from a non-stable state to a stable state. Therefore, when the initial value θ (0) of the angle θ is started at an angle larger than the stable state (−1 ° ≦ θ ≦ 1 °) (for example, θ (0) = 3 [deg]), It is presumed that the possibility of failure has increased.
また、図9Bにおいて、比較例1の前記関数近似システムS′は、始めて成功状態となった後は、ほぼ安定して成功状態となる試行が繰り返されている。この実験結果によって、比較例1の前記関数近似システムS′では、学習が収束するために、すなわち、2×104通りのテーブルに適切な行動価値関数Q(st,at)が設定されるために、約1300回もの試行が必要であったが、前記テーブルに適切な行動価値関数Q(st,at)が設定されれば、それ以降は安定して成功状態となる試行を繰り返すことができることがわかる。 Further, in FIG. 9B, after the function approximation system S ′ of the comparative example 1 is in a successful state for the first time, trials that are in a stable state in a stable state are repeated. According to the experimental results, in the function approximation system S ′ of the comparative example 1, learning is converged, that is, an appropriate action value function Q (s t , a t ) is set in 2 × 10 4 tables. Therefore, about 1300 trials are necessary, but if an appropriate action value function Q (s t , a t ) is set in the table, trials that are stable and succeed after that are performed. You can see that it can be repeated.
(実験例2および比較例2の実験結果について)
図10は実験例の実験結果の説明図であり、横軸に倒立振子制御処理の試行回数(エピソード数)をとり、縦軸に倒立振子制御処理の試行時間(棒が倒立し続けた時間)および外乱を与えた回数(棒を指で弾いた回数)をとって、実験例2の学習効率と比較例2の学習効率とを比較するためのグラフであり、図10Aは実験例2の実験結果を示すグラフであり、図10Bは比較例2の実験結果を示すグラフである。
(Experimental results of Experimental Example 2 and Comparative Example 2)
FIG. 10 is an explanatory diagram of the experimental results of the experimental example, where the horizontal axis represents the number of trials of the inverted pendulum control process (number of episodes), and the vertical axis represents the trial time of the inverted pendulum control process (the time during which the rod continued to be inverted). FIG. 10A is a graph for comparing the learning efficiency of Experimental Example 2 and the learning efficiency of Comparative Example 2 by taking the number of times disturbance was applied (number of times the stick was played with a finger), and FIG. FIG. 10B is a graph showing the experimental results of Comparative Example 2.
図10Aに示すように、実験例2の前記関数近似システムSでは、約50回から100回程度の試行により、試行回数(エピソード数)に対する試行時間k×t(k=0,1,…,kmax(9000))の波形(図10Aの実線参照)が、試行回数に対する前記外乱ωfを与えた回数Nωの波形(図10Aの点線参照)に対応している。すなわち、波形が類似してくることがわかる。
これに対し、図10Bに示すように、比較例2の前記関数近似システムS′では、試行回数に対する試行時間k×t(k=0,1,…,kmax(9000))の波形(図10Bの実線参照)が、試行回数に対する前記外乱ωfを与えた回数Nωの波形(図10Bの点線参照)に対応するまでに(波形が類似してくるまでに)、約6000回もの試行が必要であったことがわかる。
As shown in FIG. 10A, in the function approximating system S of Experimental Example 2, the trial time k × t (k = 0, 1,...) With respect to the number of trials (number of episodes) by about 50 to 100 trials. The waveform of k max (9000)) (see the solid line in FIG. 10A) corresponds to the waveform of the number of times N ω (see the dotted line in FIG. 10A) given the disturbance ω f with respect to the number of trials. That is, it can be seen that the waveforms are similar.
On the other hand, as shown in FIG. 10B, in the function approximation system S ′ of Comparative Example 2, the waveform of the trial time k × t (k = 0, 1,..., K max (9000)) with respect to the number of trials (FIG. 10B). see the solid line of 10B) is a waveform of times N omega gave the disturbance omega f against attempts (so far (waveform until corresponding to dashed see FIG. 10B) come to similar), also attempted to about 6000 times It was found that was necessary.
なお、図10Bにおいて、比較例2の前記関数近似システムS′では、約4000回程度の試行で、十分な試行時間(倒立時間)が得られているように見受けられるが、約4000回までの試行における前記外乱ωfを与えた回数Nωが非常に少ないため、安定状態となるまでに非常に時間がかかっているだけであることがわかる。また、約4000回から約6000回までの試行では、前記外乱ωfを殆ど与えていないにも関わらず、試行時間が非常に短くなっている。したがって、比較例2の前記関数近似システムS′は、学習が収束するために約6000回の試行が必要であったことがわかる。
この結果、実験例2の前記関数近似システムSは、比較例2の前記関数近似システムS′に比べ、外乱ωfに対する適応能力が約60〜120倍(6000/100=60,6000/50=120)ほど高いことがわかる。
In FIG. 10B, in the function approximation system S ′ of Comparative Example 2, it seems that sufficient trial time (inversion time) is obtained in about 4000 trials, but up to about 4000 times. It can be seen that since the number of times N ω given the disturbance ω f in the trial is very small, it only takes a very long time to reach a stable state. In addition, in the trial from about 4000 times to about 6000 times, the trial time is very short although the disturbance ω f is hardly given. Therefore, it can be seen that the function approximation system S ′ of Comparative Example 2 required about 6000 trials for the learning to converge.
As a result, the function approximation system S of Example 2, compared with the function approximation system S 'of Comparative Example 2, the disturbance ω adaptability of about 60 to 120 times with respect to f (6000/100 = 60,6000 / 50 = 120).
(実験例3および比較例3の実験結果について)
図11は実験例の実験結果の説明図であり、横軸に倒立振子制御処理の試行回数(エピソード数)をとり、縦軸に倒立振子制御処理の試行時間(棒が倒立し続けた時間)をとって、実験例3の学習効率と比較例3の学習効率とを比較するためのグラフであり、図11Aは実験例3の実験結果を示すグラフであり、図11Bは比較例3の実験結果を示すグラフである。
(Experimental results of Experimental Example 3 and Comparative Example 3)
FIG. 11 is an explanatory diagram of the experimental results of the experimental example, where the horizontal axis represents the number of trials of the inverted pendulum control process (number of episodes), and the vertical axis represents the trial time of the inverted pendulum control process (the time during which the bar continued to be inverted). 11A is a graph for comparing the learning efficiency of Experimental Example 3 with the learning efficiency of Comparative Example 3, FIG. 11A is a graph showing the experimental results of Experimental Example 3, and FIG. 11B is the experiment of Comparative Example 3 It is a graph which shows a result.
図11A、図11Bに示すように、実験例3の前記関数近似システムSは、約10回の試行(エピソード)で成功状態となったのに対し、比較例3の前記関数近似システムS′は、成功状態となるまでに約1300回の試行が必要であったことがわかる。また、実験例3の前記関数近似システムSは、約70回の試行で、観測ノイズΔx,Δθの影響を受けずに安定して成功状態が得られるようになったのに対し、比較例3の前記関数近似システムS′は、約1500回の試行が行われても、安定して成功状態が得られていないことがわかる。すなわち、実験例3の前記関数近似システムSは、比較例3の前記関数近似システムS′に比べ、観測ノイズΔx,Δθに対する適応能力が高いことがわかる。 As shown in FIGS. 11A and 11B, the function approximating system S of Experimental Example 3 has succeeded in about 10 trials (episodes), whereas the function approximating system S ′ of Comparative Example 3 is It can be seen that about 1300 trials were required to reach a successful state. In addition, the function approximation system S of Experimental Example 3 can stably obtain a successful state without being affected by the observation noises Δx and Δθ in about 70 trials, whereas Comparative Example 3 It can be seen that the function approximation system S ′ of FIG. 1 does not stably obtain a successful state even after about 1500 trials. That is, it can be seen that the function approximation system S of Experimental Example 3 has higher adaptability to the observation noises Δx and Δθ than the function approximation system S ′ of Comparative Example 3.
また、図11Aにおいて、実験例3の前記関数近似システムSは、約70回の試行で安定して成功状態が得られるようになった後、失敗状態(棒2が倒れた状態)となる試行が実験例1に比べて少なくなったことがわかる。この実験結果については、以下のように考えられる。すなわち、前記観測ノイズΔx,Δθにより、前記入力変数x,v,θ,ωが取りうる入力値x(k),v(k),θ(k),ω(k)(k=0,1,…,kmax(9000))の範囲が、実験例1の前記関数近似システムSに比べて広くなっている。このため、実験例3の前記関数近似システムSは、実験例1の前記関数近似システムSに比べて、安定状態ではない状態から安定状態になるまでの学習の機会が多くなり、より安定して成功状態となる試行を繰り返すことができるようになったと推察される。 Further, in FIG. 11A, the function approximating system S of Experimental Example 3 is a trial that becomes a failed state (a state in which the rod 2 is collapsed) after a successful state is stably obtained in about 70 trials. It can be seen that the number is less than that of Experimental Example 1. The results of this experiment are considered as follows. That is, the input values x (k), v (k), θ (k), ω (k) (k = 0, 1) that the input variables x, v, θ, ω can take due to the observation noises Δx, Δθ. ,..., K max (9000)) is wider than that of the function approximation system S of Experimental Example 1. For this reason, the function approximation system S of Experimental Example 3 has more opportunities for learning from the non-stable state to the stable state, and is more stable than the function approximation system S of Experimental Example 1. It is inferred that the trial to become a successful state can be repeated.
また、図11Bにおいて、比較例3の前記関数近似システムS′は、比較例1の前記関数近似システムS′に比べ、始めて成功状態となった後も、安定して成功状態となる試行を繰り返すことができなくなったことがわかる。この実験結果については、以下のように考えられる。すなわち、比較例1〜3の前記関数近似システムS′では、学習を収束し易くするために前記状態stを大きく区切っているため(各入力変数x,v,θ,ωの入力値の種類を10種類としたため)、安定状態でも前記入力変数x,v,θ,ωの入力値x(k),v(k),θ(k),ω(k)(k=0,1,…,kmax(9000))が取り得る値の範囲が広く、前記台車1および前記棒2の移動が、実験例3の前記関数近似システムSと比べて大きくなる。この状態から、さらに前記観測ノイズΔx,Δθが加えられると、安定状態を維持したり、安定状態でない状態から安定状態にしたりする適切な行動atがより選択し難くなる。この結果、学習が収束し難くなってしまい、安定して成功状態となる試行を繰り返すことができなくなったものと推察される。 Further, in FIG. 11B, the function approximation system S ′ of the comparative example 3 repeats trials that stably become a successful state even after the success of the function approximation system S ′ of the comparative example 1 for the first time. I can't understand that The results of this experiment are considered as follows. That is, in the function approximation system S ′ of Comparative Examples 1 to 3, the state st is largely divided in order to facilitate learning (types of input values of the input variables x, v, θ, and ω). 10), the input values x (k), v (k), θ (k), ω (k) (k = 0, 1,...) Of the input variables x, v, θ, ω even in a stable state. , K max (9000)) can take a wide range of values, and the movement of the carriage 1 and the rod 2 is larger than that of the function approximation system S of Experimental Example 3. From this state, further the observation noise [Delta] x, when Δθ is added, or to maintain a stable state, it becomes difficult to select appropriate actions a t Gayori or a stable state from a state not in a stable state. As a result, it is presumed that learning becomes difficult to converge, and it is impossible to repeat trials that stably become successful.
前記実験結果により、実施例1の関数近似システムSは、前記行動価値関数近似処理および前記行動価値関数学習処理が実行されない従来公知の関数近似システムS′に比べ、学習能力(汎化能力)を大幅に高くすることができると共に、外乱ωfや観測ノイズΔx,Δθ等を含む未知の環境E′,E″に対しての適用能力も大幅に高くすることができる。すなわち、実施例1の関数近似システムSは、シミュレータではなく、実際に倒立振子を制御する装置(関数近似装置)に適用される場合にも、従来公知の関数近似システムS′に比べ、より適切に倒立振子を制御することができる。 Based on the experimental results, the function approximation system S of the first embodiment has learning ability (generalization ability) compared to the conventionally known function approximation system S ′ in which the action value function approximation process and the action value function learning process are not executed. In addition to being able to greatly increase, the applicability to unknown environments E ′ and E ″ including disturbance ω f and observation noises Δx, Δθ, etc. can also be greatly increased. The function approximating system S controls the inverted pendulum more appropriately than the conventionally known function approximating system S ′ even when applied to a device (function approximating device) that actually controls the inverted pendulum instead of the simulator. be able to.
また、実施例1の関数近似システムSでは、前記中間変数yとしての12個の各積型修飾x(v),v(x),x(θ),θ(x),x(ω),ω(x),v(θ),θ(v),v(ω),ω(v),θ(ω),ω(θ)については、前記多変数相互修飾モデルNの入力層Na(図4参照)から前記入力変数x,v,θ,ωの状態パターンSx,Sv,Sθ,Sωが与えられた場合には、それぞれ並列で演算される(図7のST102a〜ST102m参照)。したがって、例えば、複数のLSI(Large-Scale Integrated circuit:大規模集積回路)等のハードウェアにより、各積型修飾x(v),v(x),x(θ),θ(x),x(ω),ω(x),v(θ),θ(v),v(ω),ω(v),θ(ω),ω(θ)が並列で演算される場合には、前記中間変数yを高速で演算でき(12個のLSIならば約12倍の速度で演算でき、6個のLSIならば約6倍の速度で演算でき)、前記行動価値関数近似処理の演算時間を低減できる。 In the function approximation system S of the first embodiment, the twelve product type modifications x (v), v (x), x (θ), θ (x), x (ω), For ω (x), v (θ), θ (v), v (ω), ω (v), θ (ω), and ω (θ), the input layer Na (see FIG. 4), the state patterns S x , S v , S θ , S ω of the input variables x, v, θ, ω are given in parallel (see ST102a to ST102m in FIG. 7). ). Therefore, for example, each product type modification x (v), v (x), x (θ), θ (x), x by hardware such as a plurality of LSIs (Large-Scale Integrated circuits). When (ω), ω (x), v (θ), θ (v), v (ω), ω (v), θ (ω), ω (θ) are calculated in parallel, the intermediate Variable y can be calculated at high speed (12 LSIs can be calculated at about 12 times faster, and 6 LSIs can be calculated at about 6 times faster), reducing the calculation time of the action value function approximation process. it can.
(変更例)
以上、本発明の実施例を詳述したが、本発明は、前記実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内で、種々の変更を行うことが可能である。本発明の変更例(H01)〜(H08)を下記に例示する。
(H01)本発明の実施例1の前記関数近似システムSは、いわゆる、倒立振子問題を解決するためのシミュレータとして構成されているが、シミュレータに限定されず、現実の制御機器の制御部にも適用可能である。また、課題についても倒立振子問題に限定されず、その他の課題、例えば、二足歩行の制御を行うロボット等や、画像や音声等のパターン認識装置等に適用することも可能である。
(Example of change)
As mentioned above, although the Example of this invention was explained in full detail, this invention is not limited to the said Example, A various change is performed within the range of the summary of this invention described in the claim. It is possible. Modification examples (H01) to (H08) of the present invention are exemplified below.
(H01) The function approximating system S according to the first embodiment of the present invention is configured as a simulator for solving the so-called inverted pendulum problem, but is not limited to the simulator, and is also used in a control unit of an actual control device. Applicable. Also, the problem is not limited to the inverted pendulum problem, and can be applied to other problems, for example, a robot that controls bipedal walking, a pattern recognition device for images and sounds, and the like.
(H02)本発明の実施例では、倒立振子問題を解決するために、Q−learningの強化学習が適用されているが、これに限定されず、Q−learning以外のアルゴリズムを適用することも可能である。すなわち、前記行動評価関数Q(st,at)以外の関数を近似することも可能である。また、課題によっては、強化学習を適用せずに、前記多変数相互修飾モデルNによって関数を近似する機能(図6のST6、図7のST101〜ST103参照)のみを抽出して、前記課題を解決する関数近似装置を構成することも可能である。すなわち、本発明の選択的不感化法が適用された層状ニューラルネット(多変数相互修飾モデルN等)により、前記課題である関数(非線形関数等)を近似する前記関数近似装置を構成することも可能である。 (H02) In the embodiment of the present invention, the reinforcement learning of Q-learning is applied to solve the inverted pendulum problem. However, the present invention is not limited to this, and an algorithm other than Q-learning can be applied. It is. That is, it is possible to approximate a function other than the behavior evaluation function Q (s t , a t ). Further, depending on the problem, only the function (see ST6 in FIG. 6 and ST101 to ST103 in FIG. 7) that approximates the function by the multivariable mutual modification model N without applying reinforcement learning is extracted, and the problem is solved. It is also possible to configure a function approximating device to be solved. That is, the function approximating device for approximating the function (nonlinear function or the like) as the problem may be configured by a layered neural network (multivariable mutual modification model N or the like) to which the selective desensitization method of the present invention is applied. Is possible.
(H03)本発明の実施例では、前記多変数相互修飾モデルNにおいて、前記入力層Naを、4つの入力変数x,v,θ,ωにより構成したが、これに限定されず、3つの入力変数の場合や、5以上の入力変数の場合についても構成可能である。
また、本発明の実施例では、前記中間層Nbの中間変数yを、4つの入力変数x,v,θ,ωのうちの2つずつを1組として相互に積型文脈修飾された12個の各積型修飾x(v),v(x),x(θ),θ(x),x(ω),ω(x),v(θ),θ(v),v(ω),ω(v),θ(ω),ω(θ)により構成し、前記中間変数yの状態パターンSyを12n個の素子により構成したが(図4、式(11)参照)、これに限定されず、相互に積型文脈修飾しないようにすることも可能である。
例えば、最小の構成として、4つの入力変数x,v,θ,ωのうちの2つずつ((x,v),(θ,ω))を1組として積型文脈修飾された2個の各積型修飾x(v),θ(ω)だけを前記中間変数yとして、前記中間変数yの状態パターンSyを2n個の素子により構成することも可能である。この場合、前記中間変数yの状態パターンSyについて、Sy=(y1,y2,…,y2n)=(yxv1,yxv2,…,yxvn,yθω1,yθω2,…,yθωn)が成立する。なお、本願明細書では、本発明の最小の構成である前記層状ニューラルネットを、実施例1の「多変数相互修飾モデルN」に対して、「多変数積型モデル」と呼ぶこととする。
さらに、本発明の実施例では、出力層Ncを、1つの出力変数Q(st,at)により構成したが、これに限定されず、複数の出力変数で構成することも可能である。
(H03) In the embodiment of the present invention, in the multivariable mutual modification model N, the input layer Na is configured by four input variables x, v, θ, ω, but the present invention is not limited to this. The case of variables and the case of five or more input variables can also be configured.
In the embodiment of the present invention, the intermediate variable y of the intermediate layer Nb is set to 12 of the four input variables x, v,. Product type modifications x (v), v (x), x (θ), θ (x), x (ω), ω (x), v (θ), θ (v), v (ω), The state pattern S y of the intermediate variable y is composed of 12n elements (see FIG. 4, equation (11)), but is limited to this. It is also possible not to mutually modify the product type context.
For example, as a minimum configuration, two of the four input variables x, v, θ, ω ((x, v), (θ, ω)) are set as a pair, and the product type context modified two Only the product type modifications x (v) and θ (ω) may be the intermediate variable y, and the state pattern S y of the intermediate variable y may be configured by 2n elements. In this case, for the state pattern S y of the intermediate variable y, S y = (y 1 , y 2 ,..., Y 2n ) = (y xv1 , y xv2 ,..., Y xvn , y θω1 , y θω2,. yθωn ) holds. In the present specification, the layered neural network having the minimum configuration of the present invention is referred to as a “multivariate product model” with respect to the “multivariate mutual modification model N” in the first embodiment.
Furthermore, in the embodiment of the present invention, the output layer Nc is configured by one output variable Q (s t , a t ), but is not limited thereto, and may be configured by a plurality of output variables.
(H04)本発明の実施例の多変数相互修飾モデルN(図4参照)における入力変数x,v,θ,ωおよび中間変数yとしての各積型修飾x(v),v(x),x(θ),θ(x),x(ω),ω(x),v(θ),θ(v),v(ω),ω(v),θ(ω),ω(θ)の各素子数nの値については任意に設定可能であり、例えば、n=1とすることも可能である。この場合、入力変数x,v,θ,ωの数と入力層Naの素子数とが等しくなる(4n=4×1=4)。
したがって、本発明の選択的不感化法が適用された層状ニューラルネットにおいて、前記入力層(Na)の素子数がnで固定されている場合、最大の構成である前記多変数相互修飾モデル(N)では、前記中間層(Nb)の素子数の最大値がn(n−1)となる。すなわち、素子数1のn個の入力変数が存在した場合、前記最大値について、nP2=n(n−1)が成立する。また、最小の構成である前記多変数積型モデルは、前記中間層の素子数の最小値がn/2となる。すなわち、素子数n/4の4つの入力変数が存在した場合、前記最小値について、n/4×2=n/2が成立する。
この結果、本発明の選択的不感化法が適用された層状ニューラルネットは、入力層の素子数がn個で構成されている場合には、中間層の素子数はn/2〜n(n−1)個の範囲で構成できる。
(H04) Each product type modification x (v), v (x), as the input variable x, v, θ, ω and intermediate variable y in the multivariable mutual modification model N (see FIG. 4) of the embodiment of the present invention. x (θ), θ (x), x (ω), ω (x), v (θ), θ (v), v (ω), ω (v), θ (ω), ω (θ) The value of each element number n can be arbitrarily set, and for example, n = 1 can be set. In this case, the number of input variables x, v, θ, ω is equal to the number of elements in the input layer Na (4n = 4 × 1 = 4).
Therefore, in the layered neural network to which the selective desensitization method of the present invention is applied, when the number of elements of the input layer (Na) is fixed at n, the multivariable mutual modification model (N ), The maximum value of the number of elements of the intermediate layer (Nb) is n (n−1). That is, when there are n input variables having the number of elements of 1, n P 2 = n (n−1) holds for the maximum value. In the multivariate product model having the minimum configuration, the minimum value of the number of elements in the intermediate layer is n / 2. That is, when there are four input variables with the number of elements n / 4, n / 4 × 2 = n / 2 holds for the minimum value.
As a result, in the layered neural network to which the selective desensitization method of the present invention is applied, when the number of elements in the input layer is n, the number of elements in the intermediate layer is n / 2 to n (n -1) It can be composed of a range.
(H05)本発明の実施例1における各定数M,m,L,t,g,α,γの設定値および各変数x,v,θ,ω,a,b,k,F,wji,wji′の初期値や取り得る値の範囲等については任意に変更可能である。
(H06)本発明の実施例では、前記行動価値関数学習処理(図6のST13、図8のST201〜ST212参照)が、前記倒立振子制御処理(図6のST1〜ST12参照)が失敗状態で終了した場合にのみ実行されるが(図6のST11参照)、これに限定されず、成功状態で終了した場合(図6のST10参照)についても実行することが可能である。この場合、Q−learningの強化学習(図6のST9、式(8)参照)により更新された最新の行動価値関数Q(st,at)に基づいて、前記結合荷重wji,wji′が学習されるため、実施例1の前記関数近似システムSに比べて演算ステップが増加するが、行動価値関数Q(st,at)についての学習の収束をより早くすることができる。
(H05) The set values of the constants M, m, L, t, g, α, γ and the variables x, v, θ, ω, a, b, k, F, w ji , in the first embodiment of the present invention. The initial value of w ji ′, the range of possible values, and the like can be arbitrarily changed.
(H06) In the embodiment of the present invention, the behavior value function learning process (see ST13 in FIG. 6 and ST201 to ST212 in FIG. 8) is in the failed state, and the inverted pendulum control process (see ST1 to ST12 in FIG. 6) is in a failed state. Although it is executed only when it ends (see ST11 in FIG. 6), it is not limited to this, and it can also be executed when it ends in a successful state (see ST10 in FIG. 6). In this case, based on the latest action value function Q (s t , a t ) updated by the reinforcement learning of Q-learning (see ST9 in FIG. 6, equation (8)), the combined weights w ji , w ji Since ′ is learned, the number of calculation steps is increased as compared with the function approximation system S of the first embodiment, but the learning convergence on the action value function Q (s t , a t ) can be accelerated.
(H07)本発明の実施例では、前記多変数相互修飾モデルNの中間層Nbを1層としたが、これに限定されず、中間層Nbを複数層とすることも可能である。
(H08)本発明の実施例では、前記各入力変数x,v,θ,ωから中間変数y(y=(x(v),v(x),x(θ),θ(x),x(ω),ω(x),v(θ),θ(v),v(ω),ω(v),θ(ω),ω(θ)))が演算される場合に、いわゆる、選択的不感化が行われ(式(9−1),(9−2),(10−1),(10−2)参照)、中間変数yから前記出力変数Q(st,at)が演算される場合には従来公知の多層パーセプトロンと同様に演算されて選択的不感化が行われないが、これに限定されず、前記中間変数yから前記出力変数Q(st,at)を演算する場合にも選択的不感化を適用することも可能である。例えば、中間変数yとして、y=(x(v),θ(ω)))が演算される場合に、すなわち、入力変数vで選択的不感化された入力変数x(積型修飾x(v))と、入力変数ωで選択的不感化された入力変数θ(積型修飾θ(ω))とを中間変数yとした場合に、前記積型修飾θ(ω)で前記積型修飾x(v)を選択的不感化した後(積型文脈修飾した後)、前記結合荷重wji,wji′に基づいて前記出力変数Q(st,at)を演算することも可能である(式(11),(12−1),(12−2)参照)。さらに、前記各入力変数x,v,θ,ωから中間変数yが演算される場合に選択的不感化を行わずに従来公知の多層パーセプトロンと同様に演算し、中間変数yから前記出力変数Q(st,at)が演算される場合に選択的不感化を行うことも可能である。
(H07) In the embodiment of the present invention, the intermediate layer Nb of the multivariable mutual modification model N is one layer. However, the present invention is not limited to this, and the intermediate layer Nb may be a plurality of layers.
(H08) In the embodiment of the present invention, the intermediate variables y (y = (x (v), v (x), x (θ), θ (x), x) are calculated from the input variables x, v, θ, ω. (Ω), ω (x), v (θ), θ (v), v (ω), ω (v), θ (ω), ω (θ))) are calculated. Desensitization is performed (see equations (9-1), (9-2), (10-1), and (10-2)), and the output variable Q (s t , a t ) is changed from the intermediate variable y. When it is calculated, it is calculated in the same manner as a conventionally known multilayer perceptron and is not selectively desensitized. However, the present invention is not limited to this, and the output variable Q (s t , a t ) is calculated from the intermediate variable y. It is also possible to apply selective desensitization when calculating. For example, when y = (x (v), θ (ω))) is calculated as the intermediate variable y, that is, the input variable x (product type modification x (v )) And the input variable θ (product type modification θ (ω)) selectively desensitized by the input variable ω as an intermediate variable y, the product type modification x (ω) is used as the product type modification x. After selectively desensitizing (v) (after product-type context modification), it is also possible to calculate the output variable Q (s t , a t ) based on the coupling weights w ji , w ji ′. (See formulas (11), (12-1), (12-2)). Further, when the intermediate variable y is calculated from each of the input variables x, v, θ, and ω, the calculation is performed in the same manner as a conventionally known multilayer perceptron without performing selective desensitization, and the output variable Q is calculated from the intermediate variable y. It is also possible to perform selective desensitization when (s t , a t ) is computed.
前述の本発明の選択的不感化法が適用された層状ニューラルネット(多変数相互修飾モデルN、多変数積型モデル等)により、課題を関数(非線形関数等)として近似する関数近似装置、関数近似システムおよび関数近似プログラムを作製し、実時間で学習可能な課題についての制御を行う学習制御機器、例えば、自律行動型のロボットや、画像や音声等のパターン認識装置等の制御に適用することにより、学習時間を大幅に低減させたり、未知の環境に対する適応能力を向上させたりすることが可能となる。 A function approximation device and function for approximating a problem as a function (non-linear function, etc.) using a layered neural network (multivariable mutual modification model N, multivariate product model, etc.) to which the selective desensitization method of the present invention is applied. Create an approximation system and a function approximation program, and apply it to the control of learning control devices that control tasks that can be learned in real time, such as autonomous behavior type robots, pattern recognition devices for images and sounds, etc. As a result, the learning time can be greatly reduced, and the adaptability to an unknown environment can be improved.
A,1…制御装置、
AP1…関数近似プログラム、
at…行動、
C…関数近似装置、
C2…状態測定手段、
C3…行動実行手段、
C3A…行動選択手段、
C4…報酬取得手段、
C5…行動価値関数演算手段、
C7A…入力変数入力手段、
C7C…中間変数演算手段、
C7C1a+C7C1b…第1中間変数演算手段、
C7C1c+C7C1d…第2中間変数演算手段、
C7E…出力変数演算手段、
C7G…結合荷重学習手段、
C8…制御終了判別手段、
E…環境、
N…層状ニューラルネット、
Na…入力層、
Nb…中間層、
Nc…出力層、
Q(at,st),Q(at+1,st+1)…行動価値関数、
Q(at,st)…関数、出力変数、
rt,rt+1…報酬、
S…強化学習システム,関数近似システム、
(q1,q2,…,qm),(q1′,q2′,…,qm′)…出力素子
st,st+1…状態、
(sx1,sx2,…,sxn,sv1,sv2,…,svn,sθ1,sθ2,…,sθn,sω1,sω2,…,sωn)…入力素子、
(t1,t2,…,tm),(t1′,t2′,…,tm′)…関数の実際の値、
wji,wji′…結合荷重、
x,v,θ,ω…入力変数、
y…中間変数、
(y1,y2,…,y12n)…中間素子。
A, 1 ... control device,
AP1 ... Function approximation program,
a t ... action,
C: Function approximation device,
C2 ... state measuring means,
C3 ... Action execution means,
C3A ... Action selection means,
C4 ... Reward acquisition means,
C5: Action value function calculation means,
C7A: Input variable input means,
C7C: Intermediate variable calculation means,
C7C1a + C7C1b ... first intermediate variable computing means,
C7C1c + C7C1d: second intermediate variable calculation means,
C7E: Output variable calculation means,
C7G: Means for learning connection weight,
C8 ... Control end determination means,
E ... Environment
N ... layered neural network,
Na ... input layer,
Nb ... intermediate layer,
Nc: output layer,
Q (a t , s t ), Q (a t + 1 , s t + 1 )... Action value function,
Q (a t , s t ) ... function, output variable,
r t , r t + 1 ... reward,
S ... Reinforcement learning system, function approximation system,
(Q 1, q 2, ... , q m), (q 1 ', q 2', ..., q m ') ... output element s t, s t + 1 ... state,
(S x1, s x2, ... , s xn, s v1, s v2, ..., s vn, s θ1, s θ2, ..., s θn, s ω1, s ω2, ..., s ωn) ... input element,
(T 1 , t 2 ,..., T m ), (t 1 ′, t 2 ′,..., T m ′).
w ji , w ji ′… bond load,
x, v, θ, ω ... input variables,
y ... intermediate variable,
(Y 1 , y 2 ,..., Y 12n ) ... Intermediate element.
Claims (7)
3以上の入力変数の各値が入力される各入力素子により構成された前記入力層と、
前記3以上の入力変数の各値をそれぞれ入力する入力変数入力手段と、
前記3以上の入力変数の中のいずれか2つの入力変数を一組とした入力変数組が設定され、前記入力変数組の一方の入力変数の各値と、前記入力変数組の他方の入力変数の各値に基づいて演算される各第1出力感度と、に基づいて、前記中間変数の各値をそれぞれ演算する中間変数演算手段と、
前記中間変数と、前記中間変数の値の重視度合いに応じて設定された結合荷重と、に基づいて、前記出力変数の値を演算する出力変数演算手段と、
前記出力変数の値と、予め記憶された前記関数の実際の値との差分に基づいて、前記結合荷重を更新することにより、前記結合荷重を学習する結合荷重学習手段と、
を備えたことを特徴とする関数近似装置。 An input layer configured by an input element to which an input variable value is input, and an intermediate element coupled to the input element, wherein the value of the intermediate variable calculated based on the value input to the input element is An intermediate layer constituted by the intermediate element to be output, and an output element coupled to the intermediate element, wherein the value of the output variable calculated based on the value input to the intermediate element is output In a function approximation device that approximates a function that is a relationship between the input variable and the output variable by a layered neural network having an output layer constituted by output elements,
The input layer constituted by each input element to which each value of three or more input variables is input;
Input variable input means for inputting each value of the three or more input variables;
An input variable set in which any two input variables among the three or more input variables are set, and each value of one input variable of the input variable set and the other input variable of the input variable set are set. Intermediate variable calculation means for calculating each value of the intermediate variable based on each first output sensitivity calculated based on each value of
An output variable calculation means for calculating the value of the output variable based on the intermediate variable and a combined load set according to the importance of the value of the intermediate variable;
A connection weight learning means for learning the connection weight by updating the connection weight based on a difference between a value of the output variable and an actual value of the function stored in advance;
A function approximation apparatus comprising:
前記第1中間変数と、前記第2中間変数と、前記第1中間変数および前記第2中間変数の各値の重視度合いに応じて設定された各結合荷重と、に基づいて、前記出力変数の値を演算する前記出力変数演算手段と、
を備えたことを特徴とする請求項1に記載の関数近似装置。 Each value of the first intermediate variable based on each value of one input variable of the input variable set and each first output sensitivity calculated based on each value of the other input variable of the input variable set First intermediate variable calculation means for calculating each of the above, each value of the other input variable of the input variable set, each second output sensitivity calculated based on each value of one input variable of the input variable set, , Based on the second intermediate variable calculation means for calculating each value of the second intermediate variable, respectively, the intermediate variable calculation,
Based on the first intermediate variable, the second intermediate variable, and each combined load set in accordance with the importance of each value of the first intermediate variable and the second intermediate variable, the output variable The output variable calculating means for calculating a value;
The function approximating device according to claim 1, comprising:
前記制御装置の状態を測定する状態測定手段と、
前記行動に対する報酬を取得する報酬取得手段と、
将来取得可能な報酬の予測に基づいて、測定された前記状態における全ての行動を評価するための評価値である行動価値関数を演算する行動価値関数演算手段と、
前記状態で測定された測定値を、前記入力変数の値とみなすことにより、測定された前記状態における前記行動価値関数を近似する請求項1ないし3のいずれかに記載の前記関数近似装置と、
近似された前記行動価値関数に基づいて、前記行動を選択する行動選択手段と、
選択された前記行動を実行する行動実行手段と、
前記報酬に基づいて、前記制御装置の制御が失敗した状態であるか否かを判別することにより、前記制御装置の制御を終了するか否かを判別する制御終了判別手段と、
を備えたことを特徴とする強化学習システム。 A control device as a target for controlling behavior;
State measuring means for measuring the state of the control device;
Reward acquisition means for acquiring a reward for the behavior;
An action value function calculating means for calculating an action value function that is an evaluation value for evaluating all actions in the measured state based on prediction of a reward that can be acquired in the future;
The function approximation device according to any one of claims 1 to 3, wherein the action value function in the measured state is approximated by regarding a measured value measured in the state as a value of the input variable.
Action selecting means for selecting the action based on the approximated action value function;
Action executing means for executing the selected action;
Control end determination means for determining whether to end control of the control device by determining whether control of the control device has failed based on the reward,
Reinforcement learning system characterized by having
を備えたことを特徴とする請求項4に記載の強化学習システム。 The function approximation device according to any one of claims 1 to 3, further comprising: the connection weight learning unit that learns the connection weight when it is determined that the control of the control device has failed.
The reinforcement learning system according to claim 4, further comprising:
3以上の入力変数の各値が入力される各入力素子により構成された前記入力層と、
前記3以上の入力変数の各値をそれぞれ入力する入力変数入力手段と、
前記3以上の入力変数の中のいずれか2つの入力変数を一組とした入力変数組が設定され、前記入力変数組の一方の入力変数の各値と、前記入力変数組の他方の入力変数の各値に基づいて演算される各第1出力感度と、に基づいて、前記中間変数の各値をそれぞれ演算する中間変数演算手段と、
前記中間変数と、前記中間変数の値の重視度合いに応じて設定された結合荷重と、に基づいて、前記出力変数の値を演算する出力変数演算手段と、
前記出力変数の値と、予め記憶された前記関数の実際の値との差分に基づいて、前記結合荷重を更新することにより、前記結合荷重を学習する結合荷重学習手段と、
を備えたことを特徴とする関数近似システム。 An input layer configured by an input element to which an input variable value is input, and an intermediate element coupled to the input element, wherein the value of the intermediate variable calculated based on the value input to the input element is An intermediate layer constituted by the intermediate element to be output, and an output element coupled to the intermediate element, wherein the value of the output variable calculated based on the value input to the intermediate element is output In a function approximation system that approximates a function that is a relationship between the input variable and the output variable by a layered neural network having an output layer constituted by output elements,
The input layer constituted by each input element to which each value of three or more input variables is input;
Input variable input means for inputting each value of the three or more input variables;
An input variable set in which any two input variables among the three or more input variables are set, and each value of one input variable of the input variable set and the other input variable of the input variable set are set. Intermediate variable calculation means for calculating each value of the intermediate variable based on each first output sensitivity calculated based on each value of
An output variable calculation means for calculating the value of the output variable based on the intermediate variable and a combined load set according to the importance of the value of the intermediate variable;
A connection weight learning means for learning the connection weight by updating the connection weight based on a difference between a value of the output variable and an actual value of the function stored in advance;
A function approximation system characterized by comprising:
入力変数の値が入力される入力素子により構成され且つ3以上の入力変数の各値が入力される各入力素子により構成された入力層と、前記入力素子に結合された中間素子であって、前記入力素子に入力された値に基づいて演算された中間変数の値が出力される前記中間素子により構成された中間層と、前記中間素子に結合された出力素子であって、前記中間素子に入力された値に基づいて演算された出力変数の値が出力される前記出力素子により構成された出力層と、を有する層状ニューラルネットにおいて、前記3以上の入力変数の各値をそれぞれ入力する入力変数入力手段、
前記3以上の入力変数の中のいずれか2つの入力変数を一組とした入力変数組が設定され、前記入力変数組の一方の入力変数の各値と、前記入力変数組の他方の入力変数の各値に基づいて演算される各第1出力感度と、に基づいて、前記中間変数の各値をそれぞれ演算する中間変数演算手段、
前記中間変数と、前記中間変数の値の重視度合いに応じて設定された結合荷重と、に基づいて、前記出力変数の値を演算する出力変数演算手段、
前記出力変数の値と、予め記憶された前記関数の実際の値との差分に基づいて、前記結合荷重を更新することにより、前記結合荷重を学習する結合荷重学習手段、
として機能させることにより、前記入力変数と前記出力変数との関係である関数を近似する関数近似プログラム。 Computer
An input layer configured by input elements to which values of input variables are input and configured by input elements to which values of three or more input variables are input, and an intermediate element coupled to the input elements, An intermediate layer composed of the intermediate element that outputs an intermediate variable value calculated based on a value input to the input element, and an output element coupled to the intermediate element, the intermediate element An input layer configured to output the value of the output variable calculated based on the input value; and an input layer configured to input each value of the three or more input variables. Variable input means,
An input variable set in which any two input variables among the three or more input variables are set, and each value of one input variable of the input variable set and the other input variable of the input variable set are set. Intermediate variable calculation means for calculating each value of the intermediate variable based on each first output sensitivity calculated based on each value of
An output variable calculation means for calculating the value of the output variable based on the intermediate variable and a combined load set according to the importance of the value of the intermediate variable;
A combined load learning means for learning the combined load by updating the combined load based on a difference between a value of the output variable and an actual value of the function stored in advance;
A function approximation program that approximates a function that is a relationship between the input variable and the output variable by causing the function to function as
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007231085A JP5152780B2 (en) | 2007-09-06 | 2007-09-06 | Function approximation device, reinforcement learning system, function approximation system, and function approximation program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007231085A JP5152780B2 (en) | 2007-09-06 | 2007-09-06 | Function approximation device, reinforcement learning system, function approximation system, and function approximation program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009064216A JP2009064216A (en) | 2009-03-26 |
JP5152780B2 true JP5152780B2 (en) | 2013-02-27 |
Family
ID=40558753
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007231085A Expired - Fee Related JP5152780B2 (en) | 2007-09-06 | 2007-09-06 | Function approximation device, reinforcement learning system, function approximation system, and function approximation program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5152780B2 (en) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011007569A1 (en) * | 2009-07-15 | 2011-01-20 | 国立大学法人筑波大学 | Classification estimating system and classification estimating program |
CN102622515B (en) * | 2012-02-21 | 2017-03-15 | 北京联合大学 | A kind of weather prediction method |
DE102016009030B4 (en) | 2015-07-31 | 2019-05-09 | Fanuc Corporation | Machine learning device, robot system and machine learning system for learning a workpiece receiving operation |
AU2016354558B2 (en) * | 2015-11-12 | 2019-11-28 | Deepmind Technologies Limited | Asynchronous deep reinforcement learning |
KR102259786B1 (en) * | 2019-06-24 | 2021-06-01 | 넷마블 주식회사 | Method for processing game data |
JP7400824B2 (en) | 2019-09-18 | 2023-12-19 | 日本電気株式会社 | Parameter determination device, signal transmission device, parameter determination method, signal transmission method, and recording medium |
JP7468643B2 (en) | 2020-06-10 | 2024-04-16 | 日本電気株式会社 | Signal transmitting device, parameter determining device, signal transmitting method, parameter determining method, and recording medium |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3361017B2 (en) * | 1996-09-11 | 2003-01-07 | 株式会社東芝 | Comfort index PMV learning device |
-
2007
- 2007-09-06 JP JP2007231085A patent/JP5152780B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2009064216A (en) | 2009-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5152780B2 (en) | Function approximation device, reinforcement learning system, function approximation system, and function approximation program | |
Yu et al. | Preparing for the unknown: Learning a universal policy with online system identification | |
Rajeswaran et al. | Towards generalization and simplicity in continuous control | |
Hanna et al. | Grounded action transformation for robot learning in simulation | |
JP4803212B2 (en) | Data processing apparatus, data processing method, and program | |
US20200372410A1 (en) | Model based reinforcement learning based on generalized hidden parameter markov decision processes | |
Ammar et al. | An automated measure of mdp similarity for transfer in reinforcement learning | |
CN112119404A (en) | Sample efficient reinforcement learning | |
Higuera et al. | Synthesizing neural network controllers with probabilistic model-based reinforcement learning | |
JP2010515182A (en) | Method for controlling and / or adjusting a technical system with computer assistance | |
WO2020152364A1 (en) | Multi-agent reinforcement learning with matchmaking policies | |
CN111783250B (en) | Flexible robot end arrival control method, electronic device and storage medium | |
US10860895B2 (en) | Imagination-based agent neural networks | |
Li et al. | Robust and versatile bipedal jumping control through reinforcement learning | |
Kume et al. | Map-based multi-policy reinforcement learning: enhancing adaptability of robots by deep reinforcement learning | |
CN116583855A (en) | Method and system for modeling and controlling a partially measurable system | |
Liu et al. | Probabilistic ensemble neural network model for long-term dynamic behavior prediction of free-floating space manipulators | |
Baek et al. | Reinforcement learning to achieve real-time control of triple inverted pendulum | |
JP3465236B2 (en) | Robust reinforcement learning method | |
Zhang et al. | Deep reinforcement learning with domain randomization for overhead crane control with payload mass variations | |
JP4630553B2 (en) | Dynamic control device and biped walking mobile body using dynamic control device | |
JP7516666B2 (en) | Constrained Reinforcement Learning Neural Network System Using Pareto Front Optimization | |
JP2024522051A (en) | Multi-objective Reinforcement Learning with Weighted Policy Projection | |
Eshkevari et al. | RL-Controller: a reinforcement learning framework for active structural control | |
Rasmussen et al. | Probabilistic inference for fast learning in control |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100906 |
|
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: 20121120 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121128 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151214 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5152780 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |