百度强化学习7日营心得体会

课程链接: https://aistudio.baidu.com/aistudio/education/group/info/1335

首先作为一个机器学习刚入门的小白,面对网络中零零散散的知识教程,很难系统地形成自己的知识体系。这里特别感谢百度强化学习7日打卡营,科科老师深入浅出地讲解了强化学习的算法和实现,收益良多。

强化学习的概念包括五个部分,智能体agent在环境environment中学习,根据环境的状态state/观察值observation,执行动作action,并根据环境的反馈reward来指导更好的动作。接下来的强化学习都是基于这一概念来实现的。
百度强化学习7日营心得体会_第1张图片
环境准备时,gym的environment接口提供了强化学习算法和强化学习的方式,PARL框架的定制也适用于各种场景之间的迁移,十分便捷。

首先学习了使用表格型方法求解问题,Q表格记录了状态动作价值,指导每一个step的动作选择,获得最高的未来总收益。在Sarsa算法里,根据Q表格选择动作,根据公式修正Q值再更新Q表格,经过多次循环后,Q值会收敛到比较好的状态。Sarsa实际上是一种On-Policy的策略,在知道下一步一定会执行的步骤时尽量选取收益最佳的动作,表现出来的决策更为保守。而Q-Learning是一种Off-Policy的策略,默认下一个动作就是Q最大的动作,行为策略可以大胆探测到所有可能的路线喂给目标策略学习,目标策略不需要和环境进行交互,表现出来的结果更为大胆。

在神经网络方法中,介绍了DQN算法,利用了Q-Learning中Off-Policy的特性,打乱经验数据顺序从中选取batch,这样可以打乱状态之间相关性,提高样本使用的效率。DQN的输出用来来逼近Q_target,由于Q_target在变化,DQN提供了固定Q_target的做法。在PARL框架中,分为了model、algorithm、agent三个部分,形成嵌套的结构,具体实现如图。

百度强化学习7日营心得体会_第2张图片
百度强化学习7日营心得体会_第3张图片
基于策略梯度的PG算法 ,区别于基于价值Value-based的思想,动作的选择不再依赖于价值函数,而是一个策略执行完毕,根据最后的总收益来决定这个动作的可取性,得到的是动作的概率,是一个随机策略,而基于价值的算法得到的是确定性的策略。

在连续空间中,介绍了DDPG强化学习算法,是DQN可扩展到连续空间的版本,是一个单步更新的policy网络,并且直接输出确定性的动作。策略网络扮演了Actor的角色,需要对外展示输出,Q网络是Critic,每一步都会对Actor输出的action做评估得到Q,根据reward来调整打分策略,且调整actor使得critic打分尽可能高。优化策略网络就是要最大化Q值,可选loss为负的Q值。

在几次作业实践中,可以熟悉PARL清晰的框架,调整参数、学习率和batch值,得到期望地训练结果,虽然训练周期有些长,有时会出现各种错误,调参和排错地过程也收获了许多。

你可能感兴趣的:(百度强化学习7日营心得体会)