deep learning入门(四)

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


第十课(DRL概念)

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

(1) Policy Gradient

deep learning入门(四)_第1张图片
如上图所示:policy为一个network,输入为一个vector或者matrix,输出为每种行为执行的概率。
deep learning入门(四)_第2张图片
上图为Expected Reward的计算方法。
deep learning入门(四)_第3张图片
上图为具体的演算法。

(2) From on-policy to off-policy

deep learning入门(四)_第4张图片
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)求出的方差将会相差较大。
deep learning入门(四)_第5张图片
deep learning入门(四)_第6张图片
下图是on-policy向off-policy转换的过程,利用Importance Sampling的思想,训练出来的Agent为p(x),与环境交互的Agent为q(x),在q(x)上sample数据最终乘上一定的权值便可以训练p(x)。
deep learning入门(四)_第7张图片
下图为PPO的公式,在上图式子的基础下加上了一个Constrain,使得p(x),q(x)在最后不会差的太多,其中的KL divergence代表的不是两个参数之间的距离,而是指带入两个参数输出的action之间的不同。
PPO思想
deep learning入门(四)_第8张图片

(3) PPO2

下图为PPO2的相关公式。没有计算KL的过程,计算速度更快,更加的simple。
deep learning入门(四)_第9张图片

2 Q-Learning

deep learning入门(四)_第10张图片

(1) Basic Idea

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

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

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

(3) Tips of Q-Learning

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

(4) Q-Learning For Continues Action

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

你可能感兴趣的:(知识梳理,AI)