学习主要依赖框架和库:
pip install gym
pip install paddlepaddle
pip install parl==1.3.1
学习内容:
Sarsa
”SARSA“ 五个字母是当前 S (状态), A(行动), R(奖励) 与 下一步S’(状态) A’(行动) 的组合,即我们不仅需要知道当前的S, A, R 还需要知道下一步的 S’ 和 A‘。
更新公式:
Q-learning
更新公式:
其中α为学习速率(learning rate),γ为折扣因子(discount factor)。根据公式可以看出,学习速率α越大,保留之前训练的效果就越少。折扣因子γ越大,所起到的作用就越大。
DQN
DQN的行为值函数逼近网络。与线性逼近不同,线性逼近指值函数由一组基函数和一组与之对应的参数相乘得到,值函数是参数的线性函数。而DQN的行为值函数利用神经网络逼近,属于非线性逼近。
PG(Policy Gradient)
Policy Gradient不通过误差反向传播,它通过观测信息选出一个行为直接进行反向传播,当然出人意料的是他并没有误差,而是利用reward奖励直接对选择行为的可能性进行增强和减弱,好的行为会被增加下一次被选中的概率,不好的行为会被减弱下次被选中的概率。
DDPG
DDPG是由PG发展来的
我们总结下DDPG 4个网络的功能定位:
- Actor当前网络:负责策略网络参数θθ的迭代更新,负责根据当前状态SS
选择当前动作AA,用于和环境交互生成S′,RS′,R. - Actor目标网络:负责根据经验回放池中采样的下一状态S′S′选择最优下一动作A′A′.
网络参数θ′θ′定期从θθ复制。 - Critic当前网络:负责价值网络参数ww的迭代更新,负责计算负责计算当前Q值Q(S,A,w)Q(S,A,w).目标Q值yi=R+γQ′(S′,A′,w′)yi=R+γQ′(S′,A′,w′)
- Critic目标网络:负责计算目标Q值中的Q′(S′,A′,w′)Q′(S′,A′,w′)部分.网络参数w′w′
定期从ww复制。
学习感谢:
我是没学习过RL的,但通过这次七日的学习,我对强化学习有了一定的认知,在作业中自己设计网络结构和调超参数,学到了很多,感谢百度飞桨深度学习学院给与的这次机会。