强化学习A3C与UNREAL算法

首先再熟悉一下python的参数传递:

对于不可变对象(number,string,tuple)作为参数时,相当于C语言的值传递;

对于可变对象(list,dict)作为参数时,相当于C语言的引用传递。

————————————————————————————————————————————————

A3C算法是Actor Critic算法的并行扩展。

为了训练一对Actor Critic,将其复制多份,复制的每一对各自训练,之后将每一对进行综合,

再然后将综合后的好的结果反馈给每一对复制出来的Actor Critic,一来一回能提高强化学习的学习效率。

首先新建一个公共网络,此公共网络里的参数可以被所有子网络共享。

(每个子网络进行训练,用这些子网络的梯度训练此公共网络的参数,进行一次梯度下降后,

将此公共网络的参数数值赋值给此子网络,然后继续这样的过程)

A3C算法充分利用了并行算法的优势,各个子网络可以训练不同的数据。

A3C与Actor Critic代码实现的最大的不同在于(根据莫烦python的github代码实现):

(1)并行计算下的参数、梯度共享

(2)A3C的Actor输出为表示分布的mu(均值)与sigma(标准差),这里直接根据分布来采样,

而不再是输出一堆概率来根据概率选择了。choose_action时直接sample一个。

————————————————————————————————————————————————

关于unreal算法,其在A3C的基础上增加了一些辅助性的训练。可以参考一个非常好的专栏:

http://mp.weixin.qq.com/s/1RPTloNXZ6K7TFL1leg6qg

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值