强化学习笔记: Model-based Approaches(1)

1. Model-based Approaches

爬行机器人中,每个关节有5个自由度,机器人有25个自由度。把自由度按坐标画出来,这个图表明如果机器人从一种状态移动到另一状态,其形态就发生改变,称为过渡。把所有能转换的状态列出来,是state transition diagram。最终需要的仅仅是爬的最快的路径。最短路径可以被很快编译出,但是指令仅仅来自于外界。更复杂的方式是让机器人基于眼前的任务,生成自己的指令。

在这里插入图片描述

例如,让机器人通过试错法来学习这些指令。机器人杂乱无章地调整姿态,不同的姿态会得到不同的奖励。奖励的数量是由爬行的速度决定的。机器人控制器就会:

  1. 在不断向前走的过程中,评估每个连接/状态的价值
  2. 用一个数字量化这个值(Q)
  3. 存储Q用作下一次评估

尝试很多种可能,评估每种状态的价值,将奖励最大化——是强化学习。某一个实体从与环境的交互中自主学习。实体即为agentagent与之交互的任何实体都称为environment。二者的交互方式用actionsa)表征。agent做出行动的特定状态为states),其行动是policyπ)。如果agents状态做出a行为,即 π ( s ) = a π(s)=a π(s)=a

在一个时间延迟( Δ t Δt Δt)后,一个行动会导致两个结果。首先,agent移动到下一状态。其次,agent接收到了环境对于行动a的评估,以奖励r的形式(一般为正数)。这个奖励仅由环境决定。

agentt时刻的状态设为 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

有了statesactionsthe 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。
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值