意する.各Q値表で利用するセンサ集合をm と考える.Q値表Qmの優先度を pref(m)とする(行2).この優先度に,softmax手法[35]を適用して行動を決定する Q値表を選択し(行8–11),²–greedy手法[35]でロボットが実際にとる行動を決定 する(行13–20).行動後,各Q値表を更新するが,更新式は通常のoff-policy型R 学習と同一である(行23–26,28).さらに,ロボットが実際にとった行動が,各Q値 表でQ値最大であった場合のみ,このQ値表の優先度を更新する(行23,25,27,28).
行27の式では,ロボットの実際の行動と同じ行動がグリーディであるQ値表の 優先度について,そのQ値表の平均報酬の近似であるρが累積されていく.この 処理によって,ρの値の大きい,すなわち期待報酬の大きいQ値表はより選択さ れやすくなる.一方,グリーディに選択した行動の報酬が良くなかったQ値表や,
これまでの行動の結果が良くないQ値表の優先度には,負ないし小さい正の値が 加算されるため,徐々に選択される確率が減っていく.結果として,適切な行動 を決定可能な(すなわち適切な行動が,そのQ値表上でグリーディとなっていた) 回数の多いQ値表が,実際の行動を決定することになると考えられる.
1: N←number of actions avairable to the robot 2: pref(m)←0, ∀m∈M
3: Qm(s, a)←initial value, ∀m∈M, s, a 4: t, total, r,¯ r¯0 ←0
5: s←initial state
6: while t < planned transision timesdo 7: t←t+ 1
8: form∈M
9: π(m)←
e
pref(m)P
m0∈M
e
pref(m0)10: end for
11: according toπ(·), select Q-tableQmˆ
which will decide the action
12: n←number of a, a= argmaxaQmˆ(s, a) 13: fora∈A
14: if a= argmaxaQmˆ(s, a) then 15: πmˆ(a)←1−n²+N²
16: else
17: πmˆ(a)←N² 18: end if 19: end for
20: choose action ˆaaccording toπmˆ(·), and execute ˆa 21: get reward r, and observe states0
22: total←total+r 23: form∈M
24: Qm(s,ˆa)←Qm(s,ˆa) +α[r+γmaxa0Qm(s0, a0)−Qm(s,ˆa)]
25: end for
26: if Qmˆ(s,ˆa) = maxaQmˆ(s, a) then 27: pref( ˆm)←pref( ˆm) +ψ[r−r]¯ 28: end if
29: r¯0 ←r¯0+κ[r−r¯0] 30: r¯00←total / t 31: r¯ ←max(¯r0, ¯r00) 32: s←s0
33: end while
34: return argmaxmpref(m)
図 3.1: 最適センサ集合選択のための提案手法の処理.詳細は第3.2.2節本文参照.
1: N←number of actions avairable to the robot 2: pref(m), ρ(m)←0, ∀m∈M
3: Qm(s, a)←initial value, ∀m∈M, s, a 4: t, total←0
5: s←initial state
6: while t < planned transision timesdo 7: t←t+ 1
8: form∈M
9: π(m)←
e
pref(m)P
M
e
pref(M)10: end for
11: according toπ(·), select R-tableRmˆ which will decide the action
12: n←number of a, a= argmaxaRmˆ(s, a) 13: fora∈A
14: if a= argmaxaQmˆ(s, a) then 15: πmˆ(a)←1−n²+N²
16: else
17: πmˆ(a)←N² 18: end if 19: end for
20: choose action ˆaaccording toπmˆ(·), and execute ˆa 21: get reward r, and observe states0
22: total←total+r 23: form∈M
24: Qm(s,ˆa)← Qm(s,a) +ˆ α[r−ρ(m) + maxa0Qm(s0, a0)−Qm(s,ˆa)]
25: if Qm(s,ˆa) = maxaQm(s, a) then
26: ρ(m)← ρ(m) +β[r−ρ(m) + maxa0Qm(s0, a0)−Qm(s,ˆa)]
27: pref(m)←pref(m) +ξ ρ(m) 28: end if
29: end for 31: s←s0 33: end while
34: return argmaxmpref(m)
図 3.2: R学習高速化のための提案手法の処理.詳細は,第3.3.2節本文参照.
第 4 章
グリッドワールド実験
提案手法の適用によって,前章で期待した効果が得られることを確認するため,
グリッドワールドを用いた,比較的簡単な設定の実験を実施した.ロボットに与 えた課題は,障害物回避行動の獲得である.この課題は,自律移動型ロボットに とって最も基本的なものの1つである.とくに人工生命系の研究では,学習によっ てロボットに望ましい行動を獲得させる際に,第1に採用されている例がある(例 えば,[27, 26]参照).
4.1 実験設定
4.1.1 行動環境,行動目標及び報酬
設定したロボットの行動環境を図4.1に示す.
ロボットは,図4.1左のSから出発し,図4.1右の4行動のうち1つを選択し,
実行する.したがって,選択し得る行動の集合Aは,
A ={前,右,左,後} となる.
実線は壁を示し,この壁に向かって行動した場合,元の場所に止まるものとし た.ゴールは図4.1左のGであり,到達した場合,報酬1が与えられる.それ以外 の行動の報酬は0とし,すなわち遅延報酬が与えられる環境となる.したがって,
G 8 7
3 4 5 6
2 1 S
⇑
⇐ 4¤ ¡£ ¢ ⇒
⇓
図 4.1: グリッドワールド実験における実験環境(左)及びロボットの行動(右).
得られる報酬の集合Rは,
R ={0,1}
である.ゴール到達後はSに戻って,規定行動回数まで行動を続けるものとした.
また,ロボットには前後左右に4つの近接センサが搭載され,それぞれの方向 に衝突なしに移動可能であれば0,移動すれば壁に衝突する場合1と観測するもの とした.したがって,全センサを用いた場合の観測の集合Oは,
O ={Of, Or, Ol, Ob}, Of,r,l,b={0,1} となる.
この実験は,簡単な内容ではあるが,ロボットはいずれのセンサ(の組合せ)を 用いても,複数の状態において同一の観測しか得ることができない(例えば状態1 と2)ため,部分観測課題となっている.
仮に状態3にいて,後進によって状態2に移動した場合,状態8 と同一の観測 を得ることになり,ロボットはゴールに近付いたのか否かをQ値から判断するこ とが難しい.