强化学习则需要在与环境的交互中学习和寻找最佳决策方案。监督学习处理认知问题,强化学习处理决策问题。
强化学习和监督学习的交集就是今天的重点:经典环境库GYM和框架库PARL。
安装环境库GYM和PARL库时的问题及解决方案:
1、本地安装时,下载PARL框架缓慢或失败,解决方案1:使用清华源 pip install paddlepaddle -i https://pypi.tuna.tsinghua.edu.cn/simple ;解决方案2:使用百度源
pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple ;解决方案3:直接在github上下载:https://github.com/PaddlePaddle/PARL.git 。
2、显示”TypeError: fc() got an unexpected keyword argument ‘is_test’”这个错误,解决方案:python train.py需要第一步运行完成后再运行下面的步骤。
3、GPU运行PARL的QuickStart失败,解决方案:可能的原因是在GPU机器上安装了cpu版本的paddlepaddle,parl将在下一版本解决该场景的兼容问题,目前建议措施是在运行python train.py之前export CUDA_VISIBLE_DEVICES="" 。
Sarsa全称是state-action-reward-state'-action',目的是学习特定的state下,特定action的价值Q,最终建立和优化一个Q表格,以state为行,action为列,根据与环境交互得到的reward来更新Q表格,更新公式为:
本质上DQN还是一个Q-learning算法,更新方式一致。为了更好的探索环境,同样的也采用ε-greedy方法训练。
在强化学习中,有两大类方法,一种基于值(Value-based),一种基于策略(Policy-based):Value-based的算法的典型代表为Q-learning和SARSA,将Q函数优化到最优,再根据Q函数取最优策略;Policy-based的算法的典型代表为Policy Gradient,直接优化策略函数。采用神经网络拟合策略函数,需计算策略梯度用于优化策略网络。优化的目标是在策略π(s,a)的期望回报:所有的轨迹获得的回报R与对应的轨迹发生概率p的加权和,当N足够大时,可通过采样N个Episode求平均的方式近似表达。
优化目标对参数θ求导后得到策略梯度:
首先非常感谢科科老师,讲解的比较细致,教学也比较严谨,头天晚上有点小错误,第二天上课前会纠正。还有芮芮小班,认真负责,在群里给小伙伴们解决力所能及的问题。通过一周打卡,发现这个环境很棒,可以做好多很有意思的项目,真正是在学习中体验到“一边学习,一边玩耍”的娱教娱乐状态。
收货满满~~
笔记很认真啊
加油!共同进步!