Print

发布时间: 2018-10-30
摘要点击次数:
全文下载次数:
DOI: 10.11834/jig.180558
2018 | Volume 23 | Number 11




    图像处理和编码    




  <<上一篇 




  下一篇>> 





多媒体技术研究:2017——记忆驱动的媒体学习与创意
expand article info 吴飞1, 韩亚洪2, 廖彬兵1, 于俊清3
1. 浙江大学计算机科学与技术学院, 杭州 310027;
2. 天津大学计算机科学与技术学院, 天津 300072;
3. 华中科技大学计算机科学与技术学院, 武汉 430074

摘要

目的 借鉴大脑的工作机理来发展人工智能是当前人工智能发展的重要方向之一。注意力与记忆在人的认知理解过程中扮演了重要的角色。由于"端到端"深度学习在识别分类等任务中表现了优异性能,因此如何在深度学习模型中引入注意力机制和外在记忆结构,以挖掘数据中感兴趣的信息和有效利用外来信息,是当前人工智能研究的热点。方法 本文以记忆和注意力等机制为中心,介绍了这些方面的3个代表性工作,包括神经图灵机、记忆网络和可微分神经计算机。在这个基础上,进一步介绍了利用记忆网络的研究工作,其分别是记忆驱动的自动问答、记忆驱动的电影视频问答和记忆驱动的创意(文本生成图像),并对国内外关于记忆网络的研究进展进行了比较。结果 调研结果表明:1)在深度学习模型中引入注意力机制和外在记忆结构,是当前人工智能研究的热点;2)关于记忆网络的研究越来越多。国内外关于记忆网络的研究正在蓬勃发展,每年发表在机器学习与人工智能相关的各大顶级会议上的论文数量正在逐年攀升;3)关于记忆网络的研究越来越热。不仅每年发表的论文数量越来越多,且每年的增长趋势并没有放缓,2015年增长了9篇,2016年增长了4篇,2017年增长了9篇,2018年增长了14篇;4)基于记忆驱动的手段和方法十分通用。记忆网络已成功地运用于自动问答、视觉问答、物体检测、强化学习、文本生成图像等领域。结论 数据驱动的机器学习方法已成功运用于自然语言、多媒体、计算机视觉、语音等领域,数据驱动和知识引导将是人工智能未来发展的趋势之一。

关键词

多媒体; 记忆网络; 记忆驱动; 知识引导; 媒体学习; 媒体创意

Researches on multimedia technology: 2017——memory-augmented media learning and creativity
expand article info Wu Fei1, Han Yahong2, Liao Binbing1, Yu Junqing3
1. College of Computer Science and Technology, Zhejiang University, Hangzhou 310027, China;
2. School of Computer Science and Technology, Tianjin University, Tianjin 300072, China;
3. School of Computer Science and Technology, Huazhong University of Science and Technology, Wuhan 430074, China

Abstract

Objective The human brain that has evolved over a million years is perhaps the most complex and sophisticated machine in the world, carrying all the intelligent activities of human beings, such as attention, learning, memory, intuition, insight and decision making. The core of the human brain consists of billions of neurons and synapses. Each neuron "receives" information from some neurons through synapses, and then passes the processed information to other neurons through the synapse. In this way, external sensory information (i.e., visual, auditory, olfactory, taste, touch) is analyzed and processed in the brain in a complex way to form perception and cognition. Attention and memory play an important role in the cognitive process of human understanding. The development of artificial intelligence based on the memory mechanism of the brain is an advanced aspect of research. Given that "end-to-end" deep learning enables an excellent performance in tasks, such as recognition and classification, introducing attention mechanism and external memory in the deep learning model to mine information of interest in data and effectively use auxiliary information is a popular research area in artificial intelligence. Method This report focuses on the external memory and attention mechanism of the brain. Firstly, three representative works, namely, neural turing machine, memory networks, and differentiable neural computer, are introduced. Neural turing machine is analogous to a Turing Machine or Von Neumann architecture but is differentiable end-to-end, allowing it to be efficiently trained with gradient descent. Memory networks can reason with inference components combined with a long-term memory component and they learn how to use these components jointly. Differentiable neural computer, which consists of a neural network that can read from and write to an external memory matrix, analogous to the random-access memory in a conventional computer. Secondly, several specific applications, such as knowledge memory network for question answering, memory-driven movie question answering, and memory-driven creativity (text-to-image), are presented. For answering the factoid questions, this report present the temporality-enhanced knowledge memory network (TE-KMN), which encodes not only the content of questions and answers, but also the temporal cues in a sequence of ordered sentences that gradually remark the answer. Moreover, TE-KMN collaboratively uses external knowledge for a better understanding of a given question. For answering questions about movies, the layered memory network (LMN) that represents frame-level and clip-level movie content by the static word memory module and the dynamic subtitle memory module respectively, is introduced. To generate images depending on their corresponding narrative sentences, this report presents the visual-memory Creative Adversarial Network (vmCAN), which appropriately leverages an external visual knowledge memory in both multi-modal fusion and image synthesis. Finally, research progress of memory networks at home and abroad is compared. Result Research results show that 1) introducing attention mechanism and external memory structure in the deep learning model is a current hotspot in artificial intelligence research. 2) Research that focuses on memory networks at home and abroad has been intensified, and literature related to machine learning and artificial intelligence has been published at top conferences and has been increasing annually. 3) Research on memory networks is gaining popularity. An increasing number of papers have been published yearly, and this trend has been constantly growing. Thus far, 9, 4, 9, and 14 articles have been published from 2015 to 2018, respectively. 4) Memory-driven methods and approaches are general, and memory networks have been successfully used in areas, such as question answering, visual question answering, object detection, reinforcement learning, and text-to-images. Conclusion This report shows a future work on media learning and creativity. The next generation of artificial intelligence should be never-ending learning from data, experience, and automatic reasoning. In the future, artificial intelligence should be integrated organically with human knowledge through methods such as attention mechanism, memory network, transfer learning, and reinforcement learning, so as to achieve from shallow computing to deep reasoning, from simple data-driven to data-driven combined with logic rules, from vertical domain intelligence to more general artificial intelligence.

Key words

multimedia; memory network; memory augmented; knowledge augmented; media learning; media creativity

0 引言

经过百万年演化而成的人脑或许是世界上最复杂最精密的机器,它承载了人类所有智能活动(注意、学习、记忆、直觉、顿悟和决策等)。人脑的核心结构由百亿级神经元及百万亿神经突触构成。每个神经元通过神经突触“接收”从其他神经元传递过来的信息,再将加以处理后的信息通过神经突触传递给其他神经元。这样,外界感官信息(视觉、听觉、嗅觉、味觉、触觉)以复杂方式在大脑中分析与处理,形成感知和认知。

“工欲善其事,必先利其器”。为了仿真大脑对外界信息的处理机制,首先要观测信息在大脑神经元和神经突触之间的“传递”。目前,光、电、磁、声等观测与调控技术为大脑观测提供了有效手段,打开了理解大脑、模拟大脑、连接大脑的大门。当前较为成熟的大脑观测方式有电脑断层扫描(CT)、磁共振成像(MRI)、正电子发射计算机断层扫描(PET)和功能性磁共振成像(fMRI)等。

记忆是大脑智能的基础。神经科学研究发现[1],人类有瞬时记忆、工作记忆和长期记忆3种形式的记忆体,3种记忆体及其联系如图 1所示。瞬时记忆用来感知外界信息,如我们“眼观六路、耳听八方”,从外界环境中不断感知信息, 瞬时记忆所感知得到的信息如果没有引起注意,则这些信息就成为了“耳边风”。只有那些引起注意力的信息被送入工作记忆体,直觉、顿悟和推理等智能活动就基于这些数据展开。在工作记忆区域中,当前输入(通过各种感官感知)信息(即当前数据)以及非当前输入信息(已存储的历史信息,如已有知识和过往经验)一起发生作用。也就是说,人脑在进行感知和认知时,不仅要对当前数据进行处理,还需要调动大脑中存储的相关信息。因此,注意力与记忆在人的认知理解过程中扮演了重要的角色,特别是对于文本、语音与视频等序列数据的知识获取与理解过程至关重要。

图 1 3种记忆体及联系
Fig. 1 Instantmemory, working memory and long-term memory

古语常言“弦外之音、画外之意”,这就是人脑在认知理解中不仅仅依赖当前数据,通过从长期记忆中唤醒了类似信息,而对当前信息做出的加工和处理。可见,如果能对上述3种记忆体之间的交互和融合进行算法建模,就可以建立起一种“类脑计算”模式,完成智能处理任务。

《记忆碎片》这部影片描述了一位短期记忆缺失的人物。在生活中,这个人物有一个原型,该原型人物失去了记住半个小时前发生的事情的能力。科学家们一直认为,短期记忆是在大脑的海马体中形成与储存,长期记忆在大脑皮层长期储存。学习与记忆被认为由以下3个部分组成:将事件编码进入神经网络;将编码好的信息储存起来;将来回忆的时候重新调出使用。这个过程如图 2所示。

图 2 大脑皮层中长时记忆和海马体中工作记忆的示意图
Fig. 2 Long-term memory and working memory

由于“端到端”深度学习在识别分类等任务中表现出了优异性能,因此如何在深度学习模型中引入注意力机制和外在记忆结构,以挖掘数据中感兴趣的信息和有效利用外来信息,是当前人工智能研究的热点。

