【书】《深⼊浅出强化学习:原理⼊门》

 ✒️ @halomaster 📅 16 Mar 2023, 18:12 GMT⋮ 【AI】 

[《深⼊浅出强化学习:原理⼊门》](https://ipfs.io/ipfs/bafykbzacedxc2jmg7zz7vwk77w6fctw3ccgtwgig6z3wa3wsyzvto7lhg2ims?filename=%28%E5%8D%9A%E6%96%87%E8%A7%86%E7%82%B9AI%E7%B3%BB%E5%88%97%29%20%E9%83%AD%E5%AE%AA_%20%E6%96%B9%E5%8B%87%E7%BA%AF%20-%20%E6%B7%B1%E5%85%A5%E6%B5%85%E5%87%BA%E5%BC%BA%E5%8C%96%E5%AD%A6%E4%B9%A0%EF%BC%9A%E5%8E%9F%E7%90%86%E5%85%A5%E9%97%A8-%E7%94%B5%E5%AD%90%E5%B7%A5%E4%B8%9A%E5%87%BA%E7%89%88%E7%A4%BE%20%282018%29.pdf) 郭宪,⽅勇纯编著 1. 通俗易懂:本书注重用通俗易懂的语言,让所有读者都能理解强化学习算法的基本概念和原理,不需要具备过多的数学和计算机背景。 2. 生动有趣:本书使用生动有趣的案例和场景,来说明强化学习算法的应用,让读者在轻松愉悦的氛围中了解强化学习技术。 3. 过程易懂:本书注重将强化学习算法的过程和流程描述得详细易懂,让读者明白每个步骤的具体含义和作用,从而更好地掌握强化学习的核心概念。 4. 应用广泛:本书不局限于讲述强化学习算法的理论知识,还介绍了强化学习在各个领域中的应用,为读者展示了强化学习技术的广泛前景。 本书是一本尝试将深奥科学理论,通过通俗易懂、生动有趣的方式呈现给广大读者的书籍,旨在帮助读者更好地理解和掌握强化学习算法的核心知识和应用。 code: https://github.com/zhuliquan/reinforcement_learning_basic_book


[1] @halomaster • 16 Mar 2023, 18:25 GMT 
简单来说,强化学习可以解决智能决策问题,特别是序贯决策问题,这种问题需要连续不断地做出决策,才能最终达到预期目标。


[2] @halomaster • 16 Mar 2023, 18:27 GMT 
监督学习解决问题的⽅法就是输⼊⼤量带有标签的数据,让智能体从中学到输⼊的抽象特征并分类。


[3] @halomaster • 16 Mar 2023, 18:33 GMT 
强化学习的独特之处在于它不关心输入的形式,而着眼于如何在当前输入下作出最优动作以达到最终目标。强化学习的核心是解决序贯决策问题,即需要连续做出一系列决策才能达到最终目标。为了实现最优结果,智能体需要不断地与环境交互,尝试不同的动作,以找到在当前状态下实现最优结果的动作。 智能体会根据当前的状态选择一个动作,并且会从环境中得到一个奖励信号,这个奖励信号会根据智能体的动作和当前状态的好坏而变化。智能体根据观察到的奖励信号来更新自己的策略,以达到最大化累积奖励的目标。在这个过程中,智能体不断地与环境交互,尝试不同的动作,逐渐学习到在不同状态下执行哪些动作可以实现最优结果,从而达到最终目标。


[4] @halomaster • 16 Mar 2023, 18:43 GMT 
基于值函数的强化学习方法是一种广泛应用的强化学习算法,其核心思想是通过学习状态-动作对的值函数来指导智能体的决策。该方法通过将值函数表示为状态-动作对的预期收益(或价值),寻求使其最大化的策略,从而实现最优决策。 具体来说,基于值函数的强化学习方法包括了两个主要步骤:状态-动作对的值函数学习和策略更新。在值函数学习阶段,智能体根据环境的反馈信息(奖励信号)迭代更新状态-动作对的值函数。在策略更新阶段,基于已经学习到的值函数,智能体以贪心策略更新自己的行为策略。 总的来说,基于值函数的强化学习方法是一种非常强大的学习框架,广泛应用于各种复杂实际问题中,如游戏、机器人控制、自然语言处理等。


[5] @halomaster • 16 Mar 2023, 19:27 GMT 
表格型强化学习是指状态空间和动作空间都是有限集,可以使用表格来描述动作值函数的情况。当状态空间和动作空间很大,甚至是连续的情况下,使用表格来描述值函数就不再可行。此时我们可以使用函数逼近理论来逼近值函数。


[6] @halomaster • 16 Mar 2023, 19:29 GMT 
一个重要的概念是“值函数”(Value Function)。值函数指的是一个状态下,对所有可能的动作行为的期望值。


[7] @halomaster • 16 Mar 2023, 19:30 GMT 
在强化学习中,我们一般用Q-learning算法来计算价值函数,特别是动作价值函数(Action Value Function)。动作价值函数是指在一个状态下,采取某个动作时的期望价值。


[8] @halomaster • 16 Mar 2023, 19:32 GMT 
直接策略搜索方法是指将策略参数化,然后在参数空间直接搜索最优策略的方法。直接策略搜索方法中,最简单最直接的方法就是策略梯度方法。 策略梯度方法是基于梯度信息寻找策略的参数,以使得策略的表现更好。策略梯度方法中,需要构建`策略函数`,并根据当前状态输入`策略函数`所得到的动作输出,计算损失函数,并根据损失函数来更新策略函数的参数。通过多次迭代更新策略函数参数,就可以不断优化策略函数,以使其能够得到更优的动作选择策略。 策略梯度方法在处理连续动作空间时具有良好的效果和可扩展性,而且可以极大地简化强化学习问题的建模过程。但是,在高维状态空间下的问题中,策略梯度方法的计算复杂度会快速增加,因此需要采用其他的技术来加速求解。


[9] @halomaster • 16 Mar 2023, 19:42 GMT 
TRPO(Trust Region Policy Optimization,信任区域策略优化)算法中,替代目标函数使用了信息论的熵和相对熵概念,同时在算法求解时也需要用到各种优化算法。 在TRPO算法中,采用替代目标函数来优化策略参数。替代目标函数的定义包括两个部分:第一个部分是策略的期望收益;第二个部分是策略分布与已有策略分布之间的相对熵。在最优化过程中,优化算法会将这两个部分进行综合考虑,以获得更加准确的策略更新。 同时,TRPO算法使用了一系列优化算法来求解目标函数的最优解。这些优化算法包括共轭梯度法和牛顿法等。共轭梯度法和牛顿法都是高效的优化算法,能够有效地处理大规模的求解问题。通过采用这些优化算法,可以在保证优化效果的同时,大大提高TRPO算法的求解效率。 总之,在TRPO算法中,信息论的熵和相对熵等概念、优化算法等概念都是非常重要的,并且与算法的求解效果密切相关。因此,在学习TRPO算法时,理解这些概念,对于理解算法的基本思想和提高求解效率都具有重要作用。


[10] @halomaster • 16 Mar 2023, 19:50 GMT 
在TRPO中,代替目标函数采用的是KL散度和熵的概念。这是因为KL散度用于衡量两个概率分布之间的差异,熵则用于描述随机变量的不确定性。在TRPO中,KL散度被用来对比当前策略和旧策略之间的差异,而熵则被用来惩罚策略过于保守或者过于激进。 在求解TRPO时,需要使用各种优化算法。其中,最常用的方法是共轭梯度算法。共轭梯度算法是一种迭代方法,它能够高效地求解大型矩阵的线性方程组。在TRPO中,共轭梯度算法被用来求解策略更新的方向。 除了共轭梯度算法之外,还可以使用其他优化方法,如牛顿法、拟牛顿法等。这些方法在TRPO中的应用也得到了广泛的研究。


[11] @halomaster • 16 Mar 2023, 19:54 GMT 
深度学习的一些应用,例如图像识别和语音识别等,主要是解决感知问题。也就是说,深度学习模型通过对输入数据进行特征提取和学习,将输入数据转换为可用于下游任务的表示形式,例如图像和语音等。这些表示形式可以使计算机更好地理解和处理输入数据,从而解决感知问题。 而强化学习则主要用于解决决策问题,通过学习寻找一种最优策略,使得智能体可以在环境中获得最大的长期奖励。强化学习算法的目标是学习如何进行优秀的决策,而不是区分不同的输入数据。 综上所述,深度学习和强化学习可以结合起来,实现智能决策的终极目标。深度学习可以帮助我们对感知任务进行建模和处理,提取出有用的特征信息,而强化学习则可以根据这些特征信息来进行决策,从而实现更智能、更高效的问题求解。


[12] @halomaster • 17 Mar 2023, 15:10 GMT 
马尔科夫性(Markov property)是指`一个系统的下一个状态只与当前状态有关,而与过去的状态无关`。具体来说,`如果一个系统满足马尔科夫性,那么它的未来状态的概率分布仅仅取决于当前状态,而与过去的状态序列是无关的。` 这个性质`非常重要`,因为它允许我们使用马尔科夫链来建模很多现实中的随机过程。例如,在机器人控制、自然语言处理、金融市场等领域中,马尔科夫链被广泛应用于状态预测、决策制定和风险管理等问题。 马尔科夫性的重要意义在于,它消除了系统状态之间的历史依赖性,简化了模型的复杂度,使得我们可以更加简单和高效地分析和预测系统状态的演化。例如,如果一个系统的状态空间很大,而且状态之间存在复杂的历史依赖性,那么我们很难通过传统的数学方法来求解系统的状态演化和预测。但是,如果我们假设该系统满足马尔科夫性,那么我们就可以通过构建一个状态转移矩阵来描述系统状态的演化,并且可以使用马尔科夫链的理论来分析系统的稳定性、收敛性、周期性等特性。 总之,马尔科夫性是一个非常重要的概念,它具有广泛的应用和理论意义。理解这个概念有助于我们更好地理解和应用马尔科夫链的相关理论和方法。


[13] @halomaster • 18 Mar 2023, 00:42 GMT 
所谓马尔科夫性是指`随机过程中的下一个状态仅依赖于当前状态,而与之前的状态无关。`也就是说,`给定当前状态,无论过去的状态如何,下一个状态的概率分布都是相同的,这是一个无记忆的性质。`这种性质在概率论和统计学中具有重要的应用,在研究随机过程的性质和特征时经常被使用。马尔科夫性质是许多重要的随机过程模型的基础,例如马尔科夫链、隐马尔科夫模型等。


[14] @halomaster • 18 Mar 2023, 03:54 GMT 
随机过程是数学中用来描述随机变量序列的学科,它主要研究的是`随时间变化的一族随机变量`。在随机过程中,每一个时间点上的随机变量都是一个状态,而`随机变量的序列就是随机过程`。随机过程可以分为很多种类,其中马尔科夫随机过程是一种非常重要的随机过程。 马尔科夫随机过程是一种随机过程,它体现了马尔科夫性质,即在给定当前状态的情况下,未来状态的概率只与当前状态有关,而与过去状态无关。马尔科夫随机过程是一种具有`“无记忆性”`的随机过程,这种特性使得马尔科夫随机过程的分析和计算非常方便。 马尔科夫随机过程在应用中有着广泛的应用,例如在信源编码、货车调度、排队论、金融工程等领域都有着重要的应用。同时,马尔科夫随机过程也是很多其他随机过程的基础,例如布朗运动、泊松过程等等。


[15] @halomaster • 18 Mar 2023, 04:03 GMT 
策略是指将当前状态映射到执行某个动作的概率分布,常用符号`π`表示。在强化学习中,`智能体需要根据当前的状态来选择一个动作`,策略就是描述如何进行这个选择的方法。 具体来说,策略π是从状态集到动作集的映射,对于每个状态s,策略`π(s)`是一个概率分布,表示在状态s下,智能体选择每个动作的概率。通常情况下,策略π是基于当前状态的特征向量,使用模型来计算每个动作的概率,然后选择概率最高的动作。 策略在强化学习中非常重要,它直接影响智能体的行动,决定了智能体在环境中的表现和学习效果。因此,设计一个好的策略,是强化学习中的一个重要问题。


[16] @halomaster • 18 Mar 2023, 04:09 GMT 
在强化学习中,概率起到了重要的作用。首先,强化学习的策略往往是随机策略。采用随机策略的好处是可以将探索耦合到采样的过程中,即机器人可以通过随机选择动作来`探索`新的策略空间,从而找到更好的策略。概率在这里被用来描述不同动作的选择概率,并控制探索的程度。 其次,在实际应用中,存在各种噪声,这些噪声大都服从正态分布。例如,机器人传感器的噪声、环境的不确定性等都会对观测数据产生噪声。为了在这种情况下更好地估计状态和价值函数,需要使用概率的知识来描述噪声的分布以及如何进行噪声的滤除。 此外,在一些强化学习算法中,如策略梯度算法、Q-learning等算法中,概率也被广泛应用。例如,在策略梯度算法中,概率用于计算不同动作的概率,并用于优化策略的参数。在Q-learning算法中,概率用于计算状态-动作值函数的期望值,以便估计最优的动作价值。


[17] @halomaster • 18 Mar 2023, 13:16 GMT 
随机变量是指可以随机地取不同值的变量,常⽤⼩写字⺟表⽰。


[18] @halomaster • 18 Mar 2023, 13:17 GMT 
在MDP中随机变量指的是当前的动作,⽤字⺟a表⽰。


[19] @halomaster • 18 Mar 2023, 13:29 GMT 
期望和方差是统计学中两个重要的概念。 期望是指一个随机变量的平均值,即所有可能取值的概率乘以其取值的总和。例如,如果随机变量X可能取到以下几个值:x1, x2, ..., xn,并且其对应的概率为p1, p2, ..., pn,则X的期望值为:(x1*p1) + (x2*p2) + ... + (xn*pn)。期望值可以理解为随机变量的中心点,它描述了随机变量在大量实验中表现的平均水平。 方差是描述随机变量分布的离散程度的指标,是每个数据点与其期望值之差的平方的平均数。在统计学中,我们通常会对数据集的方差进行计算,以了解数据集中的数据点分散程度。方差越大,说明数据点分散程度越高,数据点之间的差异性越大;方差越小,说明数据点分散程度越小,数据点之间的差异性越小。方差是一个非负实数,它的平方根称为标准差。 在应用中,期望和方差常常用于描述随机变量的分布情况,例如正态分布、二项分布、泊松分布等。通过对随机变量的期望和方差进行计算和分析,可以帮助我们更好地理解数据分布的特征和规律,进而进行更准确的预测和决策。


[20] @halomaster • 18 Mar 2023, 14:06 GMT 
当智能体采⽤策略π时,累积回报服从⼀个分布,累积回报在状态s处的期望值定义为状态-值函数。 注意:状态值函数是与策略π相对应的,这是因为策略π决定了累积回报G的状态分布。


[21] @halomaster • 18 Mar 2023, 14:07 GMT 
跟⻢尔科夫过程不同的是,⻢尔科夫决策过程的状态转移概率是包含动作的。


[22] @halomaster • 19 Mar 2023, 03:16 GMT 
从⼴义上来讲,强化学习可以归结为序贯决策问题。即找到⼀个决策序列,使得⽬标函数最优。


1 of 1 pages  22 replies