2003 年情報論的学習理論ワークショップ
2003 Workshop on Information-Based Induction
Sciences (IBIS2003)
Kyoto, Japan, Nov 11 - 12, 2003.

強化学習による８自由度ロボットの制御規則獲得
Reinforcement learning of control rules for a 8 d.o.f robot

木村 元

Hajime Kimura

小林 重信

Shigenobu Kobayashi

We investigate a reinforcement learning of walking behavior for a four-legged
robot. The robot has two servo motors per leg, so this problem has eight-dimensional
continuous state-action space. Applying actor-critic algorithms with some generalization
techniques will the best way to deal with the learning control in such continuous space. In
real robots, the learning controllers are often faced with incomplete state observation thatmakes the environment to partially observable Markov decision processes (POMDPs). We
present an actor-critic algorithm that can deal with a certain class of POMDPs and alsopresent action selection scheme for the actor-critic, in which the actor selects continuous
action from its bounded action space by using normal distribution. The experimental
results show that the robot successfully learns to walk in practical learning steps.

Abstract:

1 はじめに

関数には任意の確率分布関数または確率密度関数が使用

強化学習は，報酬という単純な指示から，それよりずっと複雑な制御規則を自動的に獲得するための手法[4]．強化学習で最も一般的なのは Qlearning[11] のように状態-行動の評価値 (value) を推定とし て有望である

した後に最適な政策を得る方法である．強化学習を実問題へ適用するために，連続な状態空間を扱うための汎化
テクニックと組み合わせる方法[9] が知られている．しかし実環境におけるロボットの学習制御においては連続で膨大な状態だけでなく，連続な行動空間の扱いも求め

Q-learning によって全ての状態-行動空間にられるため，

おける評価値を推定することは，メモリ容量の点からも探索のための試行回数の点でも事実上実行不能である．

actor-critic アルゴ リズムは，政策勾配法に基づく強化学習法で，連続な状態-行動空間への適用が比較一方，的容易である．この手法は，ある行動政策（状態から行動への分布関数）のもとでの各状態の評価値を推定し ，これを手がかりにしてその行動政策を改善していくこと

Q-learning のように全状態-行動の評価値を推定し てから 最適な状態-行動対を見出すわけ

できるため，ガウス分布など 計算が簡単な分布を用いれば連続な行動空間への適用が容易である．このアプロー
チは局所解に陥る可能性を伴うものの，これ以外にも適正度の履歴を用いることにより，ある下でも学習可能であるなど 多くの利点を有するため，高次元の空間を持つ強化学習の実問題においてたびたび用[8]．
本稿では actor-critic アルゴ リズムを４足ロボットのいられている

歩行動作獲得問題へ適用するための実装例を紹介する．
扱うロボットは１脚あたりモータ２個を持ち，全体で８次元の連続な状態空間と同時に８次元連続値の行動空間を持つ強化学習問題である．このような問題においてactor の行動選択に正規分布を用いる方法と，選択した行動が行動空間の上界または下界の値からはみ出す場合の計算上の対処方法など について紹介する．実機を用いた実験では，ロボットは

2 問題設定ではないため，少ない メモリーでの実装が可能であり，

2.1

 東京工業大学 大学院総合理工学研究科, 226-8502 横浜市緑区長
津田 4259, tel. 045-924-5648, e-mail kobayasi@dis.titech.ac.jp,
Tokyo

Institute

School of Sci.
hama JAPANofTechnology,

Interdisciplinary

Graduateand Eng., 226-8502 Nagatsuta Midor-ku Yoko-

actor-critic 法により現実的な時間内で歩行動作を獲得できることを示す．

を基本としている．

学習も高速である．さらに，行動選択を特徴付ける政策

POMDP の環境

４足ロボット1 に示す２種類の４足ロボット（クモ型のOCT1 とイヌ型の OCT2 ）を扱う．ロボットの各脚は図1 に示すように２個の位置制御サーボモータで駆動され，全体で８自由度である．クモ型ロボットの OCT1 では，
本稿では図

図

