《强化学习》学习笔记1——基本概念

        人工智能有三大流派,分别是功能主义、行为主义、和结构主义。其中功能主义着重于通过算法或程序去模拟人思维的过程,如专家系统;而结构主义则是如今大火的人工神经网络,通过构建和人大脑相似的结构来模拟人或动物的部分智能;而行为主义最初是一个心理学流派,他们认为人的心理活动都是外界的一些刺激导致人或动物身体内部的一些物理变化和化学变化,通过研究人或动物的受到环境刺激而产生的行为变化规律来研究心理学。一个很著名也很成功的实验就是巴甫洛夫的狗。给狗投递食物,狗会分泌唾液,这是先天的非条件作用;给狗投递食物的同时响起铃声,次数多了,不投递食物,只响起铃声,狗也会分泌唾液,这时狗已经通过后天的训练建立了条件反射,铃声和分泌唾液建立了联系。所以行为主义认为,动物的学习活动都可以总结为外界刺激和行为建立联系的过程,只不过不同的行为复杂程度不同。同时动物在做出行为后获得的奖惩会强化这一联系。这就是强化学习中“强化”两个字的由来。

 

        行为主义的想法在当时确实可以解释很多现象,但是在认知心理学发展的今天,完全套用在人的认知活动上其实是不合理的。有一个笑话:

有一个很有趣的故事能够戏谑地说明物种之间存在本质意义上的差异。这个故事就来自于开头我们提到的巴普洛夫的经历。话说巴普洛夫研究狗分泌唾液的时候,他成功地将「铃声」与「狗分泌唾液」之间建立了条件反射。但是,当他把实验对象换成他的弟弟尼古拉时——巴甫洛夫像往常一样摇动铃铛,但却没有拿出面包片——尼古拉的反应并不是止不住地流口水,而是抡圆了胳膊,一记左勾拳将巴甫洛夫打进了医院。

——摘录自11.行为主义心理学评述「总结篇」 - 知乎

        强化学习的一个很重要的应用就是 AlphaGo了,当年2016年AlphaGo横空出世的时候,我就非常感兴趣和激动。后面看到AlphaGo升级版master和人类围棋顶尖高手的对决,确实达到了state-of-art的状态,人类已经忘尘莫及了。一直想去了解AlphaGo的底层原理,但是拖到现在才下定决心去系统学习一下。学习过程中会将学习笔记记录下来,一为整理一遍加深理解,二为后续方便翻看。

强化学习的一些基本概念

state: 状态。当前环境的可观测的状态。

agent: 智能体。

action: 智能体应对环境刺激所作出的行为。

policy: 策略。智能当前环境的刺激做出行为的策略,可以理解为当前环境的状态和智能体下一步行为之间的映射关系。一般习惯称之为\pi函数:

        \pi(s,a) ->[0, 1]

\pi函数表示在当前状态为s时智能体采取行为a的概率。 

策略可以是确定的,也可以是不确定的。当策略是确定的时候,\pi函数的取值为离散的0和1,当策略是不确定的,\pi函数 是一个概率分布函数。

reward: 奖惩。在学习过程中,智能体会根据奖惩反馈去修正\pi函数 ,以其在做出的行为能够获得更大的正向奖惩价值。

state transition: 状态转移。

《强化学习》学习笔记1——基本概念_第1张图片

同样的,状态转移也可以是随机的。随机的意思是,当前状态下,智能体做出某种行为,环境的反馈不一定确定的,比如说投掷一枚硬币,不一定每次都是正面。状态转移函数的数学形式:

p(s2|s1,a)

表示在做出行为a的情况,环境状态由s1转移到s2的概率。

所以强化学习中有两个随机性

  • 智能体的行为的随机性
  • 环境状态转移的随机性

return: 累计回报。定义如下:

U_{t} = R_{t} + R_{t + 1} +.. + R_{t + n}

U_{t} 表示从当前形式下,未来一系列动作产生的价值收益。当然,未来是不确定的,行为策略和环境状态都是不确定,时间越远,不确定性就越大,所以理论上对当前的价值收益影响就越小。所以较为合理的描述是在奖励前乘以一个折扣系数:

                                                  U_{t} = R_{t} + \gamma R_{t + 1} +.. + \gamma^{n}R_{t + n}

\gamma可以去0到1之间的数,这样时间越近的权重越大。

因为U_{t} 依赖于未来的状态和行为,而未来的状态和行为都是一个随机变量,所以U_{t}是一个随机变量。

action-value function: 行为价值函数——Q(s, a)

对于特定的\pi函数,某一时刻特定状态采取特定行为的价值函数为:

                                   Q_{\pi}(s_{t}, a_{t})=E[U_{t}|(S_{t}=s_{t},A_{t}=a_{t})]

U_{t}依赖于未来的状态和行为,而未来的状态和行为是不确定的,只有当前的状态和行为是可以确定的。所以为了评估当前状态下采取某一个行为的价值收益,我们可以对未来的价值收益求期望。当然这个价值收益还和\pi函数有关,采取不同的行为策略,价值收益的期望肯定是不同的。

那么,对所有的\pi函数,一定有一个\pi函数 可以使得Q_{\pi}的取值最优,这个最有的 Q_{\pi}定义为Q^{*}

                                          Q^{*}(s_{t}, a_{t})=\max_{\pi} Q_{\pi}(s_{t}, a_{t})

Q^{*}和  \pi函数无关,所以我们就可以使用Q^{*}函数来评估当前状态下采取某一行为的价值收益。如果知道了Q^{*}函数,就可以知道智能体在环境中采取最优行为了。

state-value function: 状态价值函数。——用于判断当前状态的好坏,记为V_{\pi}

                                                ​​​​​​​        V_{\pi} = E_{A} Q_{\pi}(s_{t},A) 

V_{\pi}Q_{\pi}关于表征行为的随机变量A的积分,积完分之后就和行为无关了。 V_{\pi}表示当前状态下在特定行为策略下所能获得的累计回报的期望值。

强化学习的学习目标

  1. 学习Q^{*}(s_{t}, a_{t})函数,Q^{*}(s_{t}, a_{t})可以告诉我们当前状态下,采取哪一个行为a_{t}, 可以取得最有的价值期望值。
  2. 学习\pi(s_{t}, A)函数,\pi(S, A)可以告诉我们,当前状态下,应该采取的行为的概率。

以上两点只需要求解出其中一点就可以指导智能体在环境中做出正确决策,所以强化学习的训练过程就是求解上述这两个函数之一。

参考:

强推!【深度强化学习完整版】不愧是王树森教授!6小时让我搞定了强化学习!学不会来打我!(人工智能/深度学习/AI/强化学习)_哔哩哔哩_bilibili

你可能感兴趣的:(学习,人工智能)