这一方面的代表性工作是针对序列数据学习的反馈神经网络(RNN)[2]。理论上,RNN的当前状态依赖于所有前序输入与状态,也就是说RNN每个时刻可“记忆”过往全部信息,但在实际使用中由于梯度消失使得RNN在很短的序列中就表现出“遗忘”的特性,即多步之前的状态对当前状态输出几乎没有影响。为了克服这个问题,长短时记忆(LSTM)[3]、门控循环单元(GRU)[4]等模型引入了“短时记忆”的概念,即当前时刻状态的输出受到其过往若干时刻状态的影响。在“短时记忆”基础上,LSTM进一步学习序列数据中若干输入单元与某一输出之间的影响权重,使得LSTM具备了“注意力”机制,在机器翻译、语音识别和图文生成等领域取得了巨大成功,这一学习输入序列数据和输出序列数据之中若干单元之间相互影响的注意力机制也被称为“内在记忆(internal memory)”。

如前所述,人脑在理解当前场景和环境时,有效利用了与当前输入数据相关的信息,这些信息存储在外部记忆体(external memory)中。神经图灵机(NTM)[5]就是通过一个控制器(LSTM实现)来对一个外部记忆库(相当于图灵机中的纸带)中知识进行读/写操作,以有效利用已有知识和先验信息,这被称为是一种深度神经推理(deep neural reasoning)的方法。类似的工作还有记忆网络(memory networks)[6]、自适应计算时间(adaptive computation time)、神经随机访问机器(neural random access machines)以及通过强化学习来训练NTM、堆栈和队列等形式的“外在记忆体”随机访问方法。

在端到端深度学习中引入注意力机制和记忆结构,可有效利用当前数据以外的数据和知识,克服了仅依赖于输入数据进行驱动学习的不足,在零样本学习等方面表现出一定的优势。为此,基于记忆驱动的手段和方法在媒体学习和创意中成为了当前的热点。

1 国际研究现状

国际上关于记忆网络的代表性工作有3个:神经图灵机[5]、记忆网络[6]和可微分神经计算机[7]

1.1 神经图灵机

神经图灵机(NTM)的架构包含两个基本组件:神经网络控制器和存储器组。图 3展示了NTM的架构图。像大多数神经网络一样,控制器通过输入和输出向量与外部世界进行交互。但与标准网络不同的是,它还使用选择性地读写操作与存储矩阵进行交互。类比图灵机,网络的输出被称为“头”。

图 3 神经图灵机的架构
Fig. 3 Neural turing machine architecture

至关重要的是,该架构的每个组成部分都是可微分的,因此可以直接用梯度下降进行训练。文献[5]通过定义“模糊”(blurry)读写操作来实现这一点,这些操作可以或多或少地与内存中的所有元素进行交互(而不是像普通的图灵机或数字计算机那样寻址单个元素)。模糊程度由注意力“焦点”机制决定,该机制使得每个读取和写入操作只与存储器的小部分交互。由于与存储器的交互非常稀疏,因此NTM偏向于存储数据而不受干扰。引起注意力集中的记忆位置由读写头的输出决定。这些输出定义了存储器矩阵中在行上的加权(称为存储器“位置”)。每个权重定义了磁头在每个位置读取或写入的程度。因此,读写头可以在单个位置大幅地修改存储器,或者在许多位置少量地修改存储器。

1.1.1 读取操作

${\mathit{\boldsymbol{M}}_t}$$t$时刻$N$×$M$存储矩阵的内容,其中$N$是存储位置的数量,$M$是每个位置的向量大小。设${w_t}$$t$时刻由读头给出的$N$个位置上的权重向量。由于所有权重都是标准化的,因此${\mathit{\boldsymbol{w}}_t}$$N$个元素${w_t}$(i)遵循约束

$ \sum\limits_i {{w_t}\left( i \right)} = 1,0 \le {w_t}\left( i \right) \le 1,\forall i $ (1)

由读头返回的长度为$M$的读取向量${\mathit{\boldsymbol{r}}_t}$被定义为存储器中行向量${\mathit{\boldsymbol{M}}_t}\left( i \right)$的线性组合,即

$ {\mathit{\boldsymbol{r}}_t} \leftarrow \sum\limits_i {{w_t}\left( i \right){\mathit{\boldsymbol{M}}_t}\left( i \right)} $ (2)

这说明读操作是可微分的。

1.1.2 写入操作

参考LSTM中的输入门和遗忘门,可将写入分解为擦除(erase)和添加(add)两部分。

给定$t$时刻由写入头给出的加权${\mathit{\boldsymbol{w}}_t}$,擦除向量${\mathit{\boldsymbol{e}}_t}$对上一时刻的存储器向量${\mathit{\boldsymbol{M}}_{t-1}}\left( i \right)$的修改为

$ {{\mathit{\boldsymbol{\tilde M}}}_t}\left( i \right) \leftarrow {\mathit{\boldsymbol{M}}_{t - 1}}\left( i \right)\left[ {{\bf{1}} - {w_t}\left( i \right){\mathit{\boldsymbol{e}}_t}} \right] $ (3)

式中,${\bf{1}}$是全为$1$的行向量,将与存储器位置的内容进行点乘。因此,只有当位置和擦除元素的权重都是$1$时,存储单元的元素才被复位为零;如果位置加权或擦除权重为零,则存储内容保持不变。由于乘法的可交换性,当存在多个写头时,可以以任意顺序进行擦除操作。

每个写头还会产生一个长度为$M$的添加向量${\mathit{\boldsymbol{a}}_t}$,在执行擦除步骤后将其添加到存储器中,即

$ {\mathit{\boldsymbol{M}}_t}\left( i \right) \leftarrow {{\mathit{\boldsymbol{\tilde M}}}_t}\left( i \right) + {w_t}\left( i \right){\mathit{\boldsymbol{a}}_t} $ (4)

同样地,多个写入头在执行添加操作时的顺序是无关紧要的。所有写头的擦除和添加操作执行完后即为$t$时刻存储器的最终内容。由于擦除和添加都是可微分的,因此复合写操作也是可微分的。值得注意的是,擦除和添加向量都有$M$个元素,允许对存储器每个位置的元素进行细粒度的操控。

1.1.3 地址机制

前面已经介绍了读取和写入的过程,但还没有说明如何产生权重。这些权重通过两种寻址机制相结合而产生。第1种机制“基于内容的寻址”,将注意力集中在那些与控制器发出的值相似的位置上。这与Hopfield网络的内容寻址相似[8]。基于内容的寻址的优点是检索简单,仅需要控制器产生对存储数据的一部分的近似,然后将其与存储器进行比较以产生精确的存储值。

但是,并非所有问题都适用于基于内容的寻址。在某些任务中,变量的内容是任意的,但变量仍然需要可识别的名称或地址。算术问题就属于这一类:变量$x$和变量$y$可以取任何两个值,但仍应定义函数$f\left( {x, y} \right) = x \times y$。此任务的控制器可以获取变量$x$$y$的值,将它们存储在不同的地址中,然后检索它们并执行乘法运算。在这种情况下,变量按位置而不是内容来寻址的。这种形式的寻址被称为“基于位置的寻址”。基于内容的寻址比基于位置的寻址更为通用,因为内存位置的内容也可以包含位置信息。然而,实验发现,提供基于位置的寻址作为原始操作被证明对于某些形式的泛化是必不可少的,因此需要同时使用这两种机制。

图 4给出了整个寻址系统的流程图,它显示了在读取或写入时构造加权向量的操作顺序。

图 4 地址机制的流程图
Fig. 4 Flow diagram of the addressing mechanism

1) 基于内容的寻址机制。对于内容寻址,每个头(无论是用于读取还是写入)首先产生长度$M$的键向量(key vector)${\mathit{\boldsymbol{k}}_t}$,其通过与每个向量${\mathit{\boldsymbol{M}}_t}\left( i \right)$进行相似性度量$K\left[{ \cdot, \cdot } \right]$得到。基于内容的系统基于相似性和键强度(key strength)${\beta _t}$生成归一化加权$\mathit{\boldsymbol{w}}_t^c$,其可以放大或衰减焦点的精度,即

$ w_t^c\left( i \right) \leftarrow \frac{{\exp \left( {{\beta _t}K\left[ {{\mathit{\boldsymbol{k}}_t},{\mathit{\boldsymbol{M}}_t}\left( i \right)} \right]} \right)}}{{\sum\limits_j {\exp \left( {{\beta _t}K\left[ {{\mathit{\boldsymbol{k}}_t},{\mathit{\boldsymbol{M}}_t}\left( j \right)} \right]} \right)} }} $ (5)

在实现时,相似性度量采用余弦相似度,即

$ K\left( {\mathit{\boldsymbol{u}},\mathit{\boldsymbol{v}}} \right) = \frac{{\mathit{\boldsymbol{u}} \cdot \mathit{\boldsymbol{v}}}}{{\left\| \mathit{\boldsymbol{u}} \right\| \cdot \left\| \mathit{\boldsymbol{v}} \right\|}} $ (6)

2) 基于位置的寻址机制。基于位置的寻址机制旨在促进跨存储器位置的简单迭代和随机访问跳转。它通过对加权旋转移位来实现。例如,如果当前加权完全集中在某个位置,则旋转1会将焦点移动到下一个位置。负的移位会使权重向相反方向移动。

在旋转之前,每个磁头发出范围为(0, 1)的标量插值门(interpolation gate)${g_t}$$g$的值用于混合上个时刻由头产生的加权${\mathit{\boldsymbol{w}}_{t-1}}$与在当前时刻由内容系统产生的加权$\mathit{\boldsymbol{w}}_t^c$,产生门加权(gated weighting)$\mathit{\boldsymbol{w}}_t^g$

$ \mathit{\boldsymbol{w}}_t^g \leftarrow {g_t}\mathit{\boldsymbol{w}}_t^c + \left( {1 - {g_t}} \right){\mathit{\boldsymbol{w}}_{t - 1}} $ (7)

如果门是零,则内容加权被完全忽略,直接使用上个时刻的加权。相反,如果门是1,则忽略上个时刻的加权,此时采用基于内容的寻址。