1: 学習対象のロボット（ 左 OCT1, 右 OCT2 ）各足は角度指令で動作するサーボモータ２個を持つ．

各脚の２つのモータはそれぞれリフト脚，スイング脚を2.2

受け持つ．リフト脚は上下方向，スイング脚は前後方向
へ足先を運ぶ役割を持つ．これに対し イヌ型ロボットのマルコフ決定過程による環境モデル化

本稿ではロボットの学習問題をマルコフ決定過程(MDP)

OCT2 では，各脚の２つのモータが駆動する関節軸は平における強化学習問題とし て以下のように定式化する．

行であり，足先を運ぶ方向について役割分担がなく，互各離散時間ステップ t において，エージェントは状態いの動作が干渉するため，制御規則の構築は

OCT1 よりも困難である．各モータと関節は図中で示すとおり，

OCT1 では反時計回りに対応付けられているのに対し ，
OCT2 では左側前後，右側前後の順番で割り当てられている点でも構造的に異なる．
学習目標は，なるべく速くまっすぐに前進する制御規則を獲得することである．このロボットを制御するコントローラが学習主体の「エージェント 」になり，ロボッ
ト本体を含めた外界がエージェントにとっての「 環境」になる．エージェントは事前に環境やロボットのダ イナ
ミクスを知らされていないため，試行錯誤を通じて制御

S

状態空間を ，行動空間をst 2 S を観測して行動 at 2 A を実行し ，状態遷移の結果，報酬 rt 2 R を受け取る．一般に報酬と遷移先の状態
は確率変数だが，MDP ではその分布は st と at だけに依存する．遷移先の状態 st+1 は遷移確率 T (st ; a; st+1)
に従い，報酬 rt は期待値 r(st ; a) に従って与えられる．
学習エージェントは T (st ; a; st+1) や r(st ; a) についての知識は事前に持たない．強化学習の目的はエージェン
トのパフォーマンスを最大化する政策

範とし て，以下の割引報酬合計による評価がある．

Vt =保持する制御規則は，状態入力から行動への確率分布と錯誤を通じて政策関数のパラメータを改善する．
各時間ステップにおいてエージェントは８個のサーボ
モータの角度を観測し て現在の状態とし ，政策関数に従って行動を選択する．行動は８個のサーボモータの角度の目標値である．よって現在の状態は１ステップ前に出力した行動に等しい．行動を実行後，約

0:3 秒後に状態遷移結果として報酬が与えられ，次の時間ステップへと進む．図

1 のロボット 後方に示される２個の車輪は，ボディの移動を検出して報酬信号を生成する．２つの車輪の移動速度平均はロボットの前進速度を示し，２つの車輪の移動速度の差分はロボットが旋回していることを示す．ロボットの学習目標はまっすぐに前進することなので，各時間ステップでの報酬は，２つの車輪の移動速
度平均から差分の絶対値を引いた値とし た．

(policy) を生成することである．無限期間のタスクにおいて自然な評価規規則を形成していくことが求められる．エージェントのいう形式の政策関数で表現される．エージェントは試行

A，実数の集合を R と表す．

1
X
k=0

kr

t+k

,

(1)

0   1 は未来の報酬の重要度を示し ，Vt は時刻 t の評価値を表す．MDP では，評価値は以下

ただし 割引率のように定義できる：
"
1
X

tr
V s E

( )=

ただし E

t=0

#

t s0

= s;  ,(2)fg は期待値演算を表す．MDP では式 2 で定義される各状態 s における評価値を最大化する政策を探すことが目標である．本稿のロボット学習問題では，状態空間が上下界の存在する８次元の連続な空間であり，行動空間も同じである．また，ここでは，ロボット学習
問題を

MDP でモデル化したが，実際にはセンサが不完全なため，観測入力と真の状態が一部で食い違う部分観測MDP (partially observable MDP: POMDP) となる．

3 強化学習アルゴリズム
3.1

parameter? wi

Actor-Critic アルゴリズム

