【RL 第5章】Policy Gradients

        今日小年,祝大家小年纳福瑞,喜迎团圆年。

        今早Willing和同学院的余巨稍微交流了一些,即便是快过年了,大家也都还在肝进度,也是没有办法,但Willing相信大家的努力会有回报,最近也是有很多事,比赛、大创、DDL、社会实践等,昨晚也是失眠了很久( ̄o ̄) . z Z,但还是想到那句话,人生如棋啊,一步一步来,一关一关过,我相信任何事都能过去。

【RL 第5章】Policy Gradients_第1张图片     【RL 第5章】Policy Gradients_第2张图片

        强化学习是一个大家族,里面有不同的成员,每个成员之间也有不同的特征,像前几章我们所讲的Q-Learning、DQN,他们是通过学习奖惩值(Reward),依据自己所学习到的经验(Q表)选择高价值的动作(选择Q值最高的Action),而今天我们所要介绍的Policy Gradients 就不一样,他的特点是不分析奖励值,直接输出动作,此外,他还有一个优点是他能在一个连续的区间内挑选动作,这一点对于Q-Lerning有多麻烦,大家在上一章就能够看到(链接:DQN算法)。

        同样的,对于Policy Gradients 我们同样可以对其引入神经网络,同样特别的是,Policy Gradients 的神经网络是没有误差的!!,但他依然是通过反向传播在传递某样东西,这样的目的是让这次的行为在下一次选择中更容易被选中,那么我们该如何判断呢?这时候,我们就需要借助Reward来进行判断。

【RL 第5章】Policy Gradients_第3张图片

         还是第一张的这张图,神经网路通过观测分析,假如选中了右边的行为——回宿舍打游戏,我们直接反向传播,让下次选中右边行为的概率增加,但是右边行为的Reward告诉我们,这样的行为是不好的,于是我们让右边动作被选中的概率的增加幅度降低。再比如,假如我们选中了左边的行为,Reward也告诉我们左边的行为是好的,于是我们就让左边行为被选中的概率的增加幅度增加。这也就是Policy Gradients的核心思想。

        下面,我们介绍Policy Gradients的核心算法,也叫REINFORCE方法,他也是Policy Gradients种最基础的方法:

【RL 第5章】Policy Gradients_第4张图片

         参数解读(个人理解):

        (1)θ指神经网络的参数权重,而且这个权重是在(0,1)之间。

        (2)α 指学习率,决定神经网络的更新幅度。

        (3) ∇ θ log ⁡ π θ ( s t , a t ) v t :这一长串指Policy在θ上的梯度。

        (4)logπθ​(st​,at​):在状态st​下选择行动at​的概率的Log值。

        (5)vt​: 在状态st​下选择行动at​所获得的reward。

        过程解读(个人理解):比如说,我们现在选择了一个概率特别小的动作,即π θ ( s t , a t )特别小,则log ⁡ π θ ( s t , a t )将特别大(这块我认为是对θ的对数函数,θ的值在0到1之间,所以是一个反向的对数函数),由于我们在选的动作概率很小的情况下,拿到了一个很大的Reward(即Vt),那么梯度 ∇ θ log ⁡ π θ ( s t , a t ) v t就会变的更大。我选择了一个不常选的动作,结果能得到一个很好的Reward,那么我神经网络权重(幅度)也肯定是相应的增加了。

———————————————————————————————————————————(分割线)

        好困,实在是写不动了,话说我的电脑的Python真是有bug,装了gym却跑不了,也是服~如果各位大佬有需要用gym玩cartpole的,可以参考这篇文章PG算法玩Cartpole,需要提前部署Pytorch,也是一位同校的学长做的。

你可能感兴趣的:(RL,深度学习,人工智能)