插值后,每个磁头都会发出一个移位加权(shift weighting)${\mathit{\boldsymbol{s}}_t}$,它定义了整数移位上的归一化分布。例如,如果允许在-1和1之间移位,则${\mathit{\boldsymbol{s}}_t}$具有3个元素,这3个元素对应于执行-1,0和1的移位的程度。定义移位权重的最简单方法是使用关于控制器的适当大小的softmax层。

如果用0到$N$-1来索引$N$个存储器位置,则通过${\mathit{\boldsymbol{s}}_t}$作用于$\mathit{\boldsymbol{w}}_t^g$的旋转可以表示为

$ {{\tilde w}_t}\left( i \right) \leftarrow \sum\limits_{j = 0}^{N - 1} {w_t^g\left( j \right){s_t}\left( {i - j} \right)} $ (8)

式中所有的索引计算都以$N$为模计算。如果移位权重不明显,等式(8)中的卷积运算会导致权重随时间泄漏或分散。例如,如果给定-1,0和1的偏移权重为0.1,0.8和0.1,则旋转将把聚焦在单个点的权重转换为在3个点上略微模糊的权重。为了解决这个问题,每个头都会发出另一个标量${\gamma _t}$≥1,它的作用是锐化最终的加权,即

$ {w_t}\left( i \right) \leftarrow \frac{{{{\tilde w}_t}{{\left( i \right)}^{{\gamma _t}}}}}{{\sum\limits_j {{{\tilde w}_t}{{\left( j \right)}^{{\gamma _t}}}} }} $ (9)

加权内插、基于内容的寻址以及基于位置寻址的组合寻址系统可以以3种互补模式操作:1)加权可以由内容系统选择而无需修改位置系统;2)可以先选择内容寻址系统产生的加权然后再进行移位;3)可以在没有基于内容的寻址系统的任何输入的情况下旋转上个时刻的加权。

1.1.4 控制器网络

上述NTM架构有多个参数,包括存储器的大小,读写头的数量以及允许位移的范围。但最重要的是用作控制器的神经网络的类型,尤其是使用循环网络还是前馈网络。像LSTM这样的循环控制器有自己的内部存储器,可以作为更大的存储器矩阵的补充。如果将控制器与数字计算机中的中央处理单元(虽然具有自适应而非预定义指令),存储器矩阵与RAM进行比较,则循环控制器的隐藏激活函数类似于处理器中的寄存器。它们允许控制器混合多个时间戳中的信息。另一方面,前馈控制器可以通过在每一步中在存储器中的相同位置读取和写入来模拟循环网络。此外,前馈控制器通常赋予网络操作更大的透明度,因为读取和写入存储器矩阵的模式通常比RNN的内部状态更容易解释。然而,前馈控制器的一个局限是并发读写头的数量,这是NTM可以执行的计算类型的瓶颈。使用单个读头,它可以在每个时间戳上对单个存储器向量仅执行一元变换,使用两个读头可以执行二元向量变换,以此类推。循环控制器可以在内部存储上个时刻的读向量,因此不受此限制。

1.2 记忆网络

大多数机器学习模型缺乏一种简单的方法来读取和写入部分(可能是非常大的)长期记忆组件,并将其与推理无缝地结合在一起。因此,它们没有利用现代计算机的存储这一巨大优势。例如,考虑被告知一组事实或故事的任务,然后必须回答有关该主题的问题。原则上,这可以通过诸如递归神经网络(RNN)[3, 9]之类的语言模型来实现,因为这些模型被训练来在读完一串文字后预测下一个(一组)单词。然而,它们的记忆(由隐藏状态和权重编码)通常太小,并且不足以划分以准确记住过去的事实(知识在其中被压缩成稠密向量)。众所周知,RNN难以执行记忆,例如输出与他们刚读过的相同的输入序列的简单复制任务[10]。对于其他任务,情况类似,例如在视觉和音频领域中,观看电影并回答关于它的问题需要长期记忆。

1.2.1 记忆网络的结构

记忆网络由存储器$\mathit{\boldsymbol{m}}$和4个(可能需要学习)组件$I$$G$$O$$R$组成,如下所示:

$I$:输入特征图,将输入转换为内部特征表示。

$G$:概括(generalization),在给定新输入的情况下更新旧存储器。这种方式被称之为概括,因为网络在此阶段有机会压缩和概括其存储器以用于未来用途。

$O$:输出特征图,在给定新输入和当前存储器状态的情况下,产生新输出(在特征表示空间中)。

$R$:响应,将输出转换为所需的响应格式。例如,文本或动作。

给定输入$x$(例如字符、单词、句子、图像或音频信号),模型的流程如下:

1) 将$x$转换为内部特征表示$I\left( x \right)$

2) 有新输入时更新存储器

$ {\mathit{\boldsymbol{m}}_i} = G\left( {{\mathit{\boldsymbol{m}}_i},I\left( x \right),\mathit{\boldsymbol{m}}} \right),\forall i $

3) 给定新输入和存储器时,计算输出特征

$ o = O\left( {I\left( x \right),\mathit{\boldsymbol{m}}} \right) $

4) 最后,解码输出特征$o$以给出最终响应

$ r = R\left( o \right) $

这个过程在训练和测试的时候都会用到。记忆网络涵盖了一大类可能的实现。组件$I$$G$$O$$R$可以使用现有机器学习文献中的任何方法,例如SVM、决策树等。

$I$组件:组件$I$可以使用标准预处理,例如,文本输入的解析和实体解析。它还可以将输入编码为内部特征表示,例如,将文本转换为稀疏或稠密特征向量。

$G$组件:$G$的最简单形式是将$I\left( x \right)$存储在存储器中的“槽”(slot)中,即

$ {\mathit{\boldsymbol{m}}_{H\left( x \right)}} = I\left( x \right) $ (10)

式中,$H\left( \cdot \right)$是选择槽的函数。也就是说,$G$更新$\mathit{\boldsymbol{m}}$的索引$H\left( x \right)$,但存储器的其他部分保持不变。$G$的更复杂的变体可以返回并基于当前输入$x$更新先前存储的记忆。如果输入是字符或字级别,则可以对输入进行分块并将每个块存储在存储器槽中。

$O$$R$组件:$O$组件通常负责从记忆读取和执行推断,然后$R$组件负责在给定$o$的情况下产生最终的响应。例如,在问答设置中,$O$负责找到相关的存储记忆,然后$R$产生答案的实际措辞,例如$R$可以是以$O$的输出为条件的RNN。

1.2.2 记忆网络的实现

在文献[6]的基本架构中,$I$模块采用文本作为输入。首先假设这是一个句子:要么是事实的陈述,要么是系统要回答的问题。文本以其原始格式存储在下一个可用存储器插槽中。因此,$G$模块仅用于存储此新记忆,所以旧记忆不会更新。

推理的核心在于$O$$R$模块。给定$x$的情况下,$O$模块通过寻找$k$个支持记忆(supporting memory)来产生输出特征。这里$k$最多为2,但可推广到更大的$k$。对于$k$=1,检索得分最高的支持记忆,即

$ {o_1} = {O_1}\left( {x,\mathit{\boldsymbol{m}}} \right) = \mathop {\arg \max }\limits_{i = 1, \cdots ,N} {s_O}\left( {x,{\mathit{\boldsymbol{m}}_i}} \right) $ (11)

式中,${s_O}$是对句子$x$${\mathit{\boldsymbol{m}}_i}$的匹配程度进行评分的函数。对于$k$=2的情况,在给出第1个支持记忆后可找到第2个支持记忆,即

$ {o_2} = {O_2}\left( {x,\mathit{\boldsymbol{m}}} \right) = \mathop {\arg \max }\limits_{i = 1, \cdots ,N} {s_O}\left( {\left[ {x,{\mathit{\boldsymbol{m}}_{{o_1}}}} \right],{\mathit{\boldsymbol{m}}_i}} \right) $ (12)

其中支持记忆候选记忆${\mathit{\boldsymbol{m}}_i}$的得分不仅取决于原始输入,还取决于第1个支持记忆的得分,其中方括号表示列表。最终输出$o$$\left[{x, {\mathit{\boldsymbol{m}}_{{o_1}}}, {\mathit{\boldsymbol{m}}_{{o_2}}}} \right]$,将会输入到模块$R$

最后,$R$需要产生一个文本响应$r$。最简单的回答是返回${\mathit{\boldsymbol{m}}_{{o_k}}}$,即输出我们检索到的先前发出的句子。为了生成真正的句子,可以使用RNN。

图 5中给出了一个示例任务。为了回答问题$x$=“现在牛奶在哪里?”,$O$模块首先根据$x$对所有记忆(即所有先前看到的句子)打分以检索出最相关的事实,在这种情况下,${{\mathit{\boldsymbol{m}}_{{o_1}}}}$=“乔离开了牛奶”。然后,它将再次检索记忆以找到给定$\left[{x, {\mathit{\boldsymbol{m}}_{{o_1}}}} \right]$时,第2个相关的事实,即${{\mathit{\boldsymbol{m}}_{{o_2}}}}$=“乔前往办公室”(乔离开牛奶去之前的最后一个地方)。最后,$R$模块在给定$\left[{x, {\mathit{\boldsymbol{m}}_{{o_1}}}, {\mathit{\boldsymbol{m}}_{{o_2}}}} \right]$的条件下将对单词打分以输出$r$ =“办公室”(office)。

图 5 通过简单模拟生成的“故事”语句,问题和答案的示例
Fig. 5 Example "story" statements, questions and answers generated by a simple simulation

1.2.3 记忆网络的训练