Feature Approximation
Actor-critic アーキテクチャ[1](図 2) は基本となる仕FeatureState-extraction vector- V^ (s) = Pi wixi value 組みが単純な上，連続空間への適用が容易で，MDP だxiV^ (s)
けでなく非マルコフ問題の一種である POMDP におけるあるクラスにおいても有望な手法である．Actor は， 図 3: 特徴量ベクトルへの変換を介した線形アーキテク
状態から行動への確率分布である確率的政策  に従って行動を実行する．

Critic は，actor の政策のもとでのチャによる汎化．

それぞれの状態の評価値を推定する．ある状態 st で行
動 at を選択後，報酬 rt を受け取って状態 st+1 へ遷移し

critic は以下の TD 法に従って状態評価の推定値^V (st ) を更新する：
TD error = rt + V^ (st ) V^ (st ) (3)V (st )V (st ) + TD error(4)
ただし 0 <  1 は学習率，0  < 1 は割引率を表
す．Actor は，critic で計算される TD error を手がかりにして政策を改善する．TD error が正のとき，エージェ

s2 6
x6

x7

x8

x3

x4

x5

x0

x1

x2

た時，

+1

ントは良い状態へ遷移し たと考えられ るので ，状態 st

における行動 at の選択確率を少し 高く修正する．逆に

TD error が負のとき，エージェントは悪い状態へ遷移-s1

4: タイルコーデ ィングによる特徴量ベクトル生成例．
状態入力 (s ; s ) が矢印の位置のとき，特徴量ベクトル(x ; x ;    x ) は，該当するタイル要素 x = 1，それ以
図

1

0

1

2

8

5

外の要素は全てゼロ．
3.2

観測入力からの状態表現生成

強化学習の基本は，センサ入力（観測入力）から生成さしたと考えられるので，状態 st における行動 at の選択れた状態表現から，状態評価値や行動確率分布への写像

確率を少し低く修正する．この原理は行動空間が連続で関数を表現することである．この観測入力からの状態表

あってもそのまま拡張できる．

現生成は特徴量抽出(feature extraction) に関連するが，強化学習ではこの部分については扱わず，予め与えられ

st

Actor

-

at

確率的政策 6reinforcement for at

rt + V^ (st+1 ) V^ (st )st

るものとするのが一般的である．観測入力が連続空間のエージェント- Critic V^ (s) 

状態観測

Reward場合，このテクニックは汎化(generalization) や関数近似と呼ばれ，強化学習に限らずニューラルネットワーク

DPと関数近似法を組み合わせた計算法は neuro-dynamic
programming[2] と呼ばれる．Q-learning の最適解へのなど 幅広い分野で研究されており，強化学習または

TD-error

収束が保障される簡便な汎化方法として線形アーキテクrtチャ

Action ?

(linear architecture) がある．これは固定された基底関数の集合を用いて関数近似を行うもので，ラジアル
基底やウエーブレット関数基底を用いたものなど 様々だ

環境

が，状態空間中の座標を基底関数によって特徴量ベクト

2: 一般的な actor-critic アルゴ リズムの枠組．Critic
は状態評価値を推定し actor に TD-error を与える．Actor はそれに基づいて政策を改善する．TD-error > 0 のルに変換し，このベクトルの線形重み付け和で関数を表図場合，行動 at は良い行動と考えられるので at をとる確率を上げる．さもなければ at の確率を下げる．

3

現する点は同じである（図 ）．特徴量ベクトルの生成方法は問題に応じて設計者が与える必要があり，ベクト
ルのノルムが常に1 となることが 望まし い．図 4 は最も単純な特徴ベクトル生成方法の例を示す。２次元空間
を１枚のタイル（グリッド ）によって分割し ，各タイル要素に特徴量ベクトルの要素を割り当てる．状態入力があるタイル要素内にあるとき，該当する特徴量ベクトル1

V

要素の値は に，それ以外の要素はゼロとする． 値を

4

s2 6
x

て簡単に更新できる．図 のような単純なグリッド 分割による線形アーキテクチャの更新式は離散的

x212

x

1
12

