deep learning入门(四)

DL入门(四)powered by @李宏毅


第十课(DRL概念)

1 Proximal Policy Optimization(PPO,近端策略优化)

(1) Policy Gradient

Policy Gradient
如上图所示:policy为一个network,输入为一个vector或者matrix,输出为每种行为执行的概率。
Policy Gradient
上图为Expected Reward的计算方法。
Policy Gradient
上图为具体的演算法。

(2) From on-policy to off-policy

on-policy to off-policy
on-policy的意思是训练出来的Agent和与环境互动的Agent是同一个,off-policy的意思是训练出来的Agent和与环境互动的Agent不是同一个。

1 Importance Sampling
 重要性采样属于众多采样方法中的一种,核心思想是当我们无法在原定的p(x)中进行sample的时候,我们可以找到一个q(x)分布,通过从q(x)中进行采样之后再乘上一定的权重使其分布非常接近p(x)。
 但是当p(x)和q(x)相差特别大时,在sample次数有限的情况下p(x)和q(x)求出的方差将会相差较大。
Importance Sampling
Importance Sampling
下图是on-policy向off-policy转换的过程,利用Importance Sampling的思想,训练出来的Agent为p(x),与环境交互的Agent为q(x),在q(x)上sample数据最终乘上一定的权值便可以训练p(x)。
From on-policy to off-policy
下图为PPO的公式,在上图式子的基础下加上了一个Constrain,使得p(x),q(x)在最后不会差的太多,其中的KL divergence代表的不是两个参数之间的距离,而是指带入两个参数输出的action之间的不同。
PPO思想
PPO算法

(3) PPO2

下图为PPO2的相关公式。没有计算KL的过程,计算速度更快,更加的simple。
PPO2

2 Q-Learning

Q-learning

(1) Basic Idea

1 Critic
 Critic的作用在与给定一个State和Actor,去预测最终会得到的Reward。
Q-learning
How to estimate V(s) ?
 (1) MC-base,使V(s)求出的值和最终episode结束后计算出的reward的值越接近越好。此方法必须计算G,意味着必须玩到游戏结束。
MC-base
 (2) TD-base,前一个V(s)的值等于V(s+1)的值加上前一次得到的Rt。
TD-base
MC-vs-TD
2 Another Critic
 Q function,核心思想是当遇到某个state s时强制操作action π(在正常情况下不一定执行action a),之后再一直train下去。
Another Critic
下图为Q-Learning的一般思想。
Q-learning

(2) Q-Learning 中所使用的特性

1 target network
 由于Q这两个neural初始是一样的,在训练时两个会同时update参数,这样会导致最终的参数会是两次update相加的结果,Target Network提供的思想就是先固定住后一个neural的参数,只update前一个neural的参数,在update若干次后再将前一个的参数赋给后面的那个neural,这样就需要重新train,之后再不断往复。
target network
2 Exploration
 在原来的Q-Learning思想中是选取Q(s,a)最大的那个action,但是会出现只sample某一个action,而其他action都不会被sample,就像去某个餐厅吃饭点了一个菜很好吃,那么之后去这个餐厅都只点这个菜,然后我们就不会知道其他菜好不好吃。所以我们需要有一定的几率去exploration其他action。
Exploration
3 Replay Buffer
 核心思想是拿Agent与环境做交互,产出大量的Experience放到一个比较大的buffer里,之后使用迭代训练,每一次迭代都从buffer中随机sample一个batch的数据进行训练。
Replay Buffer
下图为典型的Q-Learning算法
Q-Learning算法

(3) Tips of Q-Learning

1 Double DQN
 在实际训练中使用Q function的值总是会被高估,原因在于Q function选择的为value最大的值,那么一旦某个action被高估,Q function就会选择那个action。
Double DQN
 下图为Double DQN的思想
Double DQN
2 Dueling DQN
 该tip的核心思想为修改network在输出位置的架构。如下图所示,第一幅图是一般Q-Learning的网络架构,第二幅为改进的network。
Dueling DQN
 如下图所示,在实做上,我们会给A(s,a)加上一个Constrain使得其中每个Colum的值加起来都为0,这样做的好处在于可以强迫network倾向去更新V(s)的值,这样将会更有效率地使用data。
Dueling DQN

(4) Q-Learning For Continues Action

如下图所示:在连续的情况下我们无法穷举所有的可能去算出Q(s,a)。
方法一:sample一部分的actions,但是这样计算量较大且效率不高,最终的performance也不好。
方法二:利于gradient ascent去求出最大值,但是有可能并不是全局最大值,计算量也非常大。
方法三:设计一个新的Network架构,如下图右侧事例。
Q-Learning For Continues Action

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值