记忆网络采用监督学习进行训练,可获取输入和响应。也就是说,在训练期间,知道上述${o_1}$${o_2}$方程式中两个最大函数的最佳选择。然后采用随机梯度下降(SGD)进行训练。具体而言,对于给定问题$x$,真实响应$r$和支持句子${{\mathit{\boldsymbol{m}}_{{o_1}}}}$${{\mathit{\boldsymbol{m}}_{{o_2}}}}$ (当$k$=2时),最小化模型参数${U_O}$${U_R}$,即

$ \begin{array}{*{20}{c}} {\sum\limits_{\bar f \ne {\mathit{\boldsymbol{m}}_{{o_1}}}} {\max \left( {0,\gamma - {s_O}\left( {x,{\mathit{\boldsymbol{m}}_{{o_1}}}} \right) + {s_O}\left( {x,\bar f} \right)} \right)} + }\\ {\sum\limits_{\bar f' \ne {\mathit{\boldsymbol{m}}_{{o_2}}}} {\max \left( {0,\gamma - {s_O}\left( {\left[ {x,{\mathit{\boldsymbol{m}}_{{o_1}}}} \right],{\mathit{\boldsymbol{m}}_{{o_2}}}} \right) + } \right.} }\\ {\left. {{s_O}\left( {\left[ {x,{\mathit{\boldsymbol{m}}_{{o_1}}}} \right],\bar f'} \right)} \right) + }\\ {\sum\limits_{\bar r \ne r} {\max \left( {0,\gamma - {s_R}\left( {\left[ {x,{\mathit{\boldsymbol{m}}_{{o_1}}},{\mathit{\boldsymbol{m}}_{{o_2}}}} \right],r} \right) + } \right.} }\\ {\left. {{s_R}\left( {\left[ {x,{\mathit{\boldsymbol{m}}_{{o_1}}},{\mathit{\boldsymbol{m}}_{{o_2}}}} \right],\bar r} \right)} \right)} \end{array} $ (13)

式中,${\bar f}$${\bar f'}$${\bar r}$是除正确标签之外的所有其他选择,$\gamma $是边界(margin)。在SGD的每一步,对${\bar f}$${\bar f'}$${\bar r}$进行采样,而不是计算所有的训练样例[11]

$R$组件使用RNN(而不是如上所述使用单个单词响应)的情况下,可将最后一项替换为语言建模任务中使用的标准对数似然,其中序列[$x$, ${o_1}$, ${o_2}$, $r$]被送入到RNN中。在测试时,给定[$x$, ${o_1}$, ${o_2}$],预测$r$

1.3 可微分神经计算机

现代计算机将计算和存储分开。计算由处理器执行,处理器可以使用可寻址存储器来使操作数进出。这带来了两个好处:可使用可扩展存储来填写新信息以及可将存储内容视为变量。与计算机相比,人工神经网络的计算和存储资源在网络权重和神经元活动中是混合在一起的。这有一个问题:随着任务的存储需求的增加,这些网络无法动态分配新的存储,也不能学习独立于任务变量值的算法。

最近的研究表明神经网络擅长于感知处理[12],序列学习[13-14]和强化学习,然而认知科学家和神经科学家认为神经网络在表示变量和数据结构的能力方面受到限制,也不能没有干扰的存储长时间尺度的数据[15-16]。可微分神经计算机(DNC)[7]旨在通过提供具有对外部存储器的读写访问的神经网络来结合神经网络和计算处理的优点。这种对外部存储器的访问是聚焦于某个狭窄的区域的,以最大限度地减少各存储器之间的干扰,并实现长期存储[17-18]。整个系统是可微分的,因此可以通过梯度下降进行端到端的训练,使网络能够以目标导向的方式学习如何操作和组织记忆。

1.3.1 可微分神经计算机的结构

DNC是一个拥有外部存储器矩阵的神经网络。如果存储器可以被认为是DNC的RAM,那么网络则称之为“控制器”,它是一个可微分的CPU,其操作是通过梯度下降来学习的。DNC架构与最近的神经存储器架构[6, 19]的不同之处在于,存储器可以被选择性地写入和读取,也允许存储器内容的迭代修改。早期形式的DNC,如神经图灵机[13],具有类似的结构,但它的存储器访问方法更有限。

传统计算机使用唯一地址来访问存储器内容,而DNC使用可微分注意机制[5, 20-21]来定义$N$×$W$,以表示在存储矩阵$\mathit{\boldsymbol{M}}$中在$N$行(“位置”)上的分布。这些分布被称之为权重,表示每个位置参与读取或写入操作的程度。由读取加权${\mathit{\boldsymbol{w}}^r}$在存储器$\mathit{\boldsymbol{M}}$上返回的读取向量$\mathit{\boldsymbol{r}}$是存储器位置上的加权和

$ \mathit{\boldsymbol{r}} = \sum\limits_{i = 1}^N {M\left[ {i, \cdot } \right]{w^r}\left[ i \right]} $

式中,“·”表示所有的$j$=1, 2, …。类似地,写入操作使用写入加权${\mathit{\boldsymbol{w}}^w}$,它首先用擦除向量$\mathit{\boldsymbol{e}}$擦除,然后再添加写入向量$\mathit{\boldsymbol{v}}$

$ M\left[ {i,j} \right] \leftarrow M\left[ {i,j} \right]\left( {1 - {w^w}\left[ i \right]e\left[ j \right]} \right) + {w^w}\left[ i \right]v\left[ j \right] $

决定和使用权重的功能单元称为读写头。读写头的操作如图 6所示。

图 6 可微分神经计算机的架构
Fig. 6 DNC architecture

1.3.2 读写头与存储器的交互

读写头使用3种不同形式的可微分注意力机制。第1种是内容查找(content lookup)[5, 20, 22-24],将控制器发出的键向量根据相似性度量(如余弦相似度)与存储器中每个位置的内容进行比较。相似性得分可让读取头用于关联召回(associate recall)[22]或让写入头用于修改存储器中的现有向量的权重。

第2种注意力机制记录了在$N$×$N$的时间链路矩阵$\mathit{\boldsymbol{L}}$中的连续写入位置之间的转换。如果$i$是在$j$之后写入的下一个位置,则$L$[$i$, $j$]接近于1,否则接近0。对于任意的加权$\mathit{\boldsymbol{w}}$,操作$\mathit{\boldsymbol{Lw}}$平滑地将焦点向前移动到那些在$\mathit{\boldsymbol{w}}$之后写入的位置,而${\mathit{\boldsymbol{L}}^{\rm{T}}}\mathit{\boldsymbol{w}}$向后移动焦点。这使得DNC具有按照写入顺序恢复序列的天赋(native ability),即使这些写入不是在相邻的时间戳中。

第3种注意力机制用于给写入操作分配存储空间。每个位置的“使用程度”表示为0到1之间的数字,并且选取未使用位置的权重传递给写入头。每次写入位置时使用程度会自动增加,每次读取后都会自动减少。这允许控制器重新分配不再需要的存储器。分配机制独立于存储器的大小和内容,这意味着可以训练DNC以某种尺寸的存储器来解决任务,并且稍后在无需重新训练的情况下升级到更大的存储器。原则上,这可以通过当任何位置的最小使用量超过某个阈值时自动增加该位置的数量来使用无限的外部存储器。

注意力机制的设计主要是出于计算的考虑。内容查找可以形成关联数据结构;时间链接使得能够顺序检索输入序列;注意力分配为写入头提供未使用的位置。然而,DNC的记忆机制与哺乳动物海马体的功能之间存在有趣的相似之处。DNC的存储可以做到快速修改且可以是一次性的(one-shot),类似于海马CA3和CA1突触的长期增强[25]。海马齿状回是一个产生神经的区域[26],被用来增加稀疏性,从而增强存储器容量[27]:基于使用程序的存储器分配和稀疏权重可以在DNC的模型中提供类似的机制。人类“自由回忆”实验结果表明,回忆的概率与首次呈现的顺序相同,这是一种由时间上下文模型[28]引起的海马依赖现象,与时间链接的形成有一些相似性。

2 国内研究进展

国内关于记忆网络主要有3个应用,分别是记忆驱动的自动问答、记忆驱动的电影视频问答和记忆驱动的创意(文本生成图像)。

2.1 外在记忆驱动下的自动问答

问答系统是一个允许用户发布问题和解决问题的平台。问答系统的好处已在文献[29-30]中得到充分认可。一些问答网站在现实世界中变得越来越流行,并且随着时间的推移已经积累了大量的问题与答案。凭借大量的问答数据,问答系统已成为一个活跃的研究领域,并在信息检索和自然语言处理(NLP)领域引起了广泛关注[31]。在各种问答研究中,仿真问答(FQA)是最广泛研究的任务之一[32]

给定一段描述性语句,仿真型问答旨在提取实体答案。单句问题[31-32]是FQA中最常见的形式。例如:“世界上最大的大陆是什么?”。另一方面,还有另一种形式的FQA,其问题是描述某个实体的描述性段落。这种FQA的一个典型例子叫做Quiz Bowl[33-34]。Quiz Bowl问题由一系列有序句子组成,这些句子从不同角度描述了答案的方方面面。它有一个名为“金字塔”的属性,意味着先前描述问题的句子包含更隐蔽的线索,而之后的句子会给出较为具体的信息。图 7展示了一个Quiz Bowl问题及其相应答案的示例。具有相同颜色的单词与答案具有相同的指示性提示(例如,Notre Dame du Haut和Villa Savoye是Le Corbusier使用钢筋混凝土框架设计的两座建筑)。这个问题包含6个有序句子。前面的句子包含答案信息较少,后面的句子提供了更有用的线索来揭示答案。

图 7 Quiz Bowl中的一个的例子
Fig. 7 An example of Quiz Bowl

