强化学习——基本概念
强化学习(Reinforcement Learning)是机器学习的一种,它通过与环境不断地交互,借助环境的反馈来调整自己的行为,使得累计回报最大。*强化学习要解决的是决策问题——求取当前状态下最优行为或行为概率。*强化学习包括智能体和环境两大对象,智能体是算法本身,环境是与智能体交互的外部。
何为强化学习
机器学习的一大分支
- 强化学习(Reinforcement Learning)是机器学习的一种,它通过与环境不断地交互,借助环境的反馈来调整自己的行为,使得累计回报最大。
- 强化学习要解决的是决策问题——求取当前状态下最优行为或行为概率。
- 强化学习包括智能体和环境两大对象,智能体是算法本身,环境是与智能体交互的外部。
智能体(Intelligent Agent),在人工智能领域,智能体指一个可以观察周围环境并作出反应的自主实体。——维基百科
graph TB A(机器学习) — B(监督学习) A — C(非监督学习) A — D(强化学习)
机器学习主要分为三大类:监督学习、非监督学习和强化学习。
与前两者不同,强化学习的训练样本没有任何标记,仅有一个延迟的回报信号。强化学习通过对训练数据进行学习,以获得从状态到行为的映射。这是一大区别。
在监督学习和非监督学习中,数据是静态,不需要与环境进行交互。此外,数据有着前提假设,如服从混合高斯分布、泊松分布等。然而,强化学习需要在与环境不断交互的过程中动态学习,所需的数据也是由与环境不断交互动态产生的,产生数据之间高度相关。强化学习涉及的对象更多、更复杂。此外另一个区别。
六个关键词
学习与规划(Learning & Planning)
学习与规划是两种方法,分别适用于不同的情境。
学习针对未知环境的情况。仅通过与环境进行交互,采用试错法逐渐改善其策略。
当智能体,已经知道或近似知道环境如何工作后,可以选择规划方法。智能体并不直接与环境发生实际交互,而是利用自己拟合的环境模型获得状态转换概率和汇报,在此基础上改善其策略。
探索与利用(Exploration & Exploitation)
探索与规划是两种行为,相互对立。
探索是指智能体在一种状态下,试图尝试一个新的行为,以图挖掘更多关于环境的信息;利用是指智能体根据已知信息,选取当下最优的行为来最大化回报。
预测与控制(Prediction & Control)
预测与控制是解决强化学习问题的两个步骤,也成为评估与改善。
解决一个强化学习问题,首先是解决关于预测问题:评估当前策略的质量。而后在此的基础上,解决控制问题:对当前策略不断优化,直到找到一个足够好的策略能够最大化未来的回报。
何为马尔可夫
强化学习的大部分算法都是以马尔可夫决策过程为基础发展。马尔可夫过程为强化学习问题提供了基本的理论框架,几乎所有强化学习问题都可以用马尔可夫决策过程(MDP)进行建模。以下将做简单介绍。
关于“马尔可夫”的概念
马尔可夫性
马尔可夫性(Markov Property),如果某一状态蕴含了所有相关历史信息。只要当前状态可知,所有的历史信息不再需要,即当前状态可以决定未来,则认为该状态具有马尔可夫性。
可用以下状态转移公式表示马尔可夫性:
\[P(S_{t+1}|S_t)=P(S_{t+1}|S_t,\cdots,S_2,S_1)\]
可见状态\(S_t\)包含的信息等价于所有历史状态\(S_1,S_2\cdots,S_t\)包含的信息,所以该状态具有马尔可夫性。
例如,围棋未来的走向只和当前棋面相关,之前的棋面不再有实际意义,因此棋面具有马尔可夫性,它已经涵盖了导致该种局面的所有重要信息。
马尔可夫过程
具有马尔可夫性的随机过程(又称“随机事件”)即马尔可夫过程(Markov Process),又称为马尔可夫链。它是一个无记忆的随机过程,可用一个元组\(<S,\mathbf{P}>\)表示,其中\(S\)表示有限数量的状态集,\(\mathbf{P}\)表示状态转移概率矩阵。
以一张求职者找工作的例子说明马尔可夫链。
graph LR A([本职工作]) B([机器学习]) C([强化学习]) D([故宫旅游]) E([深度强化]) F[人工智能工作] A -->|0.5| A A -->|0.5| B B -->|1/3| A B -->|1/3| C B -->|1/3| F C -->|1/3| A C -->|1/3| F C -->|1/3| E D -->|0.2| C D -->|0.2| B D -->|0.6| E E -->|0.5| F E -->|0.5| D
椭圆表示求职者所处状态,方格“人工智能工作”表示求职者最终找到了满意的工作,即“终止状态”也可以认为它的下一个状态是自身的概率为100%。箭头表示状态间的转移,肩头上的数字表示当前转移的概率。
图中状态转移矩阵为:
\[\mathbf{P}= \begin{bmatrix} 0.5&0.5&0&0&0&0\\ 1/3&0&1/3&0&0&0\\ 1/3&0&0&1/3&0&1/3\\ 0&0&0&0&0.5&0.5\\ 0&0.2&0.2&0.6&0&0\\ 0&0&0&0&0&1\\ \end{bmatrix} \]
矩阵中每个元素\(P_{ss’}\)表示从状态\(s\)转移至状态\(s’\)的概率,从上到下的行(以及从左到右的列)分别表示本职工作、机器学习、强化学习、深度强化、故宫旅游、人工智能工作。
马尔可夫决策过程
马尔可夫决策过程(Markov Decision Process, MDP)是针对具有马尔可夫性的随机过程做出决策。即根据每部每个时间步观察到的状态\(s\),从可用的行动集合中选用一个行动\(a\),环境在\(a\)的作用下,转换至新状态\(s’\)。决策者根据新观察到的状态\(s’\)再做出新的决策,采取行动\(a’\),依次反复进行。
一个马尔可夫决策过程由一个五元组构成:\(M=<S,A,P,R,\gamma>\)
- \(S\)代表环境的状态集合。状态指的是智能体所能获得的对决策的有用信息。
- \(A\)代表智能体的动作集合。它是智能体在当前学习任务中可以选择的动作集。
- \(P\)表示状态转移概率。\(P^a_{ss’}\)表示当前状态\(s\)下(\(s\in S\)),经过动作\(a\)作用后(\(a\in A\))转移至其他状态\(s’\)的概率。数学表达式如下:
\[P_{ss’}^a=P(S_{t+1}=s’|S_t=s,A_t=a) \]
如果\(P\)与动作无关,可写为:
\[P_{ss’}=P(S_{t+1}=s’|S_t=s) \]
给定一个策略\(\pi\)和一个马尔可夫决策过程(MDP):\(M=<S,A,P,R,\gamma>\)。在执行策略\(\pi\)时,状态从\(s\)转移至\(s’\)的概率\(P{\pi}_{ss’}\)表示这一系列概率之和。这一系列概率指在执行当下策略\(\pi\)时,执行某一个行为\(a\)的概率\(\pi(a|s)\)与该行为能使状态从\(s\)转移至\(s’\)的概率\(Pa_{ss’}\)的乘积。数学表达式如下:
\[P^\pi_{ss’}=\sum_{s\in A}\pi(a|s)P_{ss’}^a \]
策略是决策决定智能体行为的机制,是状态到行为的映射,用\(\pi(a|s)\)表示: p i ( a ∣ s ) = P ( A _ t = a ∣ S _ t = s ) \\pi(a|s)=P(A\_t=a|S\_t=s) pi(a∣s)=P(A_t=a∣S_t=s)
策略分为确定性策略与随即策略。确定策略会根据具体状态输出一个动作:\(\mu(a)=s\)。随即策略根据状态输出每个动作的概率(概率值区间\([0,1]\))
- \(R\)表示回报函数。\(R^a_s\)表示在当前状态\(s(s\in S)\),采取动作\(a(a\in A)\)后,获得的回报。数学表达式如下:
\[R^a_s=E[R_{t+1}|S_t=s,A_t=a] \]
一些情况下,\(R\)仅与状态有关,因此可写为:
\[R^\pi_s=E[R_{t+1}|S_t=s] \]
当前状态下,\(s\)执行指定策略\(\pi\)得到的立即回报\(R_a\pi\)是该策略下\(\pi\)下所有可能行为得到的回报\(R_sa\)与该行为发生概率\(\pi(a|s)\)的乘积的和。
\[R^{\pi}_s=\sum_{a\in A}\pi(a|s)R^a_s \]
- \(\gamma\)是衰减系数(Disocount Factor),也叫折扣因子,\(\gamma\in[0,1]\)。使用折扣因子是为了在计算当前状态的累计回报时,将未来时刻的立即回报也考虑进来。
在上面的马尔可夫过程例子中,状态集合\(S=\{\)本职工作、机器学习、强化学习、深度强化、人工智能工作\(\}\);动作集合\(A=\{\)继续本职工作、学习、放弃、找工作、旅游\(\}\)。
把线上的“状态转移概率”换成“动作”和“回报”:
graph LR A([本职工作]) B([机器学习]) C([强化学习]) D([故宫旅游]) E([深度强化]) F[人工智能工作] A -->|继续本职工作\n R=2| A A -->|学习\n R=10| B B -->|放弃\n R=-10| A B -->|学习\n R=-2| C B -->|找工作\n R=4| F C -->|放弃\n R=-10| A C -->|找工作\n R=8| F C -->|学习\n R=-2| E D -->|学习\n R=-2| C D -->|学习\n R=-2| B D -->|学习\n R=-2| E E -->|找工作\n R=10| F E -->|旅游\n R=1| D
当前策略下,根据状态转移矩阵,状态“深度强化”到状态“强化学习”的转移概率为
\[P^\pi_{ss’}=\sum_{s\in A}\pi(a|s)P_{ss’}^a=0.5*0.2+0.5*0=0.1 \]
状态“深度强化”对应的回报为
\[R^{\pi}_s=\sum_{a\in A}\pi(a|s)R^a_s=0.5*1+0.5*10=5.5 \]
贝尔曼方程
贝尔曼方程(Bellman Equation)是强化学习算法的基石,在诸多强化学习方法中,如动态规划、蒙特卡洛、时序差分算法都是基于贝尔曼来求解最优策略。
贝尔曼方程基本思想是将待求解问题分解成若干个子问题,从这些子问题的解得到原问题的解。
贝尔曼方程分为“贝尔曼期望函数”和“贝尔曼最优方程”。
- 贝尔曼期望函数表达了当前值函数(或行为值函数)和它后继值函数(或行为值函数)的关系,以及值函数与行为值函数之间的关系。
- 贝尔曼最优方程表达了当前最优值函数(或最优行为值函数)与后继最优质函数(或最优行为值函数)的关系,以及最优值函数和最优行为值函数之间的关系。
值函数代表智能体在给定状态下的表现,或是给定状态下采取某个行为的好坏程度(用期望回报衡量)。值函数的估计都是基于给定的策略进行的。
回报\(G_t\)为从t时刻开始往后所有的带衰减回报的总和。也称“收益”或“奖励”。公式如下:
\[G_t=R_{t+1}+\gamma R_{t+2}+\cdots=\sum_{k=0}\infty\gammakR_{t+k+1} \]
在\(k+1\)时刻获得的回报\(R\)在\(t\)时刻的价值为\(\gamma^kR\),\(\gamma\)趋近于0表示“近视性”评估,趋近于1表示偏重长远利益的考虑。
状态值函数\(V_{\pi}(s)\)表示从状态s开始,遵循当前策略\(\pi\)所获得的期望汇报;或者说在执行当前策略\(\pi\)时,衡量智能体所处状态\(s\)时的价值大小。这个值可以评估一个状态的好坏并指导智能体选择动作。公式描述::
\[\begin{align*} V_\pi(s)&=E_\pi[G_t|S_t=s]\\ &=E_\pi[R_{t+1}+\gamma R_{t+2}+\cdots|S_t=s]\end{align*}\]
值函数的另一类别,状态行为值函数简称行为值函数\(Q_\pi(s,a)\)。该指标表示,执行策略\(\pi\)时,针对当前状态\(s\)执行动作\(a\)时所获得的期望回报;也表示遵循策略\(\pi\)时,对当前状态\(s\)执行行为\(a\)的价值大小。公式描述:
\[\begin{align*} Q_\pi(s,a)&=E_\pi[G_t|S_t=s,A_t=a]\\ &=E_\pi[R_{t+1}+\gamma R_{t+2}+\cdots|S_t=s,A_t=a]\end{align*}\]
贝尔曼期望方程
对状态值函数\(V_\pi(s)\)定义的公式进行推导:
\[\begin{align*} V_\pi(s)&=E_\pi[G_t|S_t=s]\\ &=E_\pi[R_{t+1}+\gamma R_{t+2}+\gamma^2R_{t+3}+\cdots|S_t=s]\\ &=E_\pi[R_{t+1}+\gamma (R_{t+2}+\gamma R_{t+3}+\cdots)|S_t=s]\\ &=E_\pi[R_{t+1}+\gamma G_{t+1}|S_t=s]\\ &=E_\pi[R_{t+1}+\gamma V(S_{t+1})|S_t=s] \end{align*}\]
在最后一行将\(G_{t+1}\)变为\(V(S_{t+1})\),表示回报的期望等于回报期望的期望。可以发现\(V_\pi(s)\)分解为两部分:第一项为该状态下立即回报的期望,为常数项;第二项为下一时刻转台值函数的折扣期望。
同理,\(Q_\pi(s,a)\)的贝尔曼方程期望方程为:
\[\begin{align*} Q_\pi(s,a)&=E_\pi[G_t|S_t=s,A_t=a]\\ &=E_\pi[R_{t+1}+\gamma Q_\pi(S_{t+1},A_{t+1})|S_t=s,A_t=a]\end{align*}\]
以上为贝尔曼方程的最初形式。贝尔曼方程有四种不同的表达形式,分别给出了状态值函数、行为值函数之间存在的关系。
- 基于状态\(s\)采取动作\(a\),求取\(V_\pi(s)\)。
在遵循策略\(\pi\)时,状态\(s\)的值函数体现为在该状态下,采取所有可能行为的价值\(Q_pi(s,a)\)(行为值函数)与行为发生概率\(\pi(a|s)\)的乘积之和。表达式:
\[V_\pi(s)=\sum_{a\in A}\pi(a|s)Q_\pi(s,a) \]
- 采取行动\(a\),状态转变为\(s’\),求取\(Q_\pi(s,a)\)。
类似的,在遵循策略\(\pi\)时,行为状态价值\(Q_\pi(s,a)\)体现为两项之和。第一项为采取行为\(a\)后立即获得的回报\(Ra_s\),第二项是所有可能的状态值\(V_\pi(s’)\)乘以状态转移概率\(Pa_{ss’}\)带衰减求和。表达式:
\[Q_\pi(s,a)=R^a_s+\gamma\sum_{s’\in S}P^a_{ss’}V_\pi(s’) \]
- 基于状态\(s\)采取动作\(a\),状态转变为\(s’\),求取\(V_\pi(s)\)。
结合1与2,可得到\(V_\pi(s)\)第二种表达式:
\[V_\pi(s)=\sum_{a\in A}\pi(a|s)\left(R^a_s+\gamma\sum_{s’\in S}P^a_{ss’}V_\pi(s’)\right) \]
- 采取行动\(a\),状态转变为\(s’\),采取行动\(a’\),求取\(Q_\pi(s,a)\)。
结合1与2,可得到\(Q_\pi(s,a)\)第二种表达式:
\[Q_\pi(s,a)=R^a_s+\gamma\sum_{s’\in S}P^a_{ss’}\sum_{a’\in A}\pi(a’|s’)Q_\pi(s’,a’) \]
贝尔曼最优方程
最优值函数\(V^*(s)\)是指在所有策略中最大的值函数,即:
\[V^*(s)=\underset{\pi}{\max}V_\pi(s),\ \ s\in S \]
相应的,最优行为值函数\(Q^*(s,a)\)是指所有策略中最大的行为值函数,即:
\[Q^*(s,a)=\underset{\pi}{\max}Q_\pi(s,a),\ \ s\in S \]
贝尔曼最优方程也有四种表达式,体现了最优状态值函数、行为值函数之间的关系。
- 基于状态\(s\)采取动作\(a\),求取\(V^*(s)\)。
当前状态的最优质函数\(V^*(s)\)等于从该状态\(s\)出发,采取的所有行为中对应的那个最大的行为值函数。
\[V*(s)=\underset{a}{\max}Q*(s,a) \]
- 采取行动\(a\),状态转变为\(s’\),求取\(Q^*(s,a)\)。
在状态\(s\)下,采取某个行为的最优价值\(Q*(s,a)\)。由两部分组成,第一部分是离开状态\(s\)的立即回报\(R_sa\),另一部分是所有能到达状态\(s’\)的最优状态价值\(V^*(s’)\)按出现概率求和:
\[Q*(s,a)=R_sa+\gamma\sum_{s’\in S}Pa_{ss’}V*(s’) \]
- 基于状态\(s\)采取动作\(a\),状态转变为\(s’\),求取\(V^*(s)\)。
结合1与2,可得到\(V^*(s)\)第二种表达式:
\[V*(s)=\underset{a}{\max}Ra_s+\gamma\sum_{s’\in S}Pa_{ss’}V*(s) \]
- 采取行动\(a\),状态转变为\(s’\),采取行动\(a’\),求取\(Q^*(s,a)\)。
结合1与2,可得到\(Q^*(s,a)\)第二种表达式:
\[Q*(s,a)=Ra_s+\gamma\sum_{s’\in S}Pa_{ss’}Q*(s’,a’) \]
最优策略
强化学习的目标是找到最优策略\(\pi\),使得该策略下的累积回报期望最大。
对于任何状态\(s\),当且仅当遵循策略\(\pi\)的价值不小于遵循策略\(\pi’\)的价值时,则称策略\(\pi\)由于\(\pi’\),即
\[\pi\geqslant\pi’,\ \ V_\pi(s)\geqslant V_{\pi’}(s), \ \ \forall s \]
对于任意MDP,存在一个最优策略满足:
\[\pi^*\geqslant\pi,\ \ \forall\pi \]
每个策略对应着一个状态值函数,最优策略自然对应着最优值函数。因此,一旦有了\(V^*\),基于每一个状态\(s\),做一步搜索,一部搜索之后,出现的最优行为将是最优的,对应的最优行为集合就是最优策略:
\[\pi^*=(a|s)=\underset{a\in A}{argmax}R^a_s+\gamma\sum_{s’\in S}Pa_{ss’}V*(s’) \]
如果有了最优行为值函数\(Q*(s,a)\),则求解最优策略将变得更为方便。对于任意状态\(s\),**直接找到最大化\(Q*(s,a)\)对应的行为**,最优策略求取公式:
\[\pi^*=(a|s)=\begin{cases} 1 \ \ a=\underset{a\in A}{argmax}Q^*(s,a) \\ 0\ \ other \end{cases}\]
对于任何MDP问题,总存在一个确定性的最优策略,找到最优行为价值函数相当于找到最优策略。
在同一个状态\(s\)下,会存在多个行为\(a\),每一个行为分别对应一个行为值函数\(Q(s,a)\)。若在当前状态\(s\)下,有\(m\)个行为值函数相等且取值最大,则其对应的行为概率均为\(\frac{1}{m}\)。
最后的最后
感谢你们的阅读和喜欢,我收藏了很多技术干货,可以共享给喜欢我文章的朋友们,如果你肯花时间沉下心去学习,它们一定能帮到你。
因为这个行业不同于其他行业,知识体系实在是过于庞大,知识更新也非常快。作为一个普通人,无法全部学完,所以我们在提升技术的时候,首先需要明确一个目标,然后制定好完整的计划,同时找到好的学习方法,这样才能更快的提升自己。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
一、全套AGI大模型学习路线
AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!
二、640套AI大模型报告合集
这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
三、AI大模型经典PDF籍
随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。
四、AI大模型商业化落地方案
五、面试资料
我们学习AI大模型必然是想找到高薪的工作,下面这些面试题都是总结当前最新、最热、最高频的面试题,并且每道题都有详细的答案,面试前刷完这套面试题资料,小小offer,不在话下。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)