AI 入门 101
什么是深度强化学习?

什么是深度强化学习?
除了无监督机器学习和监督学习之外,另一种常见的AI创建形式是强化学习。超越常规强化学习,深度强化学习可以带来令人惊讶的结果,因为它结合了深度学习和强化学习的最佳方面。让我们来看看深度强化学习的工作原理。
在我们深入研究深度强化学习之前,回顾一下常规强化学习的工作原理可能是个好主意。在强化学习中,目标导向的算法通过试错过程设计,优化以获得最好的结果/获得最多“奖励”的行动。当强化学习算法被训练时,它们会获得“奖励”或“惩罚”,这些奖励或惩罚会影响它们在未来采取的行动。算法尝试找到一组行动,这些行动将为系统带来最多的奖励,平衡即时奖励和未来奖励。
强化学习算法非常强大,因为它们可以应用于几乎任何任务,能够从环境中灵活、动态地学习和发现可能的行动。
深度强化学习概述

图片:Megajuice via Wikimedia Commons,CC 1.0(https://commons.wikimedia.org/wiki/File:Reinforcement_learning_diagram.svg)
当谈到深度强化学习时,环境通常用图像表示。图像是环境在特定时间点的捕获。代理必须分析图像并从中提取相关信息,使用这些信息来告知代理应该采取什么行动。深度强化学习通常使用两种不同的技术:基于值的学习和基于策略的学习。
基于值的学习技术使用算法和架构,如卷积神经网络和Deep-Q-Networks。这些算法通过将图像转换为灰度并裁剪图像的不必要部分来运行。之后,图像经过各种卷积和池化操作,提取图像中最相关的部分。图像的重要部分然后用于计算代理可以采取的不同行动的Q值。Q值用于确定代理的最佳行动方案。初始Q值计算后,使用反向传播来确定最准确的Q值。
基于策略的方法用于代理可以采取的可能行动数量非常高的情况,这通常是在现实世界场景中发生的。这种情况需要不同的方法,因为计算所有单个行动的Q值在计算上不可行。基于策略的方法不计算单个行动的函数值,而是通过直接学习策略来采用策略,通常使用称为策略梯度的技术。
策略梯度通过接收状态并根据代理的先前经验为行动计算概率来运行。然后选择最可能的行动。这个过程重复,直到评估期结束,奖励被授予代理。奖励被处理后,使用反向传播更新网络的参数。
什么是Q-Learning?
由于Q-Learning是深度强化学习过程中的一个重要组成部分,我们来仔细看看Q-Learning系统的工作原理。
马尔可夫决策过程

马尔可夫决策过程。图片:waldoalvarez via Pixabay,Pixbay License(https://commons.wikimedia.org/wiki/File:Markov_Decision_Process.svg)
为了使AI代理能够执行一系列任务并达到目标,代理必须能够处理状态和事件的序列。代理将从一个状态开始,并且必须采取一系列行动来达到最终状态,并且可能存在大量的状态在开始和结束状态之间。存储每个状态的信息是不切实际的或不可能的,因此系统必须找到一种方法来保留最相关的状态信息。这是通过使用马尔可夫决策过程来实现的,该过程保留当前状态和前一个状态的信息。每个状态都遵循马尔可夫属性,该属性跟踪代理如何从前一个状态转变为当前状态。
深度Q-Learning
一旦模型获得了关于学习环境状态的信息,就可以计算Q值。Q值是代理在一系列行动结束时获得的总奖励。
Q值是使用一系列奖励计算的。有一个立即奖励,在当前状态和当前行动下计算。然后计算下一个状态的Q值,以及下一个状态之后的Q值,依此类推,直到计算所有不同状态的Q值。还有一个Gamma参数,用于控制未来奖励对代理行动的影响。策略通常通过随机初始化Q值并让模型收敛到最优Q值来计算。
深度Q-Networks
使用Q-Learning进行强化学习的一个基本问题是存储数据所需的内存量会随着状态数量的增加而迅速扩大。深度Q-Networks通过将神经网络模型与Q值相结合,实现了代理从经验中学习和对最佳行动做出合理猜测的功能。使用深度Q-Learning,Q值函数是使用神经网络估计的。神经网络将状态作为输入数据,并输出代理可以采取的所有可能行动的Q值。
深度Q-Learning是通过存储所有过去的经验、计算Q网络的最大输出并使用损失函数来计算当前值和理论最高可能值之间的差异来实现的。
深度强化学习与深度学习
深度强化学习和常规深度学习之间的一个重要区别是,前者输入不断变化,而后者输入不变。学习模型如何处理不断变化的输入和输出?
基本上,为了考虑预测值和目标值之间的差异,可以使用两个神经网络而不是一个。一个网络估计目标值,而另一个网络负责预测。目标网络的参数会在模型学习过程中更新,更新的间隔是固定的训练迭代次数。然后将两个网络的输出连接起来,以确定差异。
基于策略的学习
基于策略的学习方法的工作原理与基于Q值的方法不同。虽然Q值方法创建一个值函数来预测状态和行动的奖励,但基于策略的方法确定一个将状态映射到行动的策略。换句话说,选择行动的策略函数直接被优化,而不考虑值函数。
策略梯度
深度强化学习中的策略分为两类:随机或确定性。确定性策略是指状态被映射到行动,这意味着当策略被告知一个状态时,会返回一个行动。相反,随机策略返回一个行动的概率分布,而不是一个单独的离散行动。
当行动的结果没有不确定性时,使用确定性策略。换句话说,当环境本身是确定性的时。在相反的情况下,随机策略输出适合不确定的环境。通常,强化学习场景涉及一定程度的不确定性,因此使用随机策略。
策略梯度方法有一些优点和缺点。优点包括更快、更可靠地收敛到最优参数。策略梯度可以直接跟随到最佳参数,而基于值的方法则可能由于估计的行动值的微小变化而导致行动和相关参数的巨大变化。
策略梯度在高维行动空间中也更有效。当可能的行动数量非常高时,深度Q-Learning变得不切实际,因为它必须为所有时间步骤中的每个可能行动分配一个分数。然而,基于策略的方法可以调整参数,并且随着模型收敛,最佳参数的数量会迅速减少。
策略梯度还可以实现随机策略,这是基于值的策略所不具备的。由于随机策略产生一个概率分布,因此不需要实施探索/利用权衡。
策略梯度的主要缺点是,它们可能会陷入局部最优参数,而不是全局最优参数。
策略评分函数
用于优化模型性能的策略旨在最大化一个评分函数 – J(θ)。如果J(θ)是衡量我们策略对实现所需目标的好坏的指标,我们可以找到使我们获得最佳策略的“θ”值。首先,我们需要计算一个预期的策略奖励。我们估计策略奖励,以便我们有一个可以优化的目标。策略评分函数是我们计算预期策略奖励的方法,有几种常用的策略评分函数,例如:用于分集环境的起始值、用于连续环境的平均值和平均每时间步奖励。
策略梯度上升

梯度上升旨在移动参数,直到它们位于评分最高的位置。图片:公共领域(https://commons.wikimedia.org/wiki/File:Gradient_ascent_(surface).png)
在使用所需的策略评分函数并计算预期策略奖励后,我们可以找到一个最大化评分函数J(θ)的“θ”值。为了最大化评分函数J(θ),使用了一种称为“梯度上升”的技术。梯度上升的概念与深度学习中的梯度下降相似,但我们优化的是最陡的上升,而不是下降。这是因为我们的评分不是“错误”,而是一种我们想要最大化的东西。使用策略梯度定理来估计相对于策略“θ”的梯度。
深度强化学习总结
总之,深度强化学习结合了强化学习和深度神经网络的方面。深度强化学习使用两种不同的技术:深度Q-Learning和策略梯度。
深度Q-Learning方法旨在预测在给定状态下采取某些行动后将获得的奖励,而策略梯度方法则旨在优化行动空间,预测行动本身。深度强化学习中的基于策略的方法要么是确定性的,要么是随机的。确定性策略直接将状态映射到行动,而随机策略则产生行动的概率分布。