现有方法倾向于将Quiz Bowl问题视为文本分类任务。文献[33]在词袋模型的基础上,使用Naive-Bayes模型进行答案识别。为了完全理解每个句子的语义,文献[34]使用依赖树递归神经网络(DT-RNN)来利用句子编码中的依赖信息。文献[35]引入了堆叠卷积神经网络(CNN),以学习原始文本的句子表示和段落表示,并将这些特征映射到相应的答案。文献[36]提出了一个深度平均网络(DAN)来学习描述段落与其答案之间的相关性。

上述方法仅侧重于利用单个句子与其对应答案之间的语义相关性,通过构建更好的语义空间以完成Quiz Bowl数据的语义分类。然而,社会学和生物学的研究表明[37-38],决策的形成通常受到信息流中不同时间节点下不同信息的综合影响。在Quiz Bowl竞赛中,当给出一系列有序的句子时,答案的线索逐渐给出。因此,最好利用句子的时序相关性来识别答案。除此之外,人类在阅读时,会联想到有相关性的辅助信息。在大多数情况下,我们在接收到问题后,都会通过检索自身已有知识,给出正确答案[39-40]。因此,文献[41]推测问题语句之间的时序相关性和外部知识是有助于提升Quiz Bowl回答准确率的两个因素,而利用这两个因素提升问答效果对本任务也是极具意义的。

基于以上的假设,文献[42]致力于如何有效地利用有序句子中的时序相关性和外部辅助知识提高Quiz Bowl的回答表现。具体来说,文献[42]设计了一种名为时序增强知识存储网络(TE-KMN)的新型网络架构。这种端到端的架构引入了一种基于注意力的时序模型,它是门控循环单元(GRU)[43]的扩展,用于捕获有序语句的时序相关性。同时,利用每个描述句之外的辅助知识,增强对每句话的理解。

图 8是文献[41]提出的时序增强知识存储网络(TE-KMN)流程图,其中,图 8(a)左下角是训练数据。对于每个答案,有几个有序的描述性句子从不同方面逐渐揭示一个答案。靠前的句子包含较少与答案相关的线索,而后序语句则包含较多线索。左上角是一个知识存储器,由外部辅助知识组成,这里的知识主要来自维基百科。图 8(b)给出答案,假设总共有$T$个有序句子从不同方面描述答案(即${s_1}$, ${s_2}$, …, ${s_T}$)。每个句子${s_i}$都被编码为向量${\mathit{\boldsymbol{x}}_i}$。每个句子的隐向量${\mathit{\boldsymbol{h}}_i}$(1≤$i$$t$-1)将影响隐向量${\mathit{\boldsymbol{h}}_t}$的学习。隐向量${\mathit{\boldsymbol{h}}_t}$之后被传送到知识存储网络,并与句子${s_t}$相关的外部辅助知识作进一步推理。图 8(c)更新T-GRU的注意力机制。右上角是更新前的T-GRU。右下角是同一个T-GRU,${\mathit{\boldsymbol{h}}_1}$, ${\mathit{\boldsymbol{h}}_2}$, …, ${\mathit{\boldsymbol{h}}_{t-1}}$是读取前面句子的T-GRU的隐藏输出。红色和绿色实心圆圈分别代表更新前后的$\alpha $值。$\mathit{\boldsymbol{W}}$表示加权矩阵。

图 8 时序增强知识存储网络流程图
Fig. 8 Flowchart of temporality-enhanced knowledge memory network (TE-KMN) ((a) Traing data and knowledge memory; (b) TE-KMN; (c) Update of attention mechanism of T-GRU)

2.2 基于层叠记忆网络的电影视频问答

建立视觉理解和人机交互之间的联系是人工智能领域一项具有挑战的任务。尽管视觉自动描述[43-46]在建立视觉内容与自然语言连接上取得一定进展,但它通常描述视觉内容的粗略语义信息,缺少对不同视觉线索之间的建模以及推理的能力。而视觉问题回答(VQA)[42, 47-48]能够依赖全面的场景理解,对不同层次的视觉内容进行推理找到正确的答案。

人脑在应对和VQA类似的认知任务时,不仅需要对当前接收到的信息进行处理,还需要根据接收到的信息对大脑中存储的知识进行检索和推理。因此注意力机制和记忆在认知理解的过程中有很重要的作用。目前VQA任务中常见的方法是通过卷积神经网络(CNN)和递归神经网络[42]在同一特征空间下学习图像和问题特征组合的表示。为了准确地关联特定的语言信息与特定的视觉内容,同时根据问题对已有的视觉内容进行推理,文献[47-48]分别提出利用动态记忆和注意力机制来提高VQA的性能。

视频可以看做是图片在时间和空间上的拓展,因此视频理解任务,需要模型不仅能够编码每一帧的信息而且需要编码连续视频帧之间的时序性依赖关系。和一般视频相比,大多数电影具有特定的背景(例如动作电影和战争电影)以及拍摄风格。因此,仅通过视觉内容来理解电影的故事是一项具有挑战性的任务。另一方面,电影通常包含由演员之间对话组成的字幕信息,这部分信息能够为更好的理解电影内容提供帮助。针对视频理解等认知任务,虽然LSTM能够编码具有时序依赖性的时序信息且同时具有一定的记忆能力,但是LSTM的记忆能力有限并且不具备推理能力。为了提高模型的记忆能力并体现推理过程,NTM[43]通过一个控制器(LSTM)来对一个外部记忆库(相当于图灵机中的纸带)中知识进行读/写操作,以有效利用已有知识和先验信息,类似的工作还有Memory Networks[6]

文献[49]探究了如何利用电影片段的视觉信息以及电影字幕进行电影问题回答任务。其提出的层叠记忆网络(LMN)分别通过静态单词记忆模块和动态字幕记忆模块来存储单词和电影字幕信息,同时通过这两个模块学习电影视觉内容的分层表示,即帧级和片段级。静态单词模块包含MovieQA数据集[50]中的所有单词信息,而动态字幕记忆模块包含所有字幕信息。方法框架如图 9,通过用静态单词模块中存储的单词信息表示每个电影视觉帧的区域特征并得到帧级表示。其次,生成的帧级表示输入到动态字幕记忆模块并得到最终的电影片段级表示。因此,分级形成的电影表示不仅对每一帧内视觉内容和单词之间的对应关系进行编码,而且还对电影片段内的字幕和帧之间的时间对应关系进行编码。

图 9 LMN模型的框架
Fig. 9 The framework of LMN

层叠记忆网络(LMN)能够同时利用视觉内容以及字幕内容进行电影问答任务。LMN的输入是逐帧特征图序列$\left\{ {{\mathit{\boldsymbol{I}}_1}, {\mathit{\boldsymbol{I}}_2}, \cdots {\mathit{\boldsymbol{I}}_T}} \right\}$,输出是LMN预测的正确答案。后续小节将绍LMN如何通过静态单词记忆和动态字幕记忆表示帧级和片段级的视觉内容。

2.2.1 用静态单词记忆模块表示电影视频帧

该模块的主要目标是通过静态单词记忆模块得到电影片段帧中特定区域的语义表示。该模块如图 10,有一个静态单词记忆模块${\mathit{\boldsymbol{W}}_{\rm{e}}} \in {\mathbb{R}^{\left| v \right| \times d}}$,它可以被看做是一个单词数量为$\left| v \right|$的将单词映射为$d$维连续向量的单词嵌入矩阵。静态单词记忆模块可以通过skip-gram模型学习[51]$\left\{ {{\mathit{\boldsymbol{I}}_1}, {\mathit{\boldsymbol{I}}_2}, \cdots {\mathit{\boldsymbol{I}}_T}} \right\}$是从CNNs的卷积层中提取的逐帧特征图序列,特征图序列中每一项的形状为$C$×$H$×$W$,其中$C$$H$$W$分别表示通道数、特征图的高和宽。因此能够得到$H$×$W$大小的区域特征$\left\{ {{\mathit{\boldsymbol{l}}_{ij}} \in {\mathbb{R}^C}} \right\}$,其中$i$∈{1, 2, …, $T$},$j$∈{1, 2, …, $H$×$W$}。与直接将区域特征映射到公共空间的联合嵌入方法不同,文献[49]通过静态单词记忆表示区域特征。首先通过映射${\mathit{\boldsymbol{W}}_l} \in {\mathbb{R}^{d \times C}}$${\mathit{\boldsymbol{v}}_{ij}} = {\mathit{\boldsymbol{W}}_l}{\mathit{\boldsymbol{l}}_{ij}}$将区域特征映射到单词空间,其中${\mathit{\boldsymbol{v}}_{ij}}$表示第$i$个电影片段帧的第$j$个映射后的区域特征。接下来利用内积计算映射后的区域特征与静态单词记忆中单词特征的相似度。计算过程为

图 10 词记忆模块的框架图
Fig. 10 The framework of Static Word Memory module

$ {\alpha _{ijk}} = \mathit{\boldsymbol{v}}_{ij}^{\rm{T}}{\mathit{\boldsymbol{w}}_k} $ (14)

式中,${\mathit{\boldsymbol{w}}_k}$表示静态单词记忆${\mathit{\boldsymbol{W}}_e}$中的第$k$行向量, ${\mathit{\boldsymbol{v}}_{ij}}$${\mathit{\boldsymbol{w}}_k}$都先进行了归一化操作,因此${\alpha _{ijk}}$等价于cosine相似度。接下来区域特征${\mathit{\boldsymbol{v}}_{ij}}$可以用记忆当中所有单词向量的加权和表示,即

$ {\mathit{\boldsymbol{v}}_{ij}}: = \sum\limits_{k = 1}^{\left| v \right|} {{\alpha _{ijk}}{\mathit{\boldsymbol{w}}_k}} $ (15)

式中,$\left| \mathit{\boldsymbol{v}} \right|$代表静态单词记忆的大小。符号:=表示“更新”操作。因此帧级表示为

$ {\mathit{\boldsymbol{v}}_i} = \sum\limits_{j = 1}^{\left| {H \times W} \right|} {{\mathit{\boldsymbol{v}}_{ij}}} $ (16)

