Google 推出 MultiModel:能够同时进行 8 种不同的学习任务

774 阅读4分钟

MultiModel:跨领域多任务机器学习

2017年7月3日星期一 发布人:Google Brain 团队高级研究员 Łukasz Kaiser 和多伦多大学计算机科学系机器学习小组研究员 Aidan N. Gomez

近十年来,虽然深度学习的应用和性能均取得了飞速进步,但其面临的现状是神经网络架构的应用领域非常专一化。一个重要的问题依然悬而未决:如果将跨专业领域的深度学习聚合形成统一的模型,是否能够同时在多个领域取得优异表现呢?

今天,我们隆重推出融汇了视觉、语言和语音网络研发成果的神经网络架构 MultiModel。这套模型能够同时解决跨多个领域的大量问题,包括图像识别、翻译和语音识别等。虽然我们此前已在这一方向取得重大进步(即 Google 翻译使用的 Google 多语言神经翻译系统),但 MultiModel 是我们在单一网络中整合视觉、语音和语言理解迈出的第一步。

MultiModel 多领域处理方式的灵感来自于大脑如何将不同模态(如声音、视觉或味觉)的感官输入转化为单一的共性表现,并以语言或动作形式作为反应。作为对这些模态及其转换过程的模拟,MultiModel 拥有大量特定的小模态语音、图像或文本子网络,以及由编码器、输入/输出混合器和解码器组成的共享模型(如下图所示)。
MultiModel 架构:特定小模态子网络搭配共享编码器、I/O 混合器和解码器。每个分支代表一种模态,通过内部表征相互转换。
我们证明了 MultiModel 能够同时进行 8 种不同的学习任务:辨识图像中的对象、提供字幕、识别语音、四对语言互译,同时进行语法分析。模型会接收输入以及一个非常简单的信号,该信号将决定我们所需的输出结果。下面举例说明 MultiModel 同时针对这 8 项任务的训练1
在设计 MultiModel 时,我们清楚认识到,每个研究领域(视觉、语言和语音)的某些要素对这个模型成功执行相关任务不可或缺。我们通过试验证明,这些计算原语(例如卷积、注意力或专家混合层)不仅能明显提升其最初目标应用领域的性能表现,而且不会影响 MultiModel 执行其他任务时的性能表现。这样,不仅可以在多任务训练时取得良好的性能表现,在数据量有限的任务中,其性能表现也会有实质性的提升。令我们感到惊讶的是,即使这些任务来自鲜有共性的不同领域,亦是如此。例如,图像识别任务也可以提升语言任务中的性能表现。

值得重视的是,虽然 MultiModel 并没有创造新的性能纪录,但却帮助我们深入了解了神经网络中多领域多任务学习的动态进展,以及通过引入辅助任务来促进有限数据任务学习的潜力。机器学习领域有一个流传很久的观念:“最佳的正则项是更多的数据。”MultiModel 能够跨领域获取数据,因而比之前设想的方案更容易获取数据。MultiModel 证明,与其他任务联合训练可以提升有限数据任务的性能表现,取得良好的结果。

关于多领域机器学习,有许多问题仍待研究,我们将继续优化 Multimodel,提升其性能表现。为了快速推进这项研究,我们在 Tensor2Tensor 库中开放了 MultiModel 的源代码。我们相信,这类采用多领域数据训练的协作模型将成为深度学习的下一发展方向,并最终攻克当前窄领域训练网络所无法解决的任务。

致谢
这项研究由 Google 员工 Łukasz Kaiser、Noam Shazeer、Ashish Vaswani、Niki Parmar、Llion Jones、Jakob Uszkoreit 以及多伦多大学研究员 Aidan N. Gomez 共同开展。Aidan 当时正与 Google Brain 团队合作。




1 这 8 项任务包括:(1) 语音识别 (WSJ corpus);(2) 图像识别 (ImageNet);(3) 图像字幕制作 (MS COCO);(4) 语法分析 (Penn Treebank);(5) 英德翻译;(6) 德英翻译;(7) 英法翻译;(8) 法英翻译(全部使用 WMT 数据集)。