深度学习
文章平均质量分 67
whzooz
开始学习做笔记
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Policy Gradient with Baseline
策略梯度的推导:策略梯度中的Baseline:策略梯度中常用Baseline方法来降低方差,可以使得收敛更快。Baseline可以是一个函数b,该函数是什么都可以,但就是不能依赖于动作A。下面是Baseline的一个重要等式推导,灰色部分是用链式法则展开,添加Baseline后的策略梯度:引入b既然等于0为什么要引入呢?原因是神经网络中的策略梯度并不是按照这个公式计算,而是这个公式的蒙特卡洛近似,如果选取的b合适,那么就会使得蒙特卡洛的方差变小,使得收敛的更快。.原创 2022-04-06 20:00:27 · 1360 阅读 · 0 评论 -
Dueling Network
这是对神经网络的一种改进。不仅仅局限于DQN,也可以应用到其他网络,这里只介绍在DQN上的使用。Advantage Function(优势函数):回顾:是动作价值函数,是关于和求期望,把t+1时刻以后的动作和状态都消掉了。不仅和,有关,也与策略函数π有关。是状态价值函数,是关于动作A求期望,消去动作A,只保留状态,也与策略函数π有关。最优动作价值函数,是对关于策略π求最大值,就消掉了策略π,得到的最优动作价值函数只和当前的状态s和动作a有关。评价在状态s的情况下做出动作a的好..原创 2022-03-28 21:41:34 · 1555 阅读 · 0 评论 -
高估问题以及解决方法
两个原因:1.计算TD target时,用到了最大化,造成计算的结果比真实值要大。2.用高估的结果再去更新自己,在网络中一次次循环过程,该最大化会越来越大,导致高估。DQN的高估是非均匀的,而这种非均匀的高估是有害的,因为不能选出最优的动作。DQN的高估是非均匀的,原因如下:DQN一般从队列中选取一个transition四元组去更新w,而TD target已经是对真实价值的高估,TD算法鼓励DQN的预测接近,但是已经是高估的,那么DQN这么做就会把DQN对的估计值给推高,s和a的..原创 2022-03-28 20:10:19 · 1318 阅读 · 0 评论 -
经验回放(Experience Replay)
复习DQN:动作价值函数,依赖于当前动作a和状态s。基于当前的动作s给所有的动作打分,反映动作的好坏。DQN就是用神经网络来近似,神经网络的参数记作w。输入是动作s,DQN的神经网络中卷积层全连接层中的参数为w,输出是对动作的打分。复习TD算法:观测当前的状态,并执行动作。环境会给出新的状态和回报。计算出此时的TD target,TD target一部分基于真实观测到的奖励,部分基于DQN网络在t+1时刻做出的预测。把DQN在t时刻做出的预测记作,然后算出TD error,.原创 2022-03-28 15:38:44 · 7331 阅读 · 0 评论 -
Multi-Step TD target
这是对TD算法的一种改进回顾Sarsa和Q-learning:这两种算法的TD target都包含一个rt,但是如果有多个奖励,则称为Multi-Step TD target,会让效果变得更好。每次都是观测一组transition,即,这样算出的TD target叫做one-step TD target,其实可以考虑多个奖励计算TD target,然后对动作价值进行一次更新。如同时使用两个transition的奖励,这样算出的就叫做Multi-Step TD target:推导:原创 2022-03-28 14:25:55 · 615 阅读 · 0 评论 -
Q-Learning算法
之前介绍过Sarsa算法,其是一种TD算法,目的是为了学习动作价值函数。Q-learning也是一种TD算法,目的是为了学习最优动作价值函数Q*,其实训练DQN的算法就是Q-learning。Sarsa算法和Q-learning算法的区别:两者的TD target略有不同。Q-learning的TD target:求最大化:求完最大化后,可以消掉,得到下面的等式:直接求期望比较困难,所以对期望进行蒙特卡洛近似,得到TD target:Q-learning算原创 2022-03-26 20:23:28 · 3486 阅读 · 0 评论 -
Sarsa算法
得到等式如下:用这个公式推导TD target:依赖于St,At,St+1。而状态价值函数是对和求期望,所以将的转换公式代入得到两项期望相加。上面的式子可以得到下面这个式子:由于直接求期望比较困难,所以这里用了蒙特卡洛近似。将近似成,将近似成,则该等式左边是该时刻的价值,右边是期望,我们把期望近似成TDtarget (yt)。yt部分基于真实观测到的奖励,部分基于做出的预测。TD learing的想法是将动作价值去接近yt。这是因为完全是估计,而yt一部分是基于真实的..原创 2022-03-26 19:48:00 · 3214 阅读 · 0 评论 -
价值学习&DQN value-based Reinforcement Learning
DQN网络:用一个神经网络Q来近似Q*。Q的参数是w,输入是状态s,输出是很多数值,是对动作的打分。DQN应用:输入是图片,用一个卷积层Conv把图片变成一个特征向量,再用一个全连接层把特征映射到输出的向量,输出的向量就是对动作的打分。向量每一个元素对应一个动作,如图所示,有三种动作(向上,向左,向右)。根据分析,此处该向上。分析:首先观测到状态St,用DQN把St作为输入,给所有的动作打分,找到分数最高的动作作at,Agent执行at后,状态会发生改变,用状态转移函数p原创 2022-03-23 15:32:16 · 283 阅读 · 0 评论 -
Actor-Critic方法
复习回顾:是动作价值函数的期望,如果动作是离散的,则是图中连加的形式,如果动作是连续的,则会是积分形式。是策略函数,可以计算动作的概率值,从而控制agent做运动,是动作价值函数,可以评价动作的好坏程度。可惜策略函数和都不知道,于是需要用两个神经网络分别近似这两个函数,再用Actor-Critic方法同时学习这两个神经网络。我们可以用策略网络 来近似策略函数,θ为策略网络的参数。我们用策略网络控制agent做运动,决策是由策略网络做的,所以策略网络也叫actor。相当于运动员。用另一个神..原创 2022-03-23 14:53:49 · 2479 阅读 · 0 评论 -
策略学习(Policy-Based Reinforcement Learning)
策略函数是一个概率密度函数。输入是状态s,输出的概率分布,反映的是接下来采取动作的概率。agent从中做一个随机抽样,如向上是0.7,则可能从中抽取向上的动作。策略网络,用一个策略网络去拟合近似策略函数。例子:输入是当前状态(可能是一张图片),经过若干卷积层之后生成特征向量,然后经过全连接层把特征向量映射到三维向量(因为游戏里有三个动作),然后用softmax激活函数(该激活函数能将输出全为正数且和为1)将其输出为概率分布,输出的即为每个动作的概率。动作价值函数:是Ut的条件期望,...原创 2022-03-22 20:32:21 · 2437 阅读 · 0 评论
分享