0%

Machine Theory of Mind

ReconciliationDay_ZH-CN7914130812_1920x1080.jpg

DeepMind 近日发表的最新研究提出 “机器心智理论”(Machine Theory of Mind),启发自心理学中的 “心智理论”,研究者构建了一个心智理论的神经网络ToMnet,并通过一系列实验证明它具有心智能力。这是开发多智能体AI系统,构建机器-人机交互的中介技术,以及推进可解释AI发展的重要一步。

Machine Theory of Mind

目前深度学习和深度强化学习取得了飞跃的进展,但是神经网络还是一个黑盒,我们对其能够取得这样效果的原因并不了解。即使我们能够知道网络各个层的权重,也很难弄清楚它们到底是怎么运作的,以及它们可能出错的地方和潜在的风险。随着AI越来越多地进入人类世界,理解神经网络的需求也越来越大。

暂且不考虑神经网络,首先我们来看一下人类是怎样互相理解的。作为人类,我们每天都会和其他人交流,我们可以预测陌生人未来的行为;可以规划与他人的互动;可以建立高效的沟通。虽然我们并不了解其他人的神经元是怎么活动的,并不了解别人的皮质层是怎么连接的,也并不了解其他人的海马体是怎么运作的,但是我们能够很好的理解他人的行为、揣测他人的想法。这就是心智理论(Theory of Mind)。心智理论是指个体能够理解自己与他人的心理状态(包括情绪意图、期望、思考和信念等)并藉此信息预测和解释他人行为的一种能力。

对其他智能体的 “理解” 有一个显著特点是,智能体对其他智能体的理解不会去思考它真正的底层结构。DeepMind研究人员从人的心智理论中获得灵感,试图构建一个能够对其他智能体进行建模的系统,将其描述为 ——机器心智理论,关注点是观察者如何使用有限的数据自主地为其他智能体建模。

Meta Learning

研究者构建了一个心智理论的神经网络ToMnet,是一种元学习模型。元学习(Meta Learning)也叫做学会学习(Learning to Learn),其研究重心是使机器拥有学习的能力。元学习是实现快速学习的方法之一,已经成为继强化学习(Reinforcement Learning)之后又一个重要的研究分支。人工智能研究呈现出如下趋势:

Artificial Intelligence –> Machine Learning –> Deep Learning –> Deep Reinforcement Learning –> Deep Meta Learning

之所以会这样发展完全取决于当前人工智能的发展。在Machine Learning时代,复杂一点的分类问题效果就不好了,Deep Learning的出现基本上解决了一对一映射的问题,比如说图像分类,一个输入对一个输出,因此出现了AlexNet这样的里程碑式的成果。但如果输出对下一个输入还有影响呢?也就是序列决策问题(sequential decision making)单一的深度学习就解决不了了,这时就进一步衍生出了深度强化学习(Deep Reinforcement Learning)。有了深度强化学习,序列决策初步取得成效,出现了AlphaGo这样的里程碑式的成果。但是新的问题又出来了,深度强化学习太依赖于巨量的训练,并且需要精确的奖励(Reward),对于现实世界的很多问题并没有好的奖励,也没办法无限量训练,这时怎么办?这就需要元学习,能够充分的利用以往的知识经验来指导新任务的学习,元学习成为目前一个新的攻克方向。

元学习是实现快速学习的方法之一。为什么人类能够快速学习,因为我们可以利用以往的经验来学习! 所以,要让深度学习能够快速学习,就要研究如何让神经网络能够很好的利用以往的知识,使得神经网络能够根据新的任务调整自己。

