actor-critic框架

最近发现我大自动化的思想在deep learning中很有体现呀,之前说过77要去研究bicnet了,读完之后从里面采用的actor-critic框架说起吧,这个就用到了我们自控里面反馈的思想。

据说今年几个顶会文章强化学习占到70%,在图像、NLP等等方面都广泛使用,强化学习在博弈论、控制论、运筹学、信息论、模拟优化方法、多主体系统学习、群体智能、统计学以及遗传算法等多个领域都有所应用。

actor-critic框架_第1张图片

上张经典图不多说了

如果学习时不尝试去理解环境, 这种方法叫做 model-free,所谓model 就是用模型来表示环境,。反过来,用一个模型来代表环境的方法就是 model-based 方法。 Qlearning, Sarsa, Policy Gradients 都是从环境中得到反馈然后从中学习的model-free方法。

Actor Critic合并了 以值为基础 (比如 Q learning) 和 以动作概率为基础 (比如 Policy Gradients) 的两类强化学习算法。Actor 的前生是 Policy Gradients , 该方法可以在连续动作中选取合适的动作;Critic 的前生是 Q-learning 或者其他以值为基础的学习法 , 能进行单步更新, 但并不能处理连续动作,而传统的 Policy Gradients 则是回合更新。我们就比较贪心了,又想处理连续动作,又想单步更新,那就你们两个结合一下呗。actor网络输入state,输出action;critic网络输入为state和action,输出为Q值,就组成了Actor Critic。但传统Actor-Critic前后相关性高,学习片面,于是人们有学习了DQN 中的方法,使用一个Replay buffer和两个结构相同, 但参数更新频率不同的神经网络来训练,于是就有了DDPG。

还有一个模型A3C 采用多线程的方法,每个线程对应不同的探索策略,从而达到样本间是低相关的效果,不再需要DQN中引入experience replay机制来进行训练。这样能够采用on-policy的方法进行训练。

UNREAL建立在A3C的基础上,加入多个辅助任务,A3C算法是on policy的,而辅助任务利用A3C中的Replay buffer,是off policy的。

附笔记

actor-critic框架_第2张图片

actor-critic框架_第3张图片



我的公众号
actor-critic框架_第4张图片


你可能感兴趣的:(actor-critic框架)