x213

1
13

x28

x

x29

x214

1
14

x210

x

図

x19

3.3

x211

I111@
x110 x@x24 x25 x26 x27x14 x15 x16 x17x20 x21 x22 x23
1
x0 x11 x12 x13
x18

新式（ 式

x215

1
15

(4) ）と等価になる．

連続な行動空間を扱う Actor-Critic

actor の確率的政策  を確率分布関数とすることで ，actor-critic を連続行動空間へ拡張でき
る．Actor では，一般に確率的政策をパラメータ関数表
前述のように，-現し ，そのパラメータを勾配法によって更新していく．

s1

5: ２枚のタイルをずらせて重ねる CMAC による特政策関数の場合，価値関数とは 異なりこの部分は必ずしも線形関数である必要はなく，非線形関数を用いるこ

6 は確率的政策とし て正規分布を用い
actor を用いたエージェントは，中心値 mu(s)，標準偏差 sigma(s) の正規分布に従ったラン

徴量ベクトル生成．大きな太線の枠は状態の定義域，２とができる．図つの小さい太線枠は状態入力に対応するタイルを表す．

た例を示す．この

状態入力が矢印の位置のとき，特徴量ベクトルは，該当するタイル要素 x111

= 0:5，x = 0:5，それ以外の全要
2
10

素はゼロ．

ダムサンプリングによって行動 a を選択する．状態遷移

0.43
TD error を計算し ，この値に基づいactor の政策パラメータを更新する．TD error が正の後，式 に従っててprobability density

とき，エージェントは良い状態へ遷移したと考えられる
ので，状態 st における行動 at の選択確率を高める方向へ修正するが，正規分布の場合は中心値
s をaの

0.3

0.2

方向へ修正し ，行動 a が-sigma(s) mu(s)sigma(s)Action a

6: Actor において 1 次元連続値行動を扱う例．中心値 mu(s)，標準偏差 sigma(s) の正規分布に従ったラン

図

ダムサンプルによって行動 a を選択．状態遷移の結果，

TD error が正なら，中心値 mu(s) を a の方向へ修正．
行動 a が sigma(s) の内側だったなら， sigma(s) を小さくする方向へ，外側なら大きくする方向へ修正する．

TD error が負なら逆の操作を行う．

表現するときは，特徴ベクトル要素と同数のパラメータ
wia を用いて線形関数表現する：
n
X
V s
wi xi
i=1

^( ) =(5)

ただし n は特徴ベクトル要素の個数．線形アーキテク

V 値更新は，単純な勾配法に基づきパラメー

タ wi を更新することで達成される：@ V^ (s)TD error@wi
式 (5) より @ V^ (s)=@wi = xi なので，mu( )sigma(s) の内側だったなら，

sigma(s) を小さくする方向へ，外側なら大きくする方向へ修正することで実現できる．TD error が負の場合は

0.1

チャによる

TD 法の更

wi

wi +

(6)

wi

wi + xi TD error(7)つまり線形アーキテクチャを用いた更新では，更新する
パラメータ wi に対応する特徴の要素の値 xi だけを使っ逆の操作を行う．本ロボットの問題においては，行動空間に上下界が存在するため，この正規分布による行動選
択に修正を加えている．
3.4

適正度の履歴を用いた Actor-Critic

7 は本ロボットに 適用し た actor-critic の詳細である．Actor と critic の両方に 適正度の履歴 (eligibility trace)[9] を用いているのが特徴である．Critic では
TD() でそれを用いており，actor では政策パラメータについて用いている [5]．
Critic における TD() の処理は図 7 のステップ 3 と5 の部分である．パラメータ v は適正度の履歴を特徴付け，TD( = v ) となる．Actor では，確率的政策は
図

パラメータ関数表現され，そのパラメータを価値関数の勾配を用いて更新していく[5][10]．エージェントが政策

 のもとで観測 s において行動 a を選択する確率を関数
(aj; s) で表す．政策 (aj; s) は行動 a の集合が連続値の場合は確率密度関数である．エージェントは内部変数

 を調節することにより確率的政策  を変える．Actor