因为每个区域特征是所有单词向量的加权和,${\mathit{\boldsymbol{v}}_i}$可以看做是第$i$个电影帧的语义表示。这个过程和图片区域上的注意力机制相似。但是该模型是建立记忆中的单词与每一个区域特征之间的联系。

文献[49]提出的静态单词记忆有两个特点:1)静态单词记忆可以看做是一个单词嵌入矩阵,可以利用记忆将单词映射为连续向量;2)静态单词记忆可以用于表示电影帧中的区域特征。

2.2.2 用动态字幕记忆模块表示电影片段

该模块的主要目的是通过动态字幕记忆得到电影片段中特定帧的语义表示。因为电影不仅包含视觉内容还包含字幕信息,因此,文献[49]提出了动态字幕记忆模块来表示带有电影字幕的电影片段,其框架如图 11所示。

图 11 动态字幕记忆模块的框架图
Fig. 11 The framework of Dynamic Subtitle Memory module

假设电影视频帧已被表示为输出${\mathit{\boldsymbol{v}}_i}$。然后,通过静态单词记忆得到字幕的表示{${\mathit{\boldsymbol{s}}_1}$, ${\mathit{\boldsymbol{s}}_2}$, …, ${\mathit{\boldsymbol{s}}_N}$},同时将{${\mathit{\boldsymbol{s}}_1}$, ${\mathit{\boldsymbol{s}}_2}$, …, ${\mathit{\boldsymbol{s}}_N}$}作为动态字幕记忆。动态字幕记忆的表示过程为

$ \beta _i^n = \mathit{\boldsymbol{v}}_i^{\rm{T}}{\mathit{\boldsymbol{s}}_n} $ (17)

$ {\mathit{\boldsymbol{v}}_i}: = \sum\limits_{n = 1}^N {\beta _i^n{\mathit{\boldsymbol{s}}_n}} $ (18)

$ \mathit{\boldsymbol{v}} = \sum\limits_{i = 1}^T {{\mathit{\boldsymbol{v}}_i}} $ (19)

式中,$\beta _i^n$表示第$n$个字幕和第$i$帧之间的相似度。

式(18)表示第$i$帧的表示被所有字幕表示的加权和替代。电影片段级的表示$v$能够通过所有帧级表示{${\mathit{\boldsymbol{v}}_i}$}的加和得到。

当在电影问答任务中只使用视频信息而不使用字幕信息时,式(19)中帧级的表示{${\mathit{\boldsymbol{v}}_i}$}是式(16)的输出。这样片段级的表示从单词空间转换到字幕句子空间,然后用文献[12]中提到的方法进行电影问答任务,即

$ a = soft\mathit{max}\left( {{{\left( {\mathit{\boldsymbol{v}} + \mathit{\boldsymbol{u}}} \right)}^{\rm{T}}}\mathit{\boldsymbol{g}}} \right) $ (20)

式中,$\mathit{\boldsymbol{u}}$表示问题向量,$\mathit{\boldsymbol{g}}$={${g_1}$, ${g_2}$, …, ${g_5}$}和${g_h}$分别表示问题中的所有答案和第$h$个答案。问题和答案的表示都是通过静态单词记忆${W_e}$嵌入得到。需要注意的是静态单词记忆在表示电影视频帧的区域特征、句子中的单词时是共享的。每个电影的字幕记忆都不相同。因此单词记忆是静态的,字幕记忆是动态的。同时上面所提到的静态单词记忆和动态字幕记忆都只有一个记忆层。

总地来说,层叠记忆网络[49]具有以下优点:1)分别用静态单词记忆和动态字幕记忆得到区域特征和帧级特征,而不是学习联合嵌入矩阵。分层的帧级和片段级表示包含更丰富的语义信息,并在电影问答中获得良好的性能。2)通过利用准确的单词和字幕信息表示每一个区域和帧级特征,在回答问题的过程中该模型能够支持精确的推理。

2.3 外在记忆驱动下的创意:文本生成图像

根据自然语言描述生成真实图像(text-to-image)是一项活跃的研究任务。该技术适用于许多实际应用,如图像编辑、原型和游戏设计。基于生成对抗网络(GAN)[52]的模型已经在CUB和Oxford Flower[53]等单类别单物体数据集上取得了非常有前景的结果。然而,现有的方法在像MSCOCO[54]这样的复杂数据集上取得的效果非常有限,在这些数据中,通常一个图像会包含不同的对象,并且对象很少处于图像正中[55-56]。为了生成复杂的场景,现有的方法试图利用词级注意力细粒度模型[57],建立层次化的文本到图像的映射[58],以及通过额外的对话增强文本描述[59]。然而,使用辅助视觉知识进行的工作还很少。根据人的作画过程,现实世界的场景或一些参考可以帮助作画者快速学习并提高作画质量。也就是说,一位成熟的作画者通常会在他/她的绘画中找到和使用额外的相关视觉线索。

因此,文献[60]使用图像子块作为视觉提示来增强文本到图像的生成。具体来说,文献[60]使用候选区域网络(RPN)[61]提取的候选块(proposal)作为存储在外部视觉知识存储器中的视觉线索。候选块特征向量可以被视为有意义的图像子块的视觉概要,尤其是那些包含实际物体概率最高的图像子块。RPN提取的候选块(即视觉线索)具有许多视觉细节,例如纹理、形状、颜色、物体大小等,它们可以被文本激活,并和文本描述一起合成最终的图像。

在文献[60]中,给定一个文本句子和外部视觉记忆,其首先利用多模态编码器将文本句子编码成多模态隐藏向量。多模态编码器类似于文献[24]提出的记忆网络模型。然而,文献[60]使用词嵌入而不是词袋表示。

2.3.1 视觉线索抽取

RPN由文献[61]提出,通过对锚点区域框进行排名和优化,以生成最有可能包含对象的候选块。在RPN之后,ROI (region of interest)池化用于将不同大小的CNN特征图标准化为相同大小。ROI池化的输出将作为视觉线索。

文献[60]从MSCOCO训练数据集图像中提取了大约320 000个候选块以构建知识库。候选块的选取过程如图 12所示。每个候选块都是1 024维的语义向量。当一个图像中有超过5个候选块时,只保留最有可能是物体的前5个候选块。

图 12 视觉记忆候选块的抽取
Fig. 12 The extraction of proposals to build visual-knowledge memory

2.3.2 多媒体编码

基于记忆网络,文献[60]的多模式编码器使用两个编码器和注意机制来编码proposal(即视觉线索)和文本描述。

首先使用预先训练的文本编码器$φ$[55]将文本描述$t$编码为连续表示$\varphi \left( t \right)$。再使用文献[56]提出的方法进一步扩充文本嵌入。这种扩充有助于为对抗性训练生成大量额外的文本嵌入[62]。具体来说,在输入文本向量上使用全连接层以生成$\mu $$\sigma $。增强文本向量为$\varphi {\left( t \right)^\prime } = \mu + \sigma \odot \zeta $,其中$\zeta $$N$(0, 1)中采样,$\odot $是逐点乘法运算符。增强后的文本向量维度为$d$。从proposal知识记忆中随机抽取$m$个proposal,$\mathit{\boldsymbol{P}} = \left\{ {{\mathit{\boldsymbol{p}}_1}, {\mathit{\boldsymbol{p}}_2}, {\mathit{\boldsymbol{p}}_3}, {\mathit{\boldsymbol{p}}_m}} \right\}$。基于文献[24],这些proposal分别可以通过编码为键表示和值表示, 即

$ {\mathit{\boldsymbol{k}}_i} = {\mathit{\boldsymbol{\kappa }}_0}\left( {{\mathit{\boldsymbol{p}}_i}} \right) $ (21)

$ {\mathit{\boldsymbol{v}}_i} = {\mathit{\boldsymbol{\nu }}_0}\left( {{\mathit{\boldsymbol{p}}_i}} \right) $ (22)

式中,${\mathit{\boldsymbol{p}}_i}$是维度1 024的proposal特征向量,${\mathit{\boldsymbol{k}}_i}$${\mathit{\boldsymbol{v}}_i}$的维度为$d$。键表示用于参与和加权检索出来的知识。值表示包含生成图片时的指示。键和值编码器都是神经网络,它们是简单的完全连接层加上ReLU激活函数。多模态隐向量的计算过程为

$ {a_i} = soft\mathit{max}\left( {\varphi {{\left( t \right)}^\prime }^{\rm{T}}{\mathit{\boldsymbol{k}}_i}} \right) $ (23)

$ \mathit{\boldsymbol{o}} = \sum\limits_i {{\mathit{\boldsymbol{v}}_i}{a_i}} $ (24)

$ \mathit{\boldsymbol{c}} = \left( {\mathit{\boldsymbol{o}},\varphi {{\left( t \right)}^\prime }} \right) $ (25)

$ \mathit{\boldsymbol{\hat c}} = \mathit{ReLU}\left( {\mathit{\boldsymbol{Wc}} + \mathit{\boldsymbol{b}}} \right) $ (26)

式中,${\mathit{\boldsymbol{\hat c}}}$是维度$d$的多模态隐向量。

2.3.3 图像迭代生成

得到多模态隐向量后,将其输入给生成器,作为生成器的条件,约束生成器的生成结果,在实验中有两个生成器,前者生成64×64像素的图像,并输出给下一个生成器,第2个生成器则会输出256×256像素的最终图像。两个生成器都使用生成对抗模型的框架进行训练,相应地,每个生成器都对应一个判别器,判别器用于指导生成器的生成。具体框架如图 13。在生成的第1阶段,增强文本嵌入$\varphi {\left( t \right)^\prime }$和随机采样的$m$个proposal将被编码为多模态表示${{\mathit{\boldsymbol{\hat c}}}_0}$。此特征向量将指导大小为64×64像素图像的生成。对于阶段Ⅱ,来自第1阶段的多模态表示${{\hat c}_0}$将和新采样的$m$个proposal一起被编码,输出${{\mathit{\boldsymbol{\hat c}}}_1}$。第1阶段生成的图像经过下采样后和${{\mathit{\boldsymbol{\hat c}}}_1}$连接并用于实际图像生成。

