https://www.toutiao.com/a6641864763305361927/
2019-01-02 19:47:27
内容目录:
一、强化学习的成功
二、概念和基础
2.1设计强化学习系统
2.2人工智能环境类型
三、问题公式化
3.1数学公式
3.2马尔可夫决策过程
3.3价值函数
四、RL训练术语
4.1基于模型与无模型
4.2On-policy与Off-policy
4.3策略梯度与价值函数
4.4强化学习算法
五、其他概念
5.1非稳定问题
5.2多臂强盗
5.3语境强盗
5.4探索与开发困境
5.5强盗策略
深度学习爱好者在处理许多概念时可能会遇到一些含糊不清的问题,而不会考虑他们的具体用例并将多个强化学习问题分开。
本文旨在降低强化学习的模糊性,并在不引入大量数学细节的情况下对其进行全面概述。
也是理解RL背后直观的指导原则,有助于将现实世界中的问题形式化为强化学习模型。
一、强化学习的成功:
强化学习是一种ML概念,它通过尝试和错误改进,学习agent在给定的情况下自动选择最优决策,从而获得最大的长期收益。
特别是,它在自动化游戏中取得了巨大成功; AlphaGo是一种深度强化学习算法,能够击败Go中的世界冠军。
AlphaGo在24小时内在国际象棋以及围棋比赛中取得超人的水平。
它通过基于国际象棋的手工特征提取规则增加了优势,并且跳过了监督学习步骤,通过与自己对弈来学习游戏,完全从随机游戏开始。
它用于自然语言处理,以执行翻译和总结任务(结合预训练的监督学习),在机器人技术中,机器人学会根据其传感器和摄像机的输入进行控制,自驾车也是强化学习最突出的挑战之一。
它被用于近似优化问题; 它是替代依赖于穷举搜索,且可能陷入局部极小值的的组合优化算法的合适选择。
RL可以帮助将搜索定向到给定问题输入的最优解决方案的方向,并且可以在很短有效时间内完成。
同样,它也可替代和改进某些监督学习任务(分类,翻译,总结)的性能。
二、概念和基础知识:
这一部分旨在定义与强化学习相关的基本关键概念,例如特定案例的一些数学结构。
通常,强化学习设置有两个组成部分; Agent与Environment(环境)。
agent从外部世界(环境)获取信息信号,以实现特定目标的最大化增益。
如果对环境的特定信息是在时刻t(或瞬时状态St),则agent在环境中完成一个操作 ,环境由下一个状态和执行的操作对给定状态作出响应并反馈相应奖励。
2.1设计强化学习系统
在设计RL系统时,必须首先定义环境类型,Agent类型,状态集,奖励机制。
S(states):状态集指的是特定信息(如:从不同传感器收集的信号,如摄像机,温度等,可以转换为更相关的信息,如障碍物,位置,速度,......,棋盘上的棋子位置)。相当于监督学习中的输入功能。
A(Action):定义了可能要执行的动作(如:在游戏中模仿玩家的动作:向上移动,向下移动,向后移动,向前移动等)。
动作和状态可以采用离散的连续值。
R(Rewards):得到的奖励,在执行任务过程中机器人达到所设计的目标位置时得到相应的的奖励,称之为奖励机制,(例如,如果机器人避开障碍物但没有接近目标,我们可以增加1点奖励,如果,避开障碍物并接近目标则增加10点奖励,如果没有避开障碍物则增加-10点奖励(也称为惩罚))
这种规则将帮助agent确定该路径是否为目标位置的最佳路径。
在某些问题中,agent的目标是强制性的(例如,在机器人中我们可以训练agent如何达到特定目标,而在其他一些问题中又不是强制性的(如在吃豆游戏中agent旨在最大化他的奖励而并不需要指定特定的目标)。
2.2 人工智能环境类型:
①、 确定性和随机性:如果环境的下一个状态完全由当前状态和agent的动作决定,那么环境是确定性的。在agent可能会影响部分环境的情况下,它也可以是随机性的。
②、 完全可观察,部分可观察或未知情况:
在一些问题中,环境状态可以完全观察(国际象棋:我们可以观察所有动作)。部分可观察:可用的状态并未完全定义环境的行为(扑克游戏:只能知道当前的出牌情况,而未出的牌是无法观察的)。未知情况:信息发布与看到信息后是否做出行动,未未知情况(如用户与发布的广告交互)。
如果环境是确定性的=>完全可观察的(如P(st + 1 | at,st))已知,直观地应该知道s(t))
如果环境不可观察或部分可观察,则必然不具有确定性(行动不会改变环境状态)
我们可以有一个可观察的环境但不具有确定性(国际象棋棋盘是可观察的,但是agent的行为无法被预测)
③、 稳定的,非稳定的:
如果当前状态和奖励仅依赖于其短期变化而非状态,则被认定为稳定的。
如果状态可能受其历史变化的影响,则认定为不稳定的。
④、良性与对抗性:
良性:无论对agent的奖励是积极的还是消极的都无法改变当前的环境(天气是一个良性环境)。
对抗性:agent试图最大化自己得到的奖励以减少另一方agent的奖励。(例如:国际象棋和围棋性游戏)。
对抗性环境是随机的。
三、问题公式化
在这里,我们考虑状态可用于agent的情况。
3.1 数学公式
设{(s0,a0,r0),(s1,a1,r1),(s2,a2,r2),...,(st,at,rt),...,(sTmax,aTmax,rTmax)}是元组(s,r,a)的一个序列:此序列称为数据集或路径。
我们将agent的回报定义为从时刻t开始的长期累积回报。
Tmax是指数据集的最大值(Tmax可能是无穷大)
一般而言,策略π是从状态到动作的概率分布的映射:
π:S→p(A = a | S)。
强化学习的目的是建立一个能够根据具体目标选择最佳行动的agent,以最大化长期回报:
在数学上,找到一个策略π*,它实现了所有状态的最大预期回报:
π*称为最优策略。
γ是[0,1]中的折现系数,它是为了惩罚对于未来回报没有得到最直接的好处。(例如我们可以在20步内就达到最大化收益而并非50步)。
另外;它保证了无穷集情况下返回值的收敛性。
3.2 马尔可夫决策过程(MDP)
考虑一个固定的,可观察的环境; 我们通常用二阶Markov Decision Processes来描述这种类型,而当前状态仅取决于先前的状态,state-action。
转换函数P记录在获得奖励r的同时采取行动之后从状态s转换到s'的概率:
鉴于该概率,我们可以完全定义有限的MDP特征,因为我们可以推导出该概率函数的表达式。
将t时刻的状态-动作对映射到t + 1时刻的状态分布的状态转移概率定义为:
状态 - 动作对的预期回报作为 two-argument函数r:
状态 - 动作-下一状态的预期回报作为 tree-argument函数r:
3.2 价值函数:
通过采用策略π将状态值函数V定义为从状态s开始的预期回报:
根据定义,最优策略是最大化预期回报的策略。因此,求最优P就是求最优V:
类似地,我们定义状态 - 动作值或质量函数Q(s,a),其定义为从给定状态开始并在策略π下执行动作a的预期返回。
对于每个状态s,我们贪婪地更新动作a:
另外,我们还有:
最后,我们将状态 - 动作对的优势函数定义为质量值和状态值之间的差异。
Aπ(S,A)=Qπ(S,A)-Vπ(S)
四、RL训练术语:
训练术语可以根据几个标准进行分类:
4.1、基于模型与无模型
基于模型的算法依赖于用经验估计每个元组(s',a,s)的转移概率P(s'| s,a)的值,因为它可以充分定义马尔可夫过程,使得解析方程式以找到最优行为。
特别是动作集和状态增长时,存储所有值会导致内存不足甚至出现其他问题。
或者,采用无模型算法,使用反复训练来更新其学习集的值。
4.2、策略与无策略
关键是要明确更新规则的动态。
使用当前策略生成的样本的策略上的学习值。
与此同时,off-policy通过贪婪地搜索给定的状态来探索环境,从而最大限度地提高结果。
4.3、 策略梯度和值函数算法:
我们可以将RL算法分成两个主类:基于价值的算法,旨在通过寻找最优值函数来寻找最优策略。
当状态和动作的数量是有限的时,它们可以很好地工作。
但当状态或动作空间连续时,就会变得不足。
因此,一些基于值的算法特别是Deep Q-Learning算法试图在引入网络参数θ的同时用神经网络接近Q-values。
因此,基于策略方法的目的在于通过引入可训练参数π(a | s;θ)来训练策略函数,并且使用关于策略熵的最大化的策略梯度来更新θ参数。
近似值函数的主要缺点是缺乏通用性,但是不适用于不可见状态
Actor Critic是一个RL变体,它将策略梯度与值函数近似相结合;
引入价值函数估计已经表明它们能够稳定策略熵估计,这使得大多数策略梯度算法使用了这个概念。
因此,在一些研究论文中将其视为策略梯度类的子变量。
由于基于价值的解决方案更加稳定,因此,Actor Critic增加了Q值的估计,以便稳定策略近似。
4.4、 强化学习算法:
直观的强化学习算法是基于模型的动态规划算法,包括通过一系列政策评估和贪婪改进(政策改进)来解决MDP
蒙特卡罗和时间差分方法:
蒙特卡罗方法包括根据经验估计从状态s开始的预期收益。
预期收益的估计是在数据集结束后进行的
时间差异也类似于MC,唯一的区别在于它从经验中学习并且更新函数值只需要获得即时奖励。
TD控制算法实际上有两种变体(Q-Learning:Off-Policy TD控制和SARSA:On-Policy TD控制)
五,其他概念:
5.1、非稳定问题:
然而,在一些现实世界中的问题中,该假设可能由于丢失关于历史行为的信息而导致性能下降。
或者,为了“模拟长期非平稳”,我们训练具有记忆的agent或用递归神经网络编码状态序列。
5.2,多臂匪徒:
多臂强盗(Multi-armed Bandits)问题旨在处理未知环境,其中奖励仅取决于行动。它通常在我们对环境没有任何先验知识并且想要探索环境响应时使用。
(在内容推荐中:在不知道来自新访问者偏好的任何信息的情况下发布的页面内容:如果访问者交互建议的内容,则获得奖励)
5.3、Contextual bandits:在其他问题中,我们谈论语境强盗(Contextual bandits) - 当某种信号可以与正确的行动相关联时。对于广告推荐,了解一些用户历史偏好,我们可以调整操作(要发布的内容)。值得注意的是,动作对下一个状态将会产生什么影响。语境强盗有状态,行动和奖励,但没有过渡规则,它们可以被视为一组完全独立的事件。
5.4、探索与开发困境
几种强化学习训练算法的平衡与探索。
探索是指利用当前策略在训练期间生成agent的下一个动作。
而探索旨在通过改变给定状态的行动来探索环境反馈。
贪婪行为的产生过程称为强盗策略。
5.5,强盗策略:
Common Exploration bandit 是ε-greedy exploration增加策略参数进行获取的。
我们可以通过构建最大化奖励的策略,以更智能的方式生成该邻域行动。
UCB1是ε-greedy的改进版本,Bandit策略取得了巨大成功。