592 Chapter 17. 多模态、多层次机器翻译 肖桐 朱靖波
17.3 图像翻译
在人类所接受的信息中,视觉信息的比重往往不亚于语音和文本信息,甚至更
多。视觉信息通常以图像的形式存在,近几年,结合图像的多模态机器翻译受到了
广泛的关注。多模态机器翻译(图17.10 (a))简单来说就是结合源语言和其他模态
(例如图像等)的信息生成目标语言的过程。这种结合图像的机器翻译还是一种狭义
上的“翻译”,它本质上还是从源语言到目标语言或者说从文本到文本的翻译。事
实上从图像到文本(图17.10(b))的转换,即给定图像,生成与图像内容相关的描述,
也可以被称为广义上的“翻译”。例如,图片描述生成(Image Captioning)就是一种
典型的图像到文本的翻译。当然,这种广义上的翻译形式不仅仅包括图像到文本的
转换,还可以包括从图像到图像的转换(图17.10(c)),甚至是从文本到图像的转换
(图17.10(d))等等。这里将这些与图像相关的翻译任务统称为图像翻译。
(a) 多模态机器翻译
(b) 图像到文本翻译
(c) 图像到图像翻译
(d) 文本到图像翻译
图 17.10 图像翻译任务
17.3.1 基于图像增强的文本翻译
在文本翻译中引入图像信息是最典型的多模态机器翻译任务。虽然多模态机器
翻译还是一种从源语言文本到目标语言文本的转换,但是在转换的过程中,融入了
其他模态的信息减少了歧义的产生。例如前文提到的通过与源语言相关的图像信息,
将“A girl jumps off a bank .”中“bank”翻译为“河岸”而不是“银行”,因为图像
中出现了河岸,因此“bank”的歧义大大降低。换句话说,对于同一图像或者视觉场
景的描述,源语言和目标语言描述的信息是一致的,只不过,体现在不同语言上会
有表达方法上的差异。那么,图像就会存在一些源语言和目标语言的隐含对齐“约
束”,而这种“约束”可以捕捉语言中不易表达的隐含信息。
如何融入视觉信息,更好的理解多模态上下文语义是多模态机器翻译研究的
重点
[1069, 1070, 1071]
,主要方向包括基于特征融合的方法
[1072, 1073, 1074]
、基于联合模型的方
法
[1075, 1076]
。下面是具体介绍。
1. 基于特征融合的方法
早期,通常将图像信息作为输入句子的一部分
[1072, 1077]
,或者用其对编码器、解码
器的状态进行初始化
[1072, 1078, 1079]
。如图17.11所示,图中 y
<
表示当前时刻之前的单词
17.3 图像翻译 593
序列,对图像特征的提取通常是基于卷积神经网络,有关卷积神经网络的内容,可以
参考第十一章内容。通过卷积神经网络得到全局图像特征,在进行维度变换后,将
其作为源语言输入的一部分或者初始化状态引入到模型当中。但是,这种图像信息
的引入方式有以下两个缺点:
• 图像信息不全都是有用的,往往存在一些与源语言或目标语言无关的信息,作
为全局特征会引入噪音。
• 图像信息作为源语言的一部分或者初始化状态,间接地参与了译文的生成,在
神经网络的计算过程中,图像信息会有一定的损失。
CNN CNN
编码器
x
解码器
y
<
y
x:源语言文本数据
y:目标语言文本数据
图 17.11 基于全局视觉特征的多模态翻译方法
说到噪音问题就不得不提到注意力机制的引入,前面章节中提到过这样的一个
例子:
中午/没/吃饭/,/又/刚/打/了/ 一/下午/篮球/,/我/现在/很/饿/ ,/我/想 。
想在横线处填写“吃饭”,“吃东西”的原因是在读句子的过程中,关注到了
“没/吃饭”,“很/饿”等关键信息。这是在语言生成中注意力机制所解决的问题,即
对于要生成的目标语言单词,相关性更高的语言片段应该更加“重要”,而不是将所
有单词一视同仁。同样的,注意力机制也应用在多模态机器翻译中,即在生成目标
单词时,更应该关注与目标单词相关的图像部分,而弱化对其他部分的关注。另外,
注意力机制的引入,也使图像信息更加直接地参与目标语言的生成,解决了在不使
用注意力机制的方法中图像信息传递损失的问题。
那么,多模态机器翻译是如何计算上下文向量的呢?这里仿照第十章的内容给
出描述。假设编码器输出的状态序列为 {h
1
,...h
m
},需要注意的是,这里的状态序
列不是源语言句子的状态序列,而是通过基于卷积等操作提取到的图像的状态序列。
假设图像的特征维度是 16 ×16 ×512,其中前两个维度分别表示图像的高和宽,这里
会将图像映射为 256×512 的状态序列,其中 512 为每个状态的维度。对于目标语言
594 Chapter 17. 多模态、多层次机器翻译 肖桐 朱靖波
图 17.12 使用注意力机制前后图像中对单词“bank”的关注程度对比
位置 j,上下文向量 C
j
被定义为对序列的编码器输出进行加权求和,如下:
C
j
=
X
i
α
i,j
h
i
(17.1)
其中,α
i,j
是注意力权重,它表示目标语言第 j 个位置与图片编码状态序列第 i 个位
置的相关性大小,计算方式与第十章描述的注意力函数一致。
这里,将 h
i
看作图像表示序列位置 i 上的表示结果。图17.12给出了模型在生成
目标词“bank”时,图像经过注意力机制对图像区域关注度的可视化效果。可以看到,
经过注意力机制后,模型更关注与目标词相关的图像部分。当然,多模态机器翻译
的输入还包括源语言文字序列。通常,源语言文字对于翻译的作用比图像更大
[1080]
。
从这个角度说,在当下的多模态翻译任务中,图像信息更多的是作为文字信息的补
充,而不是替代。除此之外,注意力机制在多模态机器翻译中也有很多研究,比如,
在编码器端将源语言文本与图像信息进行注意力建模,得到更好的源语言的表示结
果
[1073, 1080]
。
2. 基于联合模型的方法
基于联合模型的方法通常是把翻译任务与其他视觉任务结合,进行联合训练。这
种方法也可以被看做是一种多任务学习,只不过这里仅关注翻译和视觉任务。一种
常见的方法是共享模型的部分参数来学习不同任务之间相似的部分,并通过特定的
模块来学习每个任务特有的部分。
如图17.13所示,图中 y
<
表示当前时刻之前的单词序列,可以将多模态机器翻译
任务分解为两个子任务:机器翻译和图片生成
[1075]
。其中机器翻译作为主任务,图片
生成作为子任务。这里的图片生成指的是从一个图片描述生成对应图片,对于图片
生成任务在后面还会有描述。通过单个编码器对源语言数据进行建模,然后通过两
个解码器(翻译解码器和图像解码器)来分别学习翻译任务和图像生成任务。顶层
学习每个任务的独立特征,底层共享参数能够学习到更丰富的文本表示。
另外在视觉问答领域有研究表明,在多模态任务中,不宜引入过多层的注意力
17.3 图像翻译 595
机制,因为过深的模型会导致多模态模型的过拟合
[1081]
。这一方面是由于深层模型本
身对数据的拟合能力较强,另一方面也是由于多模态任务的数据普遍较少,容易造
成复杂模型的过拟合。从另一角度来说,利用多任务学习的方式,提高模型的泛化
能力,也是一种有效防止过拟合现象的方式。类似的思想,也大量使用在多模态自
然语言处理任务中,例如图像描述生成、视觉问答等
[1082]
。
x
编码器
解码器
y
y
<
解码器
x:源语言文本数据
y:目标语言文本数据
翻译
生成图片
图 17.13 翻译 + 图片生成联合学习模型
17.3.2 图像到文本的翻译
图像到文本的转换也可以看作是广义上的翻译,简单来说,就是把图像作为唯一
的输入,而输出是文本。其中,图像描述生成是最典型的图像到文本的翻译任务
[1083]
。
虽然,这部分内容并不是本书的重点,不过为了保证多模态翻译内容的完整性,这
里对相关技术进行简要介绍。图像描述有时也被称看图说话、图像字幕生成,它在
图像检索、智能导盲、人机交互等领域有着广泛的应用场景。
描述候选池
天空中有很多鸟。
孩子从河岸上跳下来。
狗在吐舌头。
√
男人戴着眼镜。
...
图片中有狗,帽子, 。
狗
帽子
图片检测
模板填充
(a) 基于检索的图像描述生成
(b) 基于模板的图像描述生成
图 17.14 图像描述传统方法
传统图像描述生成有两种范式:基于检索的方法和基于模板的方法。其中图17.14(a)
展示了一个基于检索的图像描述生成实例,这种方法在图像描述的候选中选择一个
描述输出。但是,弊端是所选择的句子可能会和图像很大程度上不相符。而17.14(b)
596 Chapter 17. 多模态、多层次机器翻译 肖桐 朱靖波
展示的是一种基于模版的方法,这种方法需要在图像上提取视觉特征,然后把内容
填在实现设计好的模板当中,这种方法的缺点是生成的图像描述过于呆板,“像是在
一个模子中刻出来的”说的就是这个意思。近几年来,受到机器翻译领域等任务的
启发,图像描述生成任务也开始大量使用编码器-解码器框架。这里会从基础的图像
描述范式编码器-解码器框架展开
[1084, 1085]
,并从编码器的改进和解码器的改进两个方
面进行介绍。
1. 基础框架
在编码器-解码器框架中,编码器将输入的图像转换为一种新的“表示”形式,这
种“表示”包含了输入图像的所有信息。之后解码器把这种“表示”转换为自然语
言描述。比如,可以通过卷积神经网络提取图像特征为一个向量表示。然后,利用长
短时记忆网络(LSTMs)解码生成文字描述,这个过程中与机器翻译的解码过程类
似。这种建模方式存在与17.3.1小节描述一样的问题:生成的描述单词不一定需要所
有的图像信息,将全局的图像信息送入模型中,可能会引入噪音。这时可以使用注
意力机制来缓解该问题
[1085]
。
2. 编码器的改进
要想使编码器-解码器框架在图像描述生成中充分发挥作用,编码器也要更好
的表示图像信息。对于编码器的改进,通常体现在向编码器中添加图像的语义信
息
[1086, 1087, 1088]
和位置信息
[1087, 1089]
。
图像的语义信息一般是指图像中存在的实体、属性、场景等等。如图17.15所示,
从图像中利用属性或实体检测器提取出“jump”、“girl”、“river”、“bank”等属
性词和实体词,将他们作为图像的语义信息编码的一部分,再利用注意力机制计算
目标语言单词与这些属性词或实体词之间的注意力权重
[1086]
。当然,除了图像中的实
体和属性作为语义信息外,也可以将图片的场景信息加入到编码器当中
[1088]
。有关如
何做属性、实体和场景的检测,涉及到目标检测任务的工作,例如 Faster-RCNN
[506]
、
YOLO
[1090, 1091]
等等, 这里不再赘述。
以上的方法大都是将图像中的实体、属性、场景等映射到文字上,并把这些信
息显式地输入到编码器中。除此之外,一种方法是把图像中的语义特征隐式地引入
编码中
[1087]
。例如,图像数据可以分解为三个通道(红、绿、蓝),简单来说,就是将
图像的每一个像素点按照红色、绿色、蓝色分成三个部分,这样就将图像分成了三
个通道。在很多图像中,不同通道伴随的特征是不一样的,可以将其作用于编码器。
另外一种方法是基于位置信息的编码增强。位置信息指的是图像中对象(物体)的
位置。利用目标检测技术检测系统获得图中的对象和对应的特征,这样就确定了图
中的对象位置。显然,这些信息可以加强编码器的表示能力
[1092]
。
17.3 图像翻译 597
river
mountain
child
girl
jump
bank
sky
tree
解码器
y
<j
y
j
(bank)
图 17.15 编码器“显式”融入语义信息
3. 解码器的改进
由于解码器输出的是语言文字序列,因此需要考虑语言的特点对其进行改进。例
如,解码过程中,“the”,“on”,“at”这种介词或者冠词与图像的相关性较低
[1093]
。因
此,可以通过门控单元,控制视觉信号作用于文字生成的程度。另外, 在解码过程中,
生成的每个单词对应着图像的区域可能是不同的。因此也可以设计更为有效的注意
力机制来捕捉解码器端对不同图像局部信息的关注程度
[1094]
。
除了更好地使生成文本与图像特征进行相互作用以外,还有一些改进方法。例
如,用卷积神经网络或者 Transformer 代替解码器所使用的循环神经网络
[1095]
。或者
使用更深层的神经网络学习动词或者形容词等视觉中不易表现出来的单词
[1096]
,其思
想与深层神经机器翻译模型有相通之处(见第十五章)。
17.3.3 图像、文本到图像的翻译
当生成的目标对象是图像时,问题就变为了图像生成任务。虽然,这个领域本
身并不属于机器翻译,但是其使用的基本方法与机器翻译有类似之处。二者也可以
相互借鉴。
在计算机视觉中,图像风格变换、图像超分辨率重建等任务,都可以被视为图
像到图像的翻译(Image-to-Image Translation)问题。与机器翻译类似,这些问题的共
同目标是学习从一个对象到另一个对象的映射,只不过这里的对象是指图像,而非
机器翻译中的文字。例如,给定物体的轮廓生成真实物体图片,或者给定白天照片
生成夜晚的照片等。图像到图像的翻译有广阔的应用场景,如图片补全、风格迁移
等。文本到图像的翻译(Text-to-Image Translation)是指给定描述物体颜色和形状等细
节的自然语言文字,生成对应的图像。该任务也可以看作是图像描述生成的逆任务。
无论是图像到图像的生成,还是文本到图像的生成,均可直接使用编码器-解码
器框架进行实现。比如,在文本到图像生成中,可以使用机器翻译中的编码器对输
入文本进行编码,之后用对抗生成网络将编码结果转化为图像
[1097]
。近些年,图像生
598 Chapter 17. 多模态、多层次机器翻译 肖桐 朱靖波
成类任务也取得了很大的进展,这主要得益于生成对抗网络的使用
[1098, 1099, 1100]
。在第
十三章已经介绍了生成对抗网络,而且图像生成也不是本书的重点,感兴趣的读者
可以参考第十三章的内容或者自行查阅相关文献进行了解。