Actor-critic算法

来自删除百科
本条目“Actor-critic算法”在中文维基百科已被删除其它版本),这是一个删除前的存档副本
Iokseng删除了Actor-critic算法,理由是:
G11: 明顯的廣告宣傳頁面,或只有相关人物或團體的聯繫方法的页面
这个理由未必准确 (为什么?)

本条目共存留1天:

  • 创建于:2022-05-14
  • 删除于:2022-05-16
  • 贡献者:4
  • 编辑:9
  • 浏览:95(不包括bot和爬虫)

存留期间浏览量统计

请阅读免责声明。删除百科只是中文维基百科被删除条目的存档。   Alert icon 建议删除本条目

本条目被标记为快速删除。理由是: 明顯的廣告宣傳頁面,或只有相关人物或團體的聯繫方法的页面。(CSD G11

A2C(Actor Advantage Critic)

Actor-Critic(演员-评论家)算法已经成为当前深度强化学习的主流算法之一。Actor(演员)负责与环境进行交互,根据Critic(评论家)计算出的价值函数来不断的更新优化策略,而Critic(评论家)则通过计算价值函数或者优势函数来对策略进行评估。

在Actor-Critic算法中,智能体经常会采取效果较差的动作,这是由于整体分数过高,导致不同动作之间的差异不大。A2C采用了优势函数,用以改进改缺点,从而避免Critic(评论家)对整体的打分过高,最终降低较差动作的概率。在这里,我们用到了基线的思想(baseline)[1]

优势函数:

[2]

这样就可以只求解来得到优势函数

算法流程

  1. 随机初始化状态,策略梯度参数,价值函数参数,定义策略梯度的学习率和优势函数的学习率
  2. 从初始策略中采样
  3. 对于每一个时间步:
    1. 采样回报以及下一个状态
    2. 采样下一个动作
    3. 更新策略参数:
    4. 对于当前时间步动作-值计算校正值(TD误差):并使用它来更新动作-值函数的参数:
    5. 更新当前动作以及状态[3]

A2C与A3C

A2C是A3C的同步、确定版本。在A3C中,每个Actor(演员)独立地与保存全局参数的服务器进行交互,因此有时不同线程中的Actor(演员)将使用不同版本的策略,因此累积更新的方向将不是最优的。为了解决上述执行策略不一致问题,A2C中引入协调器,在更新全局参数之前等待所有并行的Actor(演员)完成其工作,那么在下一次迭代中并行的Actor(演员)将均执行同一策略。同步的梯度更新使得训练过程更加耦合因而有可能使得算法具有更快得收敛速度。

A2C已被证明在能够实现与A3C相同或更好的性能得同时,更有效地利用GPU,并且能够适应更大的批量大小。[4]

代码:https://github.com/openai/baselines/blob/master/baselines/a2c/a2c.py

论文:https://arxiv.org/abs/1602.01783

  1. 伯禹学习平台. www.boyuai.com. [2022-05-14]. 
  2. 伯禹学习平台. www.boyuai.com. [2022-05-14]. 
  3. 策略梯度方法. Abracadabra. [2022-05-14] (英语). 
  4. 策略梯度方法. Abracadabra. [2022-05-14] (英语).