元学习的实现方式多种多样,比如基于记忆Memory的方法 、基于预测梯度的方法 、利用Attention注意力机制的方法等等(参考元学习:实现通用人工智能的关键

Introduction

DeepMind试图建立一个模拟其他智能体的模型,设计了一个心智理论的神经网络(Theory of Mind neural network)——ToMnet。该网络相当于一个代理模型,学习怎样通过元学习从头推理其他智能体。通过这个过程,ToMnet 获得了一个关于智能体行为的强大先验模型,以及仅使用少量行为观察就能更丰富地预测智能体的特征和心理状态的能力。研究者将 ToMnet 应用了到简单的格子环境智能体,并且通过了经典的 ToM 任务测试。研究者认为这个系统——智能体自主地学习如何模拟其他智能体——是开发多智能体 AI 系统,构建人机交互的中介技术,以及促进可解释 AI 进展的重要一步。这项工作还有许多潜在的应用,比如改进复杂多智能体任务的决策、数据校准等。

DeepMind认为,构建心智理论的挑战本质上在于元学习问题。在测试时,我们希望遇到一个以前没见过的智能体,并且它们已经对自身的行为方式有一个强大且丰富的先验知识(训练好的智能体)。此外,在我们看到该智能体在现实中的行动时,我们希望能收集它们的隐藏特征(构成后验知识),这有助于我们预测它们未来的行为。

为此,DeepMind制定了一个元学习任务。构建了一个观察者(observer),它在每一轮(episode)都可以看到 智能体一组新的行为。观察者的目标是预测智能体未来的行为。在训练过程中,观察者应该从有限的数据中快速形成有关新智能体的预测。这种关于新智能体的 “学习” 就是我们所说的元学习。通过这个过程,观察者还应该学习到智能体行为的有效先验,这些知识隐含地捕捉了训练群体中智能体之间的共性。

DeepMind 引入了两个概念来描述该观察者网络及其功能角色。区分两个一般心智理论,即网络的预学习权重与特定智能体心智理论。在网络的预学习权重中,它包含了训练集中所有智能体一般行为的预测。而在特定智能体心智理论中,从单个智能体在测试时的观察形成”agent embedding“,它包含了使得智能体的特性和精神状态区别于其它智能体的内容。这些对应于智能体行为的先验知识和后验知识。

Model

Tasks

ToMnet属于强化学习/元学习的模型,处理的任务是一个部分可观察马尔可夫决策过程族$M=U_jMj$。马尔可夫决策过程(MDPs)是强化学习的数学基础,部分可观察马尔可夫决策过程(POMDPs)是马尔可夫决策过程的扩展。

  1. MDPs

    首先介绍一下马尔可夫决策过程,一个马尔可夫决策过程由一个五元组构成:
    $$
    <S,A,P,R,\gamma>
    $$

    • $S$表示状态集合

    • $A$表示动作集合

    • $P$表示状态转移函数
      $$
      P_{ss^{‘}}^a=P[S_{t+1}=s^{‘}|S_t=s,A_t=a]
      $$
      $P$的所有值构成状态转移矩阵

    • $R$表示奖励函数,$R(s,a)$描述了在状态$s$做动作$a$的奖励
      $$
      R(s,a)=E[R_{t+1}|S_t=s,A_t=a]
      $$

    • $\gamma$表示衰减因子,$\gamma \in [0,1]$

      在强化学习中,从初始状态$S_1$到终止状态$S_T$的序列过程,称为一个片段(episode):$S_1,…,S_T$

      在MDPs问题中,值函数分为状态值函数(V函数):
      $$
      v_{π}(s)=E_{π}[G_t|S_t=s]
      $$
      和状态动作值函数(Q函数):
      $$
      q_{π}(s,a)=E_{π}[G_t|S_t=s,A_t=a]
      $$
      其中,$π$表示策略,在MDPs中,一个策略$π$是在给定状态下的动作的概率分布:
      $$
      π(a|s)=P[A_t=a|S_t=s]
      $$
      $G_t=\sum {k=0}^{T-t-1}\gamma ^k R{t+k+1}$是回报值,对于一个强化学习问题,我们最终的目标是最大化回报值的期望,即最大化值函数,值函数使用贝尔曼期望方程求解。

  2. POMDPs

    POMDPs由七元组组成:
    $$
    <S,A,P,R,\Omega,w,\gamma>
    $$

    • $\Omega$ 表示观察结果集,观察结果集不等于状态集合$\Omega_t \neq S_t$,环境数据

    • $w$表示条件观测函数,就是系统在观察到环境$o$时,有多大概率确定自己处于状态$s$

      和MDPs问题不同的是,POMDPs不能确定自己处于哪种状态,需要根据当前的环境确定自己目前所处的状态。

  3. ToMnet任务

    对于一般的强化学习问题来说,只有一个模型并且通过训练使该模型具有预测下一步状态/动作的能力;而ToMnet存在一个观察者,目标是使用这个观察者来预测agents下一步的状态/动作。那么,与POMDPs不同的是,奖励函数$R$,衰减因子$\gamma$,观察结果集$\Omega$,条件观测函数$w$与agent相关联,而不是与POMDPs相关联。因为在这个任务中,agent不是单一的而是多个,将不同的agent放在同一个POMDPs中可能产生不同的奖励/输出。此时POMDPs是状态集合$S_j$,动作集合$A_j$和转移概率$T_j$的元组$M_j={S_j,A_j,T_j }$,将所有的POMDPs写成$S=U_jS_j$。假设有一个agent族$A=U_iA_i,A_i={\Omega_i,w_i,R_i,\gamma_i,πi }$,策略$π_i$可以是随机的,算法输出或模型学习得到的。如果agent $A_i$在POMDPs中遵循策略$π_i$并产生轨迹$\tau{ij}={ (s_t,a_t)}{t=0}^T$,则观察者能看到轨迹$\tau{ij}={ (x_{t}^{(obs)},a_{t}^{(obs)})}{t=0}^T$,其中$x{t}^{(obs)}=w^{(obs)}(s_t),w^{(obs)}(\cdot):S \to \Omega^{(obs)}$是状态观测函数,$a_{t}^{(obs)}=\alpha^{(obs)}(a_t),\alpha^{(obs)}(\cdot)$是动作观测函数。观察者能够访问agent的轨迹,但是不能访问agent的参数、奖励和策略等。

    ToMnet的任务是能观察到一系列的agents,观察者必须学会预测许多agents的行为。当观察者与单个agent相遇时,能够观测到该agent $A_i$的过去的轨迹${\tau }{t=0}^{N{past}}$,观察者的任务是在POMDPs内对agent的下一步动作/状态进行预测。

Architecture

为了解决这个问题,DeepMind提出ToMnet架构,ToMnet由3部分构成:character网络、mental state网络和prediction网络。

  • character网络的目标是将观察者观察到的agents的过去轨迹${\tau }{t=0}^{N{past}}$解析为character嵌入,从神经网络的角度考虑就是使用神经网络$f_{\theta}$来产生输出$e_{char,ij}=f_{\theta}(\tau_{ij}^{(obs)})$,然后相加得$e_{char,i}=\sum_{j=1}^{N_{past}}$。也就是说character网络是学习所有agents的过去轨迹的嵌入表示,即所有agents的共同特征。

  • mental state网络的目标是对当前agent的轨迹$\tau_{ik}^{(obs)}$进行嵌入编码。从神经网络的角度考虑$e_{mental,i}=g_{\phi}([\tau_{ik}^{(obs)}]{0:t-1},e{char,i})$,可以认为mental state网络学习到当前agent的特有特征。

  • prediction网络利用$e_{char}$和$e_{mental}​$来预测agent的后续行为。

架构

Experiments

为了证明ToMnet具有机器心智,即具有预测agent下一步动作/状态/策略的能力,DeepMind进行了一系列的实验加以证明,包括随机agent和强化学习agent等。

References

  1. Machine Theory of Mind
  2. 学会学习Learning to Learn:让AI拥有核心价值观从而实现快速学习
  3. 元学习:实现通用人工智能的关键
  4. 深度 | 让机器思考与互相理解:DeepMind提出机器心智理论神经网络ToMnet
  5. DeepMind提出「心智神经网络ToMnet」,训练机器的「理解」能力
  6. 可解释AI重大突破 | DeepMind 构建心智理论神经网络让机器互相理解
  7. Machine Theory of Mind翻译