
强化学习
文章平均质量分 66
1
不负韶华ღ
这个作者很懒,什么都没留下…
展开
-
SAC:柔性动作-评价
基本概念SACSAC全称Soft Actor-Critic,中文名柔性动作-评价。SAC算法解决的问题是离散动作空间和连续动作空间的强化学习问题,是off-policy的强化学习算法。SAC和TD3的网络结构类似,主网络都拥有1个Actor网络和2个Critic网络。但是,对于SAC来说,目标网络只有两个Critic网络,没有Actor网络。也就是说,SAC有1个Actor网络和4个Critic网络。Actor网络的输入为状态,输出为动作概率π(at,st)\pi(a_t,s_t)π(at,st原创 2022-04-24 10:51:07 · 5209 阅读 · 0 评论 -
TD3:双延迟深度确定性策略梯度
基本概念TD3TD3全称Twin Delayed Deep Deterministic Policy Gradient,中文名双延迟深度确定性策略梯度。简单来说TD3算法是一个相对于DDPG算法优化的版本。TD3算法在DDPG算法的基础上,主要有三个方面的优化:1、网络结构的优化:TD3在DDPG基础上增加了一个Critic网络,主网络上TD3有2个Critic网络和一个Actor网络,同时Target目标网络也有主网络的一个备份。为什么增加一个Critic网络?原因很简单,增加一个Critic网络,原创 2022-04-24 08:31:47 · 6825 阅读 · 1 评论 -
DDPG:深度确定性策略梯度
基本概念离散动作&连续动作离散动作指可以被分类的动作,比如上、下、左、右、跳跃等动作,一般用多分类激活函数softmax去表示这些动作。如果只有两个动作,则可以使用sigmoid激活函数来表示。连续动作就是一个连续的值,比如速度、角度、力度等表示确切的值。连续动作不可分类,一般使用返回值类型的激活函数去表示它们,比如tanh函数。如图,假如我们想用强化学习训练一个策略来控制机械手臂,上面的轴可以在[0, 2π\piπ]之间转动,下面的轴可以在[0,π\piπ] 之间转动,那么它的动作空间将原创 2022-04-21 10:49:48 · 1558 阅读 · 0 评论 -
AC & A2C & A3C
基本概念Actor-Critic(AC)AC算法是一种既基于值函数、又基于策略函数的算法。这里所说的基于值函数的算法,主要指的是算法本身输出的所有动作的价值,根据最高价值来选择动作,这类算法不能选取连续的动作。而基于值函数的算法指算法本身输出下一步要采取各种动作的概率,然后根据概率来选取动作。一个简单的AC算法(QAC)的策略梯度学习分成两部分:1、Critic:使用状态动作价值函数qω(s,a)q_\omega(s,a)qω(s,a),采用线性Q-值函数(ϕ(s,a)Tω\phi(s,a)^T\原创 2022-04-21 22:45:50 · 3000 阅读 · 0 评论 -
PPO:近端策略优化
基本概念PPOPPO算法和TRPO算法一样,也是一样常用的策略优化方法。与TRPO不同,PPO算法使用自适应KL惩罚系数β\betaβ来约束KL散度,并且在每次策略更新中动态设置惩罚系数β\betaβ;PPO算法还有另一种实现方式,不将KL散度直接放入似然函数中,而是进行一定程度的裁剪。PPO训练过程的伪代码如下图所示:PPO with clip在TRPO中,使用的目标函数为:如果令rt(θ)=πθ(at∣st)πθold(at∣st)r_t(\theta)=\frac {\pi_\thet原创 2022-04-23 12:08:25 · 1888 阅读 · 0 评论 -
TRPO:信赖域策略优化
基本概念TRPO基于策略梯度的强化学习算法它可以直接去学习策略本身,这样学习速度会更快,并且更关键的是它可以用于连续动作空间的情况。它的基本思想是最大化目标函数$J(\theta)$,通过最大化状态价值期望$E_s[V_{\pi}(s)]$来更新策略函数的参数$\theta$。原创 2022-04-23 07:56:07 · 2526 阅读 · 0 评论 -
REINFORCE
基本概念强化学习问题的目标是依据策略执行一系列合适的动作以最大化累计回报。强化学习的算法主要分成三类:基于值函数的方法、基于策略的方法和两者结合的方法。也就是说,可以通过逼近值函数再利用ϵ−greedy\epsilon-greedyϵ−greedy策略间接的确定策略,也可以建立策略函数,将策略参数化,还可以结合这两类方法既学习值函数,又学习策略。REINFORCEREINFORCE是一个基于策略的算法。使用策略梯度法将策略参数化,在策略梯度法中,策略经常用一个带参数集θ\thetaθ的函数表示:πθ(原创 2022-04-21 19:50:15 · 1685 阅读 · 0 评论 -
DQN:深度Q-网络
基本概念DQNDQN全名叫Deep Q-Leaning Network,DQN算法的基本思路来源于Q-Learning,不同于Q-learning,DQN的Q值不是直接通过状态值s和动作a来计算的,而是通过神经网络来计算的。DQN的输入是状态s对应的状态向量ϕ\phiϕ(s),输出是所有动作在该状态下的动作价值函数Q。DQN使用经验回放将数据进行保存,比如说个体在状态StS_tSt执行动作AtA_tAt得到了RtR_tRt的奖励,然后状态转移到了St+1S_{t+1}St+1,则经验池就会将原创 2022-04-21 07:51:00 · 5944 阅读 · 0 评论 -
Sarsa
基本概念SarsaSarsa算法与Q-Learning算法极为相似,‘sarsa’五个字母的含义即s(当前状态),a(当前行为),r(奖励),s(下一步状态),a(下一步行为),也就是说我们在进行这一步操作时已经想到当前s对应的a,并且想好了下一个s’和a’。Sarsa的使用的数学模型如下:Sarsa算法的伪代码如下:Q-learning和Sarsa的不同:Q-learning算法和Sarsa算法都是从状态s开始,根据当前的Q-table使用一定的策略(ϵ−greedy\epsilon-gre原创 2022-04-22 10:11:32 · 843 阅读 · 0 评论 -
Q-Learning
基本概念强化学习简单来说,强化学习就是环境中的个体按照一定的策略做出一系列决策以完成给定任务以获得回报,求最优策略使得回报最大化。强化学习类似于动态规划,但不同于动态规划的是,强化学习反复使用了之前学习过程的经验,而动态规划恰恰相反,假定预先对环境有充分的理解。强化学习的模型如上所示,个体给出动作action,环境给出状态state和回报reward用于反馈;然后个体给出新的动作action,环境的状态state又会改变,又会有新的回报reward。这个循环往复的过程就是强化学习的思路。所以说,强原创 2022-04-20 08:37:58 · 1259 阅读 · 0 评论 -
强化学习算法
强化学习问题的目标是依据策略执行一系列合适的动作以最大化累计回报。强化学习的算法主要分成三类:基于值函数的方法、基于策略的方法和演员-评论家方法。也就是说,可以通过逼近值函数再利用ϵ−greedy\epsilon-greedyϵ−greedy策略间接的确定策略,也可以建立策略函数,将策略参数化,还可以结合这两类方法既学习值函数,又学习策略。...原创 2022-04-22 10:04:12 · 3123 阅读 · 0 评论