SLF4J日志级别以及使用场景
强化学习A3C算法
在前面的文章深度确定性策略梯度DDPG介绍了DDPG算法,该算法是Actor-Critic算法的一个增强算法,在本篇文章中将介绍另一个增强算法A3C。
在以前的算法中,几乎都采用了经验回放的方法来打破样本的相关性,并以此更新参数。实际还有另一种打破样本相关性的方法,使用异步更新的方式来更新参数。A3C算法便是异步更新参数的一种方法,且性能相当良好。
算法原理
A3C的本质还是Actor-Critic框架,不同之处在于,A3C算法使用了多个智能体副本来跟环境进行交互,智能体副本之间都是并行的进行交互,计算梯度,最后将梯度累积汇总在一起来更新主智能体的参数。
深度确定性策略梯度DDPG
在前面的文章强化学习Actor-Critic算法中介绍了Actor-Critic算法。Actor-Critic算法可以解决随机决策的连续动作空间的强化学习算法,但其缺点也很明显,Critic网络难以收敛。此外,当连续动作空间维度非常高的时候,采样所耗费的成本也会比较高。
因此,DeepMind在提出了一种增强算法,即深度确定性策略梯度DDPG。DDPG对Actor-Critic算法的进行了增强,它将Actor的输出由随机策略变为了确定性的策略,且使用“soft”的方式来更新参数以及一些探索噪声加快收敛速度。
算法思想
在DDPG之前,Actor的输出是每一个动作被采取的概率,真正执行的动作需要基于这个概率分布进行采样来得到,最终的策略是一个随机决策。
强化学习Actor-Critic算法
在前面的文章中,介绍过基于Value的一系列强化学习算法以及基于Policy的强化学习算法。这两类算法有着各自优势,也有着各自的缺点。
-
基于Value的算法可以单步更新,在确定性策略,离散动作空间的强化学习问题上有着良好的性能,但不适合解决连续型动作空间的强化学习问题。
-
基于Policy的强化学习算法以回合为单位来更新,可以解决随机策略,连续型动作空间的强化学习问题,但因为是回合更新,收敛速度较慢。
本篇文章将介绍一个新的算法Actor-Critic,该算法融合了基于Value和基于Policy的特点,既可以解决连续型动作空间的强化学习问题,也可以单步更新。
Prioritized Replay DQN与Dueling DQN
在前面的文章Nature DQN与Double DQN中介绍了对DQN算法的两种改进,Nature DQN加快了收敛速度,Double DQN有效的解决了过拟合的现象,本篇文章将继续介绍一些对于DQN算法的改进。
Prioritized Replay DQN
Prioritized Replay DQN对于DQN的改进主要是针对训练过程中样本的选择。在以往的训练中,训练样本被存放在记忆池中,在更新参数的时候随机取出一组来更新。
Nature DQN与Double DQN
在前面的文章强化学习DQN算法中,介绍了经典的DQN算法,然而DQN也存在一些问题。Nature DQN与Double DQN的提出就是为了解决这些问题,下面笔者将介绍这个两种改进的算法。
Nature DQN算法
Nature DQN的提出是为了提升原版DQN的收敛速度。在原版DQN中,计算目标Q值的公式
如下:
yj={rjrj+γmaxa′Q(ϕj+1,a′;θ)for terminal ϕj+1for non-terminal ϕj+1
由于在计算目标Q值yj时,使用的是当前要训练的Q网络,而Q网络的更新使用的又是目标Q值yj,两者的相关性太强了,不利于收敛。
强化学习DQN算法
DQN,即Deep Q-learning算法,是将神经网络与Q-learning算法相结合而得到的强化学习算法。在DeepMind发表的论文《Playing Atari with Deep Reinforcement Learning》中,DeepMind使用DQN算法训练出可以玩Atari游戏的模型,该模型甚至在某些游戏上表现的比人类还要优秀。然而,该算法性能如此优秀,原理却不是很复杂,本篇文章将介绍这个神奇的算法。
算法思想
DQN是神经网络和Q-learning算法相结合的产物,其基本思想与Q-learning一致,都是通过估计动作价值函数q(s,a)的值以选择合适的策略。
基于Policy的强化学习算法
在文章基于Value的强化学习算法中,介绍了Q-learning和SARSA两种经典的强化学习算法。在本篇文章中,将介绍一下基于Policy的经典强化学习算法——Policy Gradient。
Value-based算法的不足
-
Value-based强化学习算法,是根据当前状态下的Q值来选取动作去执行。因此,一旦Q值表收敛,那么对于某一个状态s,其选择的动作a将是唯一确定的,即确定性的策略。这就导致其无法解决最优策略是随机策略的强化学习问题,例如猜拳,每次都出锤子当然不是最优解,让对方猜不出的随机策略反而更好一些。
-
在受限状态下,Value-based算法表现的不是很好。
基于Value的强化学习算法
在文章强化学习与马尔可夫决策中,介绍了使用马尔可夫决策模型对强化学习的过程进行建模,本篇文章将介绍基于这一模型而引出的一些强化学习的经典算法。
Q-learning
Q-learning是强化学习的经典算法之一,它是一个value-based算法,同时也是一个model-free的算法。这里的Q指的是动作价值,即当前状态s下,通过策略π采取动作a之后,能够获得的奖励r。
算法原理
该算法的主要思想很简单。假设强化学习过程中所有状态的集合为S,动作空间为A。首先建立一张Q值表,记录强化学习过程中每一个时刻t的状态stϵS下,采取不同的动作aiϵA的收益。