图 13 vmCAN的框架图
Fig. 13 Pipeline of the vmCAN

3 国内外研究进展比较

关于国内外记忆网络的研究进展,对近5年(2014—2018年)发表在机器学习与人工智能相关的国际顶级会议(ICML、NIPS、ICLR、AAAI、IJCAI、CVPR)上的论文进行调研,统计分析了题目包含“memory”的论文,统计结果如表 1所示。

表 1 2014—2018年国际顶级会议上关于记忆网络的论文数量统计
Table 1 Statistics of the number of the paper published on the top conference (2014—2018)

下载CSV
年份 ICML NIPS ICLR AAAI IJCAI CVPR 总计
国际 国内 国际 国内 国际 国内 国际 国内 国际 国内 国际 国内
2014 0 0 1 0 0 0 1 0 * * 0 0 2
2015 1 0 6 0 1 0 2 0 1 0 0 0 11
2016 5 1 4 0 2 0 0 0 2 0 0 1 15
2017 1 0 5 0 2 0 4 0 4 3 4 1 24
2018 1 0 - - 9 0 6 4 1 7 6 4 38
总计 8 1 16 0 15 0 13 4 7 10 10 6 90
注:*表示IJCAI会议未召开,-表示NIPS会议论文无法下载。

近5年来,国内外总共有90篇关于记忆网络的文章发表在上述的关于机器学习和人工智能的六大国际顶级会议中,统计调查以后,有以下发现:

1) 总体来讲,国际上关于记忆网络的研究领先于国内。在已发表的90篇文章中,其中69篇来自于国际,21篇来自于国内。且在认可度相对更高的ICML和NIPS上的文章数量,国际远多于国内。

2) 关于记忆网络的研究呈现快速增长趋势,且增长速度越来越快。2014年的时候只有2篇关于记忆网络的研究,但随后以每年10篇左右的增长趋势增长,2018年关于记忆网络的研究已经达到38篇,这其中还不包括NIPS 2018的文章。可以预见,之后两年关于记忆网络的研究会越来越多。

3) 上述的各大机器学习与人工智能的会议既包含了理论又包含了应用,但每年关于记忆网络研究的论文数量分布都较为均匀,体现了记忆网络的通用性,也从侧面说明了记忆网络研究的重要性。

4 发展趋势与展望

随着近几年记忆网络的发展,利用外部存储形式的机器学习方法(即记忆网络)已经成为新一代人工智能发展中不可或缺的一个方向。目前来看,记忆驱动的研究有以下发展趋势:

1) 关于记忆网络的研究越来越多。如前所述,国内外关于记忆网络的研究正在蓬勃发展,每年发表在机器学习与人工智能相关的各大顶级会议上的论文数量正在逐年攀升。

2) 关于记忆网络的研究越来越热。如前所述,不仅每年发表在各大顶级会议上的论文数量越来越多,且每年的增长趋势并没有放缓。如表 1所示,2015年增长了9篇,2016年增长了4篇,2017年增长了9篇,2018年增长了14篇。

3) 关于记忆网络的应用研究也越来越广泛,这得益于记忆网络的通用性,记忆网络已经成功地运用于自动问答、视觉问答、物体检测、强化学习、文本生成图像等各个领域。

回顾机器学习与人工智能的发展历史,可以发现机器学习与人工智能正在朝着深度学习和神经网络的方向发展。如表 2所示,从语言模型到神经语言模型,从贝叶斯学习到贝叶斯深度学习,从图灵机到神经图灵机,从强化学习到深度强化学习。可以预见,若有一种被称为“X”的方法,那将来很有可能出现一种“深度/神经+X”的方法。

表 2 一些机器学习的发展趋势
Table 2 Trends of some machine learning methods

下载CSV
浅层模型 深层模型
语言模型 神经语言模型
贝叶斯学习 贝叶斯深度学习
图灵机 神经图灵机
强化学习 深度强化学习
X 深度/神经+X

我们认为下一代的人工智能应该是从数据、经验并能自动推理的永不停息(never-ending)的学习[63]。数据驱动的机器学习方法已经成功运用于自然语言、多媒体、计算机视觉、语音和跨媒体等领域,后续应通过例如注意力机制、记忆网络、迁移学习、强化学习等方式与人类知识进行有机结合,从而实现从浅层计算到深度推理、从单纯的数据驱动到数据驱动与逻辑规则相结合、从垂直领域的智能到更通用的人工智能。

