1. Model-based Approaches
爬行机器人中,每个关节有5个自由度,机器人有25个自由度。把自由度按坐标画出来,这个图表明如果机器人从一种状态移动到另一状态,其形态就发生改变,称为过渡。把所有能转换的状态列出来,是state transition diagram
。最终需要的仅仅是爬的最快的路径。最短路径可以被很快编译出,但是指令仅仅来自于外界。更复杂的方式是让机器人基于眼前的任务,生成自己的指令。
例如,让机器人通过试错法来学习这些指令。机器人杂乱无章地调整姿态,不同的姿态会得到不同的奖励。奖励的数量是由爬行的速度决定的。机器人控制器就会:
- 在不断向前走的过程中,评估每个连接/状态的价值
- 用一个数字量化这个值(Q)
- 存储Q用作下一次评估
尝试很多种可能,评估每种状态的价值,将奖励最大化——是强化学习。某一个实体从与环境的交互中自主学习。实体即为agent
,agent
与之交互的任何实体都称为environment
。二者的交互方式用actions
(a
)表征。agent做出行动的特定状态为state
(s
),其行动是policy
(π
)。如果agent
在s
状态做出a
行为,即
π
(
s
)
=
a
π(s)=a
π(s)=a。
在一个时间延迟(
Δ
t
Δt
Δt)后,一个行动会导致两个结果。首先,agent
移动到下一状态。其次,agent
接收到了环境对于行动a
的评估,以奖励r
的形式(一般为正数)。这个奖励仅由环境决定。
agent
在t
时刻的状态设为
S
t
S_t
St,行动为
A
t
A_t
At,在做出行为
A
t
A_t
At之后获得的奖励为
R
t
+
1
R_t+1
Rt+1。
在时刻t
:
π
(
s
)
=
a
;
π(s)=a;
π(s)=a;
在时刻t+1
:
s
t
+
1
=
s
′
,
R
t
+
1
=
r
(
Δ
t
=
1
)
s_t+1=s', R_t+1=r (Δt=1)
st+1=s′,Rt+1=r(Δt=1)
agent
在无限期地执行任务称为continuing
,eg: 扫地机器人。
在某种状态下终止称为episodic
,eg机器人在迷宫找出口。
agent
的目的是完成任务+奖励最大化,强化学习的问题就在于如何找与之对应的policy
。一种解决方式依赖于value functions
的定义。这样的函数有两种:state value functions
& action value functions
。前者用
v
(
s
)
v(s)
v(s)表示在特定状态s
下的agent
的价值。后者用
q
(
s
,
a
)
q(s,a)
q(s,a)表示在特定状态s
下做出a
行为的agent
的价值,见下例。
藏宝箱在右上角,一个移动机器人在左下角。机器人在移动过程中需要避开山和陷阱。
首先,我们将地图分区,每个区是一个state
。
其次,定义机器人的行为。机器人有上
a
1
a_1
a1下
a
3
a_3
a3左
a
4
a_4
a4右
a
2
a_2
a2四个选择,每次选择结束后,机器人会在运动方向上的邻态停止,这被称为deterministic transition function
,表示为
f
ˉ
(
s
,
a
)
\bar f(s,a)
fˉ(s,a)
其输出为
s
′
s'
s′
eg:
f
ˉ
(
1
,
a
1
)
=
5
\bar f(1,a_1)=5
fˉ(1,a1)=5
如果机器人在山/陷阱的邻态,且下一步行动是向山/陷阱,采取行动后它还会停留在自己原来的状态上。eg:
f
ˉ
(
5
,
a
2
)
=
5
\bar f(5,a_2)=5
fˉ(5,a2)=5
transition
是有概率的。机器人在状态s
做出行动a
并结束在s'
的概率是50%。这种transition
可以表述为
f
(
s
,
a
,
s
′
)
=
0.5
f(s,a,s')=0.5
f(s,a,s′)=0.5
f
(
s
,
a
,
s
′
)
f(s,a,s')
f(s,a,s′)为probabilistic transition function
。
机器人在state12 和8上,分别获得+1和-1的奖励。这种奖励机制为reward function
,表示为
ρ
ˉ
(
s
,
a
,
s
′
)
\bar \rho(s,a,s')
ρˉ(s,a,s′)
eg: 在state11 到12时,做出行为
a
1
a_1
a1,奖励为
ρ
ˉ
(
11
,
a
1
,
12
)
=
+
1
\bar \rho(11,a_1,12)=+1
ρˉ(11,a1,12)=+1
有些情况下,奖励可能是概率性的,比如 multi-armed bandit problem 。
有了states
,actions
,the reward function
, the transition function
,就可以在马尔可夫决策过程的框架下计算一个寻宝游戏强化学习问题。
回到前面的问题,把q(s,a)看作机器人获取的奖励。
eg:
q
(
s
,
a
1
)
=
0.94
q
(
s
,
a
2
)
=
0.95
q
(
s
,
a
3
)
=
0.93
q
(
s
,
a
4
)
=
0.94
q(s,a_1)=0.94 q(s,a_2)=0.95 q(s,a_3)=0.93 q(s,a_4)=0.94
q(s,a1)=0.94q(s,a2)=0.95q(s,a3)=0.93q(s,a4)=0.94
在图中,
q
(
11
,
a
2
)
>
q
(
11
,
a
3
)
q(11,a_2)>q(11,a_3)
q(11,a2)>q(11,a3),两个policy
分别是
π
i
(
11
)
=
a
2
,
π
j
(
11
)
=
a
3
π_i(11)=a_2, π_j(11)=a_3
πi(11)=a2,πj(11)=a3
可以认为
π
i
π_i
πi比
π
j
π_j
πj更好。
对于每个(s,a)对,都有最佳q(s,a),表示为 q ∗ ( s , a ) q_*(s,a) q∗(s,a)。
寻找这个值的方式为:确定每一个已经发生的对的
q
∗
(
s
,
a
)
q_*(s,a)
q∗(s,a),每个state
下选择与最大值相关的操作,即
π
∗
(
s
)
=
a
r
g
m
a
x
a
q
∗
(
s
,
a
)
π_*(s)=\mathop{argmax} \limits_ {a} q_*(s,a)
π∗(s)=aargmaxq∗(s,a)
a r g m a x x f ( x ) \mathop{argmax}\limits_{x}f(x) xargmaxf(x)表示 f ( x ) f(x) f(x)最大时 x x x的值。
也就是说,设置不同的
q
∗
(
s
,
a
)
q_*(s,a)
q∗(s,a)值,促使机器人找到最优解。即为1→5→9→10→11→12。