春分 | 环境不仅改变了你,也改变了AI

当你在课堂上漂亮地回答了老师提出的问题之后,老师满意地点了点头,并当堂宣布你的期末总分加1分;周围的同学们发出惊呼,并在之后的课堂上你和你的同学们响应老师提问的频率也提高了。而某一天,老师面对缺勤的同学宣布了扣分,从此每一次课都很少有人缺勤。这一现象很合理,因为有好处的事情大家都愿意去尝试,而有坏处的事情大家都想去规避。
上述例子其实就是“强化理论”在教育学当中的一个简单应用。强化理论是由美国心理学家斯金纳(B. F. Skinner)提出的一套用于解释人类行为是如何随着环境反馈发生变化的理论。斯金纳将环境反馈的信号分成了正强化和负强化,如果人的一个行为得到了正强化,那么这个行为出现的概率就会得到提升,反之则降低。在开头的例子当中,期末总分加1分就是正强化,因缺勤的扣分就是负强化。
既然人的行为能被正、负强化所修正影响,那么人工智能(AI)是否可以使用类似的手段去修正它的决策呢?这就是“强化学习”,通过预先设定的环境奖励反馈来更新 AI 模型的参数,以优化 AI 的行为策略;它不需要像监督学习或自监督学习那样预先收集、标注很多数据,而是在一个环境当中通过不断的交互并收到环境反馈的奖励信号,即自己收集数据,然后用跟环境交互产生的数据优化策略。像目前的很多棋类算法,王者荣耀 AI 绝悟,麻将 AI Suphx 均会涉及到强化学习算法;以及最近火热的语言模型 ChatGPT,也用到了基于人类反馈的强化学习算法。

一般来说,强化学习可以分成三类:基于值(Value-based), 基于策略(Policy-based)和行动者-评论家(Actor-Critic)。
基于值(Value-based)的方法注重于学习一个估值函数, 代表当前t时刻的局面状态,
代表选取的动作,
就代表了当 AI 在状态
下执行了动作
之后的局面情况;当Q值通过强化学习的算法(比如DQN,DDQN)学的很好时,面对每一个状态
,AI 就可以选择使得
值最高的动作
来执行(不考虑探索问题);在王者荣耀游戏当中,AI 控制的英雄选择的动作击杀了对方英雄,那么此时的Q值就应该给出一个较高的打分。
基于策略(Policy-based)的方法直接学习一个策略概率分布。如果在t时刻的局面
下执行动作
获得了正的奖励,那么下次选取动作
的概率应该被提升;反之,如果动作
获得了负的奖励,那么选取动作
的概率应该被降低。当然,降低或者提升的幅度依赖于随后环境反馈的奖励的幅度,奖励越高那么提升的幅度也越多,一些简单的算法会把之后的所有奖励之和
用于衡量幅度。
行动者-评论家(Actor-Critic)其实是把上述两者进行了结合,Actor 即是策略,Critic 即是估值
。我们发现如果要计算 Policy-based 方法的
,那么就要在游戏结束才能得到,而在
其实描述了动作
对局面效果如何,在 Value-based 方法当中,有一个类似的函数
也是描述了动作
对局面的效果。因此可以同时学习一个Q(s, a)和一个策略分布π(a|s),然后使用Q(s, a)的值来评估动作a在概率分布中的概率是否应该被提高、应该被提高多少。
上述只是举了一些简单的算法例子,为了学习过程更加稳定、学到的策略更加优质,学者还会修改上述函数的学习方式,比如 Policy-based 方法当中的提升幅度的衡量。
强化学习随着发展还有更多的种类,比如离线强化学习通过类似于监督学习的方式收集数据,然后用这些数据预测每次的回报和动作;也有不同的分类方法比如同策略(on-policy)和异策略(off-policy),前者用于更新策略的数据是当前策略交互得到(你举手回答问题->你获得加分->你举手更加频繁),后者用于更新策略的数据是其他策略交互得到(别人举手回答问题->你看到他获得了加分->你举手更加频繁)。
目前强化学习仍然存在许多问题需要解决。例如人类可能几天就能学会打乒乓球,但是 AI 因为样本利用率低需要学习很久。此外,如何平衡探索和利用也是一个挑战,因为 AI 需要在尽可能短的时间内找到最优解,同时又不能完全放弃探索新的可能性。总之,为了更好地应用于各种实际问题中,强化学习领域仍需要不断地探索与研究。

PKU Hyperplane Lab