【学习】Q learning、Q-learning for continuous actions、关于深度学习的猜想

文章介绍了Q-learning的基本原理,包括value-based方法、MC和TD的区别以及它们在DQN、doubleDQN、duelingDQN等变体中的应用。还讨论了处理连续动作的问题和深度学习的猜想,如局部最小值在深度学习中的角色。此外,文中提到了如prioritizedreply、multi-step学习、noisynet等增强学习技术,以及分布式Q-learning和rainbow算法的集成。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


一、Q learning

value-based的方法,评论家不会直接决定行动。给定一个演员π,它评价这个演员有多优秀。状态值函数Vπ(s):当使用行动者π时,累积奖励期望在访问状态s后获得(预测)。
在这里插入图片描述
critic是绑定了某个actor预测这个actor的分数。

评估状态值函数Vπ(s)

MC

在这里插入图片描述
要把游戏玩到结束,才能更新网络参数,得出分数。

TD

在这里插入图片描述
MC的随机性大,所以有很大的方差;而TD方法不一定是准确的。
在这里插入图片描述
在这里插入图片描述
状态-动作值函数Qπ(s,a),当使用行动者π时,期望在状态s采取a后获得累积奖励。
action是无法穷举的就要左边的,右边的式子仅用于离散动作
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
一直循环之后就会得到好的方程。
给出所有action,找到会让Q最大的动作,就是π’。但是这个不适合a是连续的情况(a是离散的适合)
在这里插入图片描述
在这里插入图片描述
实际上Q’是会变的,那我们的目标就会一直在变(让Q接近Q’),所以我们要固定住一个Q’,更新另一个Q。更新了很多次Q,我们就更新一次Q‘。
在这里插入图片描述
如果是没有看过的动作,那可能都会是初始化的估值,而只要看过一个,那就是1的Q,其他都是0,就不会试试其他的动作。
在这里插入图片描述
epsilon greedy:E在刚开始训练的时候值比较大,后面就会变小。E一般是很小的值,有很大概率用来估测Q,而小概率是用随机性。在action 空间里面加noisy。
Boltzmann Exploration:对Q取对数然后做常规化(除Q的对数的和)。在刚开始Q的输出分布可能是很一致的。
在这里插入图片描述

把所有收集的资料都放到replay buffer里面(可能有以前训练的不同的policy计算的数据,满了才会丢掉),存的是s,a,r,s。
在这里插入图片描述
好处:同一个batch有多种多样的资料,这样会避免让网络坏掉。虽然有过去的资料,但是这样是没问题的。这样类似于off-policy的做法,不会那么花时间去收集资料。
在这里插入图片描述
上面的错误:是从buffer里面取batch。

double DQN

在这里插入图片描述
DQN总是高估(穷举所有的a让Q最大的那个a)
在这里插入图片描述
double DQN选择a的那个Q和计算Q不一样。如果Q高估了a,那么它被选中。Q’会给它适当的值。
Q '高估怎么样?Q不会选择该动作。
在这里插入图片描述
用能更新参数的Q去选择a,用固定参数的Q’去计算value。

dueling DQN

唯一的改变:改变网络的结构。
在这里插入图片描述
在这里插入图片描述

更新V之后,就会更新Q,这样就会有效率
在这里插入图片描述

prioritized reply

对于buffer里面的数据,如果有些数据是比较重要的,而有些数据是训练不好的,那就不能一致取样。先前训练中TD误差较大的数据被采样的概率较高。
在这里插入图片描述
不止改变取样数据的分布,也改变训练的过程。

multi-step

MC和TD之间的平衡
在这里插入图片描述
结合两个方法,取样了多个step之后才估测value,估测的部分的影响就会比较轻微。因为加入了N项r,所以variance就会比较大,可以调整N,让它平衡。

noisy net

在参数的空间上加noisy。在Q网络的 参数上面加噪声得到Q~。
把每个参数都加上噪声。在每集开始之前将噪声注入Q函数的参数中(得到action之前),得到的这个就是Q~就是固定住参数的,用来训练的。
在同一个episode里面,Q~的参数是固定的,只有下一个episode才更新参数,重新取样噪声。
在这里插入图片描述
动作噪音noise on action:给定相同的状态,代理agent可能采取不同的动作(epsilon greedy,因为是在action里面加上噪声,随机性大)。没有真正的策略是这样运作的(希望同样的状态得到一样的动作)。
参数噪声noise on parameters:给定相同(相似)的状态,代理采取相同的动作。→依赖于状态的探索exploration,以一致的方式探索。在一个episode里面,网络的参数是一致的,所以同一个状态会输出一样的东西。
在这里插入图片描述

distributional

状态-动作值函数Qπ(s,a):当使用行动者π时,期望在看到观察值s并采取a后获得累积奖励。
不同的分布可以有同样的期望expectation。这时候就会有些loss,有些信息是没有用到的。
在这里插入图片描述
每个动作有5个框,可以选择同样期望,但是风险更小的动作。(这种方法可以输出概率分布,同一个动作的分布总和是1)
在这里插入图片描述
这里可能会有低估reward的情况,会把极端的值丢掉。

rainbow

混合所有的方法
在这里插入图片描述
去掉某一种方法之后:

在这里插入图片描述
避免高估奖励才加了双DQN

二、Q-learning for continuous actions

estimate Q方程比较容易,只要得到Q方程,就能得到好的策略。问题:不容易处理连续的动作。
在之前,动作是离散的,就能穷举所有的a,算出最好的a。
方法1:取样得到N个a,找到最大的a。但是不能取样所有的a,所以可能不准确。
方法2:使用梯度上升的方法解决最优化问题。问题:全局最大问题,运算量也很大,还要循环更新参数。
方法3:特别设计Q网络去让最优化容易。Q方程是输入s和a,输出V。先输入s,得到三东西(向量,矩阵,数值),然后输入a,让a和μ相减,a此时是连续的向量,然后做其他的运算。这里我们需要让Q最大,也就是第一项最小,那就能让最大的a=μ(s).在这里μ是高斯均值,Σ(s)是正定的variance(在Qπ里面不是直接输出这个矩阵,而是跟一个矩阵做transpose相乘,保证是正定的)。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、关于深度学习的猜想

几乎所有的局部最小值都具有与全局最优值非常相似的损失,因此找到一个局部最小值就足够了。
当我们遇到一个临界点时,它可能是鞍点或局部最小值。
在这里插入图片描述
有个正和一个负的就是saddle point
在这里插入图片描述
当E比较小的时候,特征值很可能是正的,那就可能遇到局部最小值。saddle point比较容易出现在loss高的地方,局部最小值容易出现在loss低的地方。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
当critical point越像局部最小值,training error就越接近0.
在这里插入图片描述
在这里插入图片描述
深度学习与具有7个假设的spin glass模型相同。
在这里插入图片描述
模型越大,loss越接近一个较低的值。
如果网络的规模足够大,我们可以通过梯度下降找到全局最优解,独立于初始化。
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值