7の更新処理は図 のステップ

4 と 5 である．パラメータ

 は actor の適正度の履歴を特徴付けるが，TD() の場合とは性質がやや異なる． が 0 に近い場合，criticで推定された価値関数 V^ を用いて政策が更新される．

1.
2.


1
)

0 という具合に表現される．図 7
中で表される推定値 V^ (st ) は以下のように計算される：
X
V^ (st ) = xbwb ,(11)，それ以外の要素は( j

状態 st を観測して行動 at を確率  at ; st に従って選択
報酬 rt を受取り，次の状態 st+1 を観測したら以下に従ってを計算：

256

TD-error(TD-error) = rt + V^ (st ) V^ (st ) , (8)
ただし (0   1) は割引率，V^ (s) は Critic が出力した割引報酬の期待値
3. TD 法を用いて critic の推定値 V^ (s) を更新

b=1

9 ()
(eligibility)( )    ( )    ( ) ),ただし wb は関数近似パラメータである．式 の ev t b
は bth 番目のパラメータ wb の適正度である．
ev t 1 ; ev t 2 ; ev t b ; ev t 256すなわち ev t+1

ev (t)
ev (t)w(t)w@ ^V (s ) ,@w t
ev (t) + ev (t) ,(TD-error) ev (t) ,w + v w(t) ,==()=( ()
このとき式 11 より(
1 , where xb = 1 ,ev (t)b =0 , where x = 0 .

(9)ロボット の８個の関節モータ角度の目標値をベクトル(a ; a ;    ; a ) によって表現し ，これを行動とする．ただし 各要素は状態ベクトルと同様に 1  ai  1，i =
1; 2;    ; 8 のように正規化されているものとする．Actor
は以下のような行動選択を行う：各モータ (i) において，actor は正規分布 N ( i ;  i ) に従い，[ 1; 1] の範囲の1^( )ただし ev は関数 V s におけるパラメータ w
に関する適正度，ev はその履歴， v は学習率．
を用いての行動選択確率更新

4. TD-erroractore (t)e (t)
(t)


5.


@ 
ln
(atj; st ) ,@e (t) + e (t) ,(TD-error) e (t) , +  (t) ,

=
=

(10)



たらそれを選択する．正規分布のパラメータ (i) と (i)1

４足ロボット 学習問題のための実装(   ; s )8によって表現し ，これを状態とする．ただし 各要素は

1  si  1，i = 1; 2;    ; 8 のよ うに正規化されているものとする．Critic では８次元の連続な状態空間
は各座標軸毎に２分割，合計 2 個の超矩形領域によって離散化され ，状態は 2 の長さを 持つ単位ベクトル(x ; x ;    ; x ) を用いて，該当する領域の要素のみ
256

(

)

2

(13)

このとき政策関数は以下で表される：

POMDP 環境下での政策改善が可能になる．

ロボットの８個の関節モータ角度をベクトル s1 ;1p exp2=



更新が環境のマルコフ性に依存せず実行可能となり，あ

2

2
( )

サンプルを生成する確率を Pin とすると，!
Z 1
x (i) 2
Pin
dx
(2i)

1 (i)

ル合計による評価値を用いて政策が更新される．すると，

1

9( )

( )

step1

8

1,

( )

 1)

8

2


P8
s

k
k;
(
i
)
k=1

= 1 + exp 1   ,;i
ただし k; i (k = 1; 2;    9) は政策パラメータである．
正規分布 N ( i ;  i ) が１回の試行で [ 1; 1] の範囲の

1

3.5

1 + exp(i)が に近い場合，式 で定義される実際の報酬のサンプ

る程度の

=

(i)

7: 適正度の履歴を用いた actor-critic アルゴ リズム

図

2
( )

は以下のシグモイド 関数によって与える：

v ev (t) , e (t) ,

(0 

8

値を得るまでランダムサンプルをとり続け，その値が出

ただし v と 
v ; 
はそれぞれとの適正度の減衰率である．
時刻を t
t に進め
から繰返す

critic actor
6.
+1

2

( )

ただし e は政策パラメータ  に関する適正度，e はその履歴，  は学習率．
適正度の履歴を以下のように割り引く：

ev (t + 1)e (t + 1)

(12)

b

(a(i) j; st )= 1 + (1 Pin) + (1 Pin) +   !
 1p exp (a i 2  i ) i 2
i!
(
ai i)
1
1= P  p2 exp, (14)
2 i
in i
ただし a i は [ 1; 1] の範囲に制限され る．ith 番目の
2

( )

( )

2

2
( )

( )

( )

( )

2

2
( )

( )

( )

モータにおける kth 番目の政策パラメータ k;(i) の適正()

度を e t k;(i) と表すと，式

10 中の  と e (t) は 9  8のマトリクスによって表現される：
8
9
1;(1) 2;(1)9;(1) >
>
>
>
>
>
>
< 1;(2) 2;(2)=9;(2) >

= > ..
>
.
>
>
:

...




. . . ...

1;(8) 2;(8)    9;(8)

>
>
>
>
;

= > ..
>
.
>
>
:

9

e (t)2;(1)    e (t)9;(1) >>>=e (t)2;(2)    e (t)9;(2) >...

. . . ...

>
>
>
>
;

e (t)1;(8) e (t)2;(8)    e (t)9;(8)式 10，14 より各 e (t)k;(i) は以下で与えられる．
@
ln (a(i)j; st)e (t)k;(i) =@k;(i)!
(a(i) (i) )2@(i) @
1
= @ @ ln P  p2 exp 22
k;(i)
(i)
in (i)(i)si (1 (i) )(1 + (i))=

2 a(i)2 (i) + Pin @@ P1
in
(i)
(i)

( )

( )

( )

2
( )

( )

( )

2

2
( )

3
(i)

ただし k

( )

2

( )

( )

-5

-10

0

2000

4000

6000

8000

10000

Learning Steps

10

8

( )

( )

( )

0

図

= 1; 2;    8 である．k = 9 の場合の適正度は@
ln (a i j; st)e (t)k; i =@k; i!
@ i @(
ai i)
1= @ @ ln P  p2 exp 2
k; i
i
in i
i
=  i (1  i )!
(a i  i )  i@ 1+ Pin @ Pin , (16)
( )Rubber mat
5

8: ＯＣＴ１の学習の様子．各試行は 10000 ステップ(15) （ 約 80 分）．

!

ただし k

( )

Carpet10

Averaged Reward (100 steps)

()
()

(i)

= 9 である．式 15 と式 16 の第２項は定積分を

Averaged Reward (100 steps)e (t)

8e t 1;(1)>>>>< e t 1;(2)

6

4

2

0

-2

-4

(i) または (i) で微分する操作が求められる．本稿ではこれを近似数値計算により与えたが，これらの関数は上下界を持つ (i) や (i) にのみ依存するので ，テーブル等を用いることで計算コストを減らせる．

0

ここで (i) が に近付くと適正度が発散してし まうことに注意が必要である．これは式15，16 において  i( )が分母になっているためである．適正度が発散すると政策更新のステップ幅が不当に大きくなりすぎて学習が失敗してしまう．そのため本稿では更新のステップサイズ
を (2i) に比例させるとい うヒューリスティクスを用いた．このとき適正度は以下のように与えられる．

s (1 (i) )(1 + (i) )e (t)k;(i) = i
a(i) (i)2si (1 + (i) )(1 (i) ) 
@ 1
+
Pin
, (17)
(2i)@(i) Pin
where k =1; 2;    8,= (1 (i)) (a(i) (i))2 (2i)+(1 (i))(3i) Pin @@(i) P1in ,where k = 9.

4 実験結果OCT1 は比較的よく滑べるカーペット上および摩擦の大きなゴ ムマット上で実験を行った．OCT2 はカーペッ

Oct2 normal

0

5000

10000

15000

20000
Learning Steps

25000

30000

35000

40000

9: ＯＣＴ２の学習の様子．各試行は 40000 ステップ
（ 約 160 分）．
図ト 上のみで 実験を行った．パラ メータ設定は= 0:9，= 0:1，  = 0:002，v = 1:0， = 1:0 である．
図 8 は OCT1 における学習曲線を表す．縦軸は 100 ス
テップ毎の報酬の平均値を表すが，報酬は (１ステップ
で２つの車輪が前進した平均値) − (１ステップでの２つの車輪の差分の絶対値) という形式で与えられるため，
v

学習初期において値が負の値を示しているのはロボットが後進しているせいではなく，左右に旋回しているため

OCT1 ロボットはカーペットおよびゴ ムマット
上の両方の設定において 8000 ステップ (約１時間) 以
下という実時間で良好な挙動を獲得している．10000 ス
テップ 後の実際の移動速度は約 5cm/sec である．
図 9 は OCT2 における学習曲線を表す．本ロボットのである．

学習問題では，１ステップ前に出力した行動が現在の状態とし て観測されるが，場合によってはモータが応答し切れずに実際の状態と異なってしまう隠れ状態問題が存在する．学習初期から中期にかけてこの影響が強く，特にOCT2 で顕著である．Actor に適正度の履歴を用いる

と隠れ状態問題に対処できるため，従来のactor-critic

本実験のcritic で用いた粗い分割による量子化は高次元

40 分早く行動を獲得できた．OCT1 でも同様の効果が確認された．また OCT2 では 各脚の２つのモーの状態空間を扱う方法として有望だが，非マルコフ性がタは足先を運ぶ方向について役割分担がなく，互いの動政策を導くことは困難という問題点がある．本実験の結作が干渉するという困難さから

果は，

より約

OCT1 に比べ動作獲得生じ，またそのように粗く近似された価値関数から良い

actor の適正度の履歴が上記の問題点の解決に有までに３〜４倍の学習ステップ数を要している．それで効であることを示している．

も約２時間という実時間で動作獲得ができた．

【 状態表現のための特徴ベクトル生成】

動作を獲得し た．

ベクトルとして

OCT1 では図 10 左側に示すようにカメのような歩行
OCT1 では右側の前足 (leg4) と左側の後ろ足 (leg2) はほぼ同位相で，また左側の前足 (leg1)と右側の後ろ足 (leg3) がほぼ同位相で同期して動いており，歩容はトロット (trot) に近い．
カーペット上とゴ ムマット上では OCT1 で獲得された動作にはやや違いが見られた．カーペット上では，ボ

文献[7] では状態-行動価値関数の近似における状態特徴
actor の適正度を使うべきであると主張している．彼らの手法は理論的な根拠に基づいており，
高次元空間に対しても有望なため，この手法との組み合
わせることでさらに性能向上が期待できる．
特徴ベクトルの与え方は，行動選択方法の与え方と並んで学習性能に大きく影響を与える．特徴ベクトルにつデ ィは 容易に床をすべることが可能なのでしばしばボ

いては，そのノルムが状態にかかわらず一定であること

ディを引きずる動作が見られた．これは，支持脚で体重が望ましいと述べたが，実験で用いた実装ではそのようを支える動作よりも前進させる動作を優先して学習したになっていない．後日，ノルムが一定になるよう特徴ベ結果と考えられる．一方，摩擦の大きなゴ ムマット上でクトルを工夫して実験を行ったところ，学習に２時間近

は，ロボットのボデ ィが床から離れた状態を保持し 続け

くを要し たる傾向が見られた．これらの結果は，ロボットがそれぞ得た．

れ周囲の状況に応じて適応的に動作を獲得できたことを示している．

OCT2 でも図 10 右側に示すように足先以外の脚部やOCT2 が１時間足らずで同等の制御規則を本稿で紹介した特徴ベクトル生成方法は，予め設計者が全状態空間について与えたが，訪問することがない状態に対するメモリ割当は無駄になる．そこで，経験したボディをひきずる動作となったが，左右に大きく傾きな状態から適応的に生成する方法もある．また，この部分

がらもきちんと直進する動作が得られた．

はいわゆる特徴抽出や符号化に関係する．

OCT1 とはモータの配置が異なるにもかかわら歩容は OCT1 と類【 得られた制御規則の妥当性】
獲得された動作では，ボディを引きずるなど 好まし くな

似している．

いように思える動作が見られた．ボディが床についてい5 考察

るかど うかや，エネルギーなど を報酬に反映させれば，【 連続行動空間での行動選択】

よりロボティクス的に好ましい動作が獲得できるだろう．

時に必要な計算と学習時の計算が単純で簡単だとい う

参考文献

Actor での行動選択に正規分布を用いる方法は行動選択

優れた特徴を有し ている[12][3][5] が，本ロボ ットにそのまま実装すると学習に失敗する．失敗の主な原因は，

actor が行動空間の定義域についての情報を利用していないことに起因する．従来の正規分布による行動選択では，

actor が定義域外の行動を選んだ場合，ロボットはそれを実行したふりをするが，実際には定義域境界上の行動を実行する．もし 分布の平均を示すパラメータが定義域のはるか外側の値になってし まったら，ロボットはランダムな行動をとることがほとんどできなくなり，学習できなくなる．本稿で示した手法ではこの問題を単に定義域外の行動選択を棄却することで回避している．しかしその代償として適正度の計算に数値積分の微分演算という余計なコストが要求される．
【 適正度の履歴による非マルコフ性への対処】[1] Barto, A.G., Sutton, R.S. & Anderson, C.W.:
Neuronlike adaptive elements that can solve difcult learning control problems, IEEE Transactions on Systems, Man, and Cybernetics , vol.
SMC{13, no.5, pp. 834{846 (1983).
[2] Bertsekas, D.P. & Tsitsiklis, J.N.: NeuroDynamic Programming , Athena Scienti c (1996).
[3] Doya, K.: EÆcient Nonlinear Control with ActorTutor Architecture, Advances in Neural Information Processing Systems 9 , pp. 1012{1018 (1997).
[4] 木村 元，宮崎 和光，小林 重信：強化学習システムの設計指針，計測と制御, Vol.38, No.10, pp.618{623(1999).

[5] 木村 元，小林 重信：Actor に適正度の履歴を用いた Actor-Critic アルゴ リズム{ 不完全な ValueFunction のもとでの強化学習，人工知能学会誌,
Vol.15, No.2, pp.267{275 (2000).
[6] 木村 元，山下 透，小林 重信：強化学習による４足ロボットの歩行動作獲得，電気学会 電子情報シス, Vol.122-C, No.3, pp.330{337 (2002).
[7] Konda, V.R. & Tsitsiklis, J.N.: Actor-Critic Algorithms, Advances in Neural Information Processing Systems 12 , pp. 1008{1014 (2000).
[8] Morimoto, J. & Doya, K.: Acquisition of Standup Behavior by a Real Robot using HierarchicalReinforcement Learning, Proceedings of the 17th
International Conference on Machine Learning ,pp.623{630 (2000).
[9] Sutton, R.S. & Barto, A.: Reinforcement Learning: An Introduction, A Bradford Book , The MIT
Press (1998).
[10] Sutton, R.S., McAllester, D., Singh, S. & Mansour, Y.: Policy Gradient Methods for Reinforcement Learning with Function Approximation, Adテム部門誌

vances in Neural Information Processing Systems, pp. 1057{1063 (2000).
[11] Watkins, C.J.C.H. & Dayan, P.: Technical Note:
Q-Learning, Machine Learning 8 , pp.279{292(1992).
[12] Williams, R.J.: Simple Statistical Gradient Following Algorithms for Connectionist Reinforcement Learning, Machine Learning 8 , pp. 229{256(1992).
12 (NIPS12)

10: カーペット上にて 10000 ステップ（ 約 80 分）学習後に得た動作の一例．左側：約 10000 ステップ後（ 80分），右側：約 30000 ステップ 後（ 120 分）．
図