【百度飞桨强化学习7日打卡营】学习笔记 -- 第四课:基于策略梯度求解RL

写在前面

本次课程是参加百度飞桨7日打卡营活动的第四天笔记。
课程链接:https://aistudio.baidu.com/aistudio/education/group/info/1335

主要内容:策路近似、策路梯度
实践:Policy Gradient

一、Value-based 与 Policy-based 区别

Value-basedPolicy-based
区别1间接方式求action直接一步到位求action
区别2确定性策略:优化到最优后,参数就固定下来了。那么输入一样的状态会输出一样的action随机策略:根据概率来采样,概率越大,动作越容易被采样到

在这里插入图片描述
在这里插入图片描述

智能体的选择是我们可以去优化的策略,但是环境随机性的概率我们是不能控制的。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
为了使reward上升,我们引入梯度上升概念。
在这里插入图片描述

二、蒙特卡洛MC与时序差分TD

1.蒙特卡洛MC与时序差分TD区别

蒙特卡洛MC:算法完成一个episode之后,再那这个episode 的数据来去做一次 learn() 更新。注意这里的G_t(外加上标n) 是指当前步开始,我往后能拿到的收益之和。
时序差分TD:每个step都会进行learn() 更新,使用Q(外加上标n)来近似G_t(外加上标n)
在这里插入图片描述

2.Gt的计算

在这里插入图片描述

三、类比监督学习来理解Policy Gradient

手写数字识别,差不多算是神经网络里面的 “hello world”
在这里插入图片描述
在这里插入图片描述
用交叉熵来计算两个概率之间的差值。因为我们希望这两个动作概率分布之间的差距,所以计算得到的距离就可以作为 loss 传给神经网络里面的优化器进行优化。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

四、REINFORCE 算法

1.REINFORCE 算法原理

在这里插入图片描述

2.REINFORCE 流程图

在这里插入图片描述

3.REINFORCE 程序实现

在这里插入图片描述

五、总结

在这里插入图片描述
课后作业
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
最后附上一部分的公式推导过程:
在这里插入图片描述
在这里插入图片描述

课后作业

请按照notebook中说明,完成4处代码的补充和调试。预期效果:分数从-21开始逐渐上涨收敛,Test reward的分数可以收敛到0分以上(说明打败对方了),越高越好。

1.课后作业AI Studio运行效果

参照课上老师讲解和 PARL/examples/tutorials 里面的内容,填写完整 Notebook,并运行代码。(自己运行没有能训练到reward的分数 > 0)

在这里插入图片描述

2.课后作业本地运行效果

(本地运行,自己也没有能训练到reward的分数 > 0,可能自己的CPU太菜了 -_- )

pip install paddlepaddle==1.6.3
pip install parl==1.3.1
pip install gym
git clone --depth=1 https://gitee.com/PaddlePaddle/PARL.git  # 下载PARL代码库
dir PARL # 查看代码库根目录
cd PARL #进入到 PARL 文件夹
## Step3 运行QuickStart
python examples/tutorials/lesson4/policy_gradient_pong/train.py

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值