参考文献

  • [1] Baddeley A. Working memory[J]. Science, 1992, 255(5044): 556–559. [DOI:10.1126/science.1736359]
  • [2] Goller C, Kuchler A. Learning task-dependent distributed representations by backpropagation through structure[C]//Proceedings of International Conference on Neural Networks. Washington, DC, USA: IEEE, 1996: 347-352.[DOI:10.1109/ICNN.1996.548916]
  • [3] Hochreiter S, Schmidhuber J. Long short-term memory[J]. Neural Computation, 1997, 9(8): 1735–1780. [DOI:10.1162/neco.1997.9.8.1735]
  • [4] Chung J, Gulcehre C, Cho K H, et al. Empirical evaluation of gated recurrent neural networks on sequence modeling[EB/OL].[2018-08-15]. https://arxiv.org/pdf/1412.3555.pdf
  • [5] Graves A, Wayne G, Danihelka I. Neural turing machines[EB/OL].[2018-08-15]. https://arxiv.org/pdf/1410.5401.pdf.
  • [6] Jason W, Sumit C, Antoine B. Memory networks[C]//Proceedings of the International Conference on Representation Learning. San Diego, USA. 2015.
  • [7] Graves A, Wayne G, Reynolds M, et al. Hybrid computing using a neural network with dynamic external memory[J]. Nature, 2016, 538(7626): 471–476. [DOI:10.1038/nature20101]
  • [8] Hopfield J J. Neural networks and physical systems with emergent collective computational abilities[J]. Proceedings of the National Academy of Sciences of the United States of America, 1982, 79(8): 2554–2558. [DOI:10.1073/pnas.79.8.2554]
  • [9] Mikolov T, Karafi & #225;t M, Burget L, et al. Recurrent neural network based language model[C]//Proceedings of the 11th Annual Conference of the International Speech Communication Association. Makuhari, Chiba, Japan: ISCA, 2010.
  • [10] Zaremba W, Sutskever I. Learning to execute[EB/OL].[2018-08-15]. https://arxiv.org/pdf/1410.4615.pdf.
  • [11] Weston J, Bengio S, Usunier N. WSABIE: scaling up to large vocabulary image annotation[C]//Proceedings of the 22nd International Joint Conference on Artificial Intelligence. Barcelona, Catalonia, Spain: ACM, 2011: 2764-2770.[DOI:10.5591/978-1-57735-516-8/IJCAI11-460]
  • [12] Krizhevsky A, Sutskever I, Hinton G E. ImageNet classification with deep convolutional neural networks[C]//Proceedings of the 25th International Conference on Neural Information Processing Systems. Lake Tahoe, Nevada: ACM, 2012: 1097-1105.
  • [13] Graves A. Generating sequences with recurrent neural networks[EB/OL].[2018-08-15]. https://arxiv.org/pdf/1308.0850.pdf.
  • [14] Sutskever I, Vinyals O, Le Q V. Sequence to sequence learning with neural networks[C]//Proceedings of the 27th International Conference on Neural Information Processing Systems. Montreal, Canada: ACM, 2014: 3104-3112.
  • [15] Fusi S, Drew P J, Abbott L F. Cascade models of synaptically stored memories[J]. Neuron, 2005, 45(4): 599–611. [DOI:10.1016/j.neuron.2005.02.001]
  • [16] Ganguli S, Huh D, Sompolinsky H. Memory traces in dynamical systems[J]. Proceedings of the National Academy of Sciences of the United States of America, 2008, 105(48): 18970–18975. [DOI:10.1073/pnas.0804451105]
  • [17] Kanerva P. Sparse Distributed Memory[M]. Cambridge: MIT Press, 1988.
  • [18] Amari S I. Characteristics of sparsely encoded associative memory[J]. Neural Networks, 1989, 2(6): 451–457. [DOI:10.1016/0893-6080(89)90043-9]
  • [19] Vinyals O, Fortunato M, Jaitly N. Pointer networks[C]//Proceedings of the 28th International Conference on Neural Information Processing Systems. Montreal, Canada: ACM, 2015: 2692-2700.
  • [20] Bahdanau D, Cho K, Bengio Y. Neural machine translation by jointly learning to align and translate[EB/OL].[2018-08-15]. https://arxiv.org/pdf/1409.04735.pdf.
  • [21] Gregor K, Danihelka I, Graves A, et al. Draw: a recurrent neural network for image generation[C]//Proceedings of the 32nd International Conference on International Conference on Machine Learning. Lille, France: ACM, 2015.
  • [22] Hintzman D L. MINERVA 2:a simulation model of human memory[J]. Behavior Research Methods, Instruments, & Computers, 1984, 16(2): 96–101. [DOI:10.3758/BF03202365]
  • [23] Kumar A, Irsoy O, Ondruska P, et al. Ask me anything: dynamic memory networks for natural language processing[C]//Proceedings of the 33rd International Conference on International Conference on Machine Learning. New York, NY, USA: ACM, 2016: 1378-1387.
  • [24] Sukhbaatar S, Szlam A, Weston J, et al. End-to-end memory networks[C]//Proceedings of the 28th International Conference on Neural Information Processing Systems. Montreal, Canada: ACM, 2015: 2440-2448.
  • [25] Magee J C, Johnston D. A synaptically controlled, associative signal for Hebbian plasticity in hippocampal neurons[J]. Science, 1997, 275(5297): 209–213. [DOI:10.1126/science.275.5297.209]
  • [26] Johnston S T, Shtrahman M, Parylak S, et al. Paradox of pattern separation and adult neurogenesis:a dual role for new neurons balancing memory resolution and robustness[J]. Neurobiology of Learning and Memory, 2016, 129: 60–68. [DOI:10.1016/j.nlm.2015.10.013]
  • [27] O'Reilly R C, McClelland J L. Hippocampal conjunctive encoding, storage, and recall:avoiding a trade-off[J]. Hippocampus, 1994, 4(6): 661–682. [DOI:10.1002/hipo.450040605]
  • [28] Howard M W, Kahana M J. A distributed representation of temporal context[J]. Journal of Mathematical Psychology, 2002, 46(3): 269–299. [DOI:10.1006/jmps.2001.1388]
  • [29] Jurczyk P, Agichtein E. Discovering authorities in question answer communities by using link analysis[C]//Proceedings of the 16th ACM conference on Conference on information and knowledge management. Lisbon, Portugal: ACM, 2007: 919-922.[DOI:10.1145/1321440.1321575]
  • [30] Li B C, Lyu M R, King I. Communities of Yahoo! answers and Baidu Zhidao: complementing or competing?[C]//Proceedings of 2012 International Joint Conference on Neural Networks. Brisbane, QLD, Australia: IEEE, 2012: 1-8.[DOI:10.1109/IJCNN.2012.6252435]
  • [31] Bilotti M W, Elsas J, Carbonell J, et al. Rank learning for factoid question answering with linguistic and semantic constraints[C]//Proceedings of the 19th ACM International Conference on Information and knowledge Management. Toronto, ON, Canada: ACM, 2010: 459-468.[DOI:10.1145/1871437.1871498]
  • [32] Wang M Q. A survey of answer extraction techniques in factoid question answering[J]. Computational Linguistics, 2006, 1(1): 1–14.
  • [33] Boyd-Graber J, Satinoff B, He H, et al. Besting the quiz master: crowdsourcing incremental classification games[C]//Proceedings of the 2012 Joint Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning. Jeju Island, Korea: ACM, 2012: 1290-1301.
  • [34] Iyyer M, Boyd-Graber J, Claudino L, et al. A neural network for factoid question answering over paragraphs[C]//Proceedings of 2014 Conference on Empirical Methods in Natural Language Processing. Doha, Qatar: ACL, 2014: 633-644.
  • [35] Zheng S C, Bao H Y, Zhao J, et al. A novel hierarchical convolutional neural network for question answering over paragraphs[C]//Proceedings of 2015 IEEE/WIC/ACM International Conference on Web Intelligence and Intelligent Agent Technology. Singapore: IEEE, 2015, 1: 60-66.[DOI:10.1109/WI-IAT.2015.20]
  • [36] Iyyer M, Manjunatha V, Boyd-Graber J, et al. Deep unordered composition rivals syntactic methods for text classification[C]//Proceedings of the 53rd Annual Meeting of the Association for Computational Linguistics and the 7th International Joint Conference on Natural Language Processing. Beijing, China: ACL, 2015: 1681-1691.
  • [37] Carr C E. Processing of temporal information in the brain[J]. Annual Review of Neuroscience, 1993, 16: 223–243. [DOI:10.1146/annurev.ne.16.030193.001255]
  • [38] Ivry R B. The representation of temporal information in perception and motor control[J]. Current Opinion in Neurobiology, 1996, 6(6): 851–857. [DOI:10.1016/S0959-4388(96)80037-7]
  • [39] Schweppe J, Rummer R. Attention, working memory, and long-term memory in multimedia learning:an integrated perspective based on process models of working memory[J]. Educational Psychology Review, 2014, 26(2): 285–306. [DOI:10.1007/s10648-013-9242-2]
  • [40] Minsky M. The Society of Mind[M]. New York: Simon and Schuster, 1988.
  • [41] Duan X Y, Tang S L, Zhang S Y, et al. Temporality-enhanced knowledgememory network for factoid question answering[J]. Frontiers of Information Technology & Electronic Engineering, 2018, 19(1): 104–115. [DOI:10.1631/FITEE.1700788]
  • [42] Malinowski M, Rohrbach M, Fritz M. Ask your neurons: a neural-based approach to answering questions about images[C]//Proceedings of 2015 IEEE International Conference on Computer Vision. Santiago, Chile: IEEE, 2015: 1-9.[DOI:10.1109/ICCV.2015.9]
  • [43] Li L H, Tang S, Deng L X, et al. Image caption with global-local attention[C]//Proceedings of the 31st AAAI Conference on Artificial Intelligence. San Francisco, California, USA: AAAI, 2017: 4133-4139.
  • [44] Pan P B, Xu Z W, Yang Y, et al. Hierarchical recurrent neural encoder for video representation with application to captioning[C]//Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas, NV, USA: IEEE, 2016: 1029-1038.[DOI:10.1109/CVPR.2016.117]
  • [45] Wang M, Hong R C, Li G D, et al. Event driven web video summarization by tag localization and key-shot identification[J]. IEEE Transactions on Multimedia, 2012, 14(4): 975–985. [DOI:10.1109/TMM.2012.2185041]
  • [46] Yang Z W, Han Y H, Wang Z. Catching the temporal regions-of-interest for video captioning[C]//Proceedings of the 2017 ACM on Multimedia Conference. Mountain View, California, USA: ACM, 2017: 146-153.[DOI:10.1145/3123266.3123327]
  • [47] Xiong C M, Merity S, Socher R. Dynamic memory networks for visual and textual question answering[C]//Proceedings of the 33rd International Conference on Machine Learning. New York, NY, USA: PMLR, 2016: 2397-2406.
  • [48] Zhu Y K, Groth O, Bernstein M, et al. Visual7w: grounded question answering in images[C]//Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas, NV, USA: IEEE, 2016: 4995-5004.[DOI:10.1109/CVPR.2016.540]
  • [49] Wang B, Xu Y J, Han Y H, et al. Movie question answering: remembering the textual cues for layered visual contents[EB/OL].[2018-08-15]. https://arxiv.org/pdf/1804.09412.pdf.
  • [50] Tapaswi M, Zhu Y K, Stiefelhagen R, et al. Movieqa: understanding stories in movies through question-answering[C]//Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas, NV, USA: IEEE, 2016: 4631-4640.[DOI:10.1109/CVPR.2016.501]
  • [51] Mikolov T, Chen K, Corrado G, et al. Efficient estimation of word representations in vector space[J].[EB/OL].[2018-08-15]. https://arxiv.org/pdf/1301.3781.pdf.
  • [52] Goodfellow I J, Pouget-Abadie J, Mirza M, et al. Generative adversarial nets[C]//Proceedings of the 27th International Conference on Neural Information Processing Systems. Montreal, Canada: ACM, 2014: 2672-2680.
  • [53] Nilsback M E, Zisserman A. Automated flower classification over a large number of classes[C]//Proceedings of the 6th Indian Conference on Computer Vision, Graphics & Image Processing. Bhubaneswar, India: IEEE, 2008: 722-729.[DOI:10.1109/ICVGIP.2008.47]
  • [54] Lin T Y, Maire M, Belongie S, et al. Microsoft coco: common objects in context[C]//Proceedings of the 13th European Conference on Computer Vision. Zurich, Switzerland: Springer, 2014: 740-755.[DOI:10.1007/978-3-319-10602-1_48]
  • [55] Reed S, Akata Z, Yan X C, et al. Generative adversarial text to image synthesis[C]//Proceedings of the 33rd International Conference on International Conference on Machine Learning. New York, NY, USA: ACM, 2016.
  • [56] Zhang H, Xu T, Li H S, et al. StackGAN: text to photo-realistic image synthesis with stacked generative adversarial networks[C]//Proceedings of 2017 IEEE International Conference on Computer Vision. Venice, Italy: IEEE, 2017.
  • [57] Xu T, Zhang P C, Huang Q Y, et al. Attngan: Fine-grained text to image generation with attentional generative adversarial networks[EB/OL].[2018-08-15]. https://arxiv.org/pdf/1711.10485.pdf
  • [58] Hong S, Yang D, Choi J, et al. Inferring semantic layout for hierarchical text-to-image synthesis[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Salt Lake City, USA: IEEE, 2018: 7986-7994.
  • [59] Ghazvininejad M, Brockett C, Chang M W, et al. A knowledge-grounded neural conversation model[EB/OL].[2018-08-15]. https://arxiv.org/pdf/1702.01932.pdf
  • [60] Zhang S, Dong H, Hu W, et al. Text-to-Image synthesis via visual-memory creative adversarial network[C]//Proceedings of the 2018 Pacific-Rim Conference on Multimedia. Heifei, China: Springer, 2018.
  • [61] Ren S Q, He K M, Girshick R, et al. Faster R-CNN: towards real-time object detection with region proposal networks[C]//Proceedings of the 28th International Conference on Neural Information Processing Systems. Montreal, Canada: ACM, 2015: 91-99.
  • [62] Dong H, Yu S M, Wu C, et al. Semantic image synthesis via adversarial learning[EB/OL].[2018-08-15]. https://arxiv.org/pdf/1707.06873.pdf.
  • [63] Zhuang Y T, Wu F, Chen C, et al. Challenges and opportunities:from big data to knowledge in AI 2.0[J]. Frontiers of Information Technology & Electronic Engineering, 2017, 18(1): 3–14. [DOI:10.1631/FITEE.1601883]