专栏名称: AI科技评论
「AI科技评论」是国内顶尖人工智能媒体和产业服务平台,专注全球 AI 业界、学术和开发三大方向的深度报道。
目录
相关文章推荐
51好读  ›  专栏  ›  AI科技评论

微软亚洲研究院秦涛深度总结:对偶学习的对称之美

AI科技评论  · 公众号  · AI  · 2017-05-19 22:53

正文

请到「今天看啥」查看全文


因为标注数据的代价如此大,研究人员也提出了不同的解决方案来降低对标注数据的依赖。目前互联网非常发达,没有标注的数据量非常大,如何利用这些无标注的数据辅助机器学习呢?这些方法包括:

  • Label Propagation(标签传播):以图像分类为例,如果只有一万张标注数据,但我想获得 100 万张标注数据,怎么办?我可以从网上抓取到很多图像,如果一个未标注的图像A和标注的图像B很相似,那么就认为图像A具有和B相同的类别标签。这样就可以给很多未标注的数据加上标签,增加训练的数据量。

  • Transductive learning (转导学习):一种半监督学习的方法。

  • Multi-task Learning (多任务学习):每个任务都有自己的标注数据,那么多个任务在训练时可以共享这些数据,从而每个任务训练自己的模型时都能看到更多的数据。

  • Transfer Learning (迁移学习):这也是最近比较火的一种训练方法。比如我有一个标注数据较少的目标任务(target task),但我的另一个 source task 的标注数据量比较充足,那么我们可以通过模型的迁移或将数据通过变换借鉴过来,以辅助 target task 的学习。

对偶学习:一种新的视角

我们采用一种新的视角来应对标注数据不足的问题,我们称其为人工智能的对称之美。其实大自然钟爱对称之美,例如生物构造(蝴蝶、人脸),人类也偏爱对称之美,比如泰姬陵、中国的故宫、太极。

对称结构不仅存在于自然界,在 AI 的任务中也广泛存在。比如:

  • 机器翻译,有英翻中和中翻英的对称;

  • 语音处理,需要语音转文字(语音识别),也有文本转语音(语音合成)的任务;

  • 图像理解,图像描述(image captioning)与图像生成 (image generation)也是一个对称的过程。

  • 对话任务:问题回答(Question answering)与问题生成(Question generation)

  • 搜索引擎:文本匹配查询(Query-document matching)与广告关键词推荐服务(Query/keyword suggestion)

对偶学习的基本思想,实际上是一个新的学习范式,利用 AI 任务的对称属性(primal-dual)使其获得更有效的反馈/正则化 ,从而引导、加强学习过程(特别是在数据量少的情况下)。

如何从零或非常少的训练数据中进行对偶学习?

这是我们发表在 NIPS 2016 的一个工作,主要是以机器翻译为目标。

以机器翻译为例,我们手头有两个智能体,一个只懂英文不懂中文,另一个反之。我们希望同时训练英翻中和中翻英的模型。

首先,拿到一个无标注的英文句子,我们并不知道 的正确中文翻译。我们通过 primal model ;翻译成一个中文句子

因为我们没有进行标注,因此无从判断句子 的正误。但懂中文的智能体可以判断作为一个中文句子, 是否为一个通顺的、语法正确的句子。因此,懂中文的智能体可以给出一个 partial feedback,反馈句子 的质量如何。

随后,我们通过对偶模型 ,将中文句子 再翻译为英文句子 。懂英文的智能体收到这个句子后,它可以比较 的相似度。如果 的表现很好,那么 应该非常相近。如果反之,可能模型就需要改进。

这个过程实际上非常像强化学习的过程。在训练过程中,没有人告诉机器某个状态下正确的 action 是什么,只能通过「试错-反馈」的过程来反复尝试。

以围棋为例子,可能需要走上百步才能知道输赢,但通过最终的反馈,就能训练提高这个模型的优劣。对于我们机器翻译在 的状态下,我们无从知道正确的 action 是什么,因此只能通过已有的 policy 来 take action 得到 ,再用另一个 policy 得到 , 从而通过比较 获得反馈。这实际上也是一个不断试错的过程,而且像强化学习一样,是具有延迟的反馈,最开始采取第一个 action 时,只能获得部分反馈,只有到流程结束,才能获得更有效的完整反馈,比如说 的相似性。

Policy Gradient

因此,像强化学习的一些算法,都可以直接用于训练更新模型 。我们的工作中用了一个叫策略梯度 policy gradient 的方法。它实际上是强化学习的一类方法。

简单说来,它的基本思想是,当采取某个行动(action)获得了一个反馈/reward 后,如果反馈不错,那么我们会调整模型,使下一次采取同样行动的概率变大,如果反馈不好,那么我们就需要更新模型,降低我们采取同样行动的概率。在算法上的实际,我们会对 primal model 和 dual model 求梯度,如果反馈好,我们会把梯度加到模型上,增加这个 action 的概率;反之,我们会将梯度减去,减少这个 action 出现的概率。

举个简单例子, 为「Policy gradient methods are popular in reinforcement learning」,而得到的 在语法上一看就有问题,从而我们发现 并不理想,因此希望更新 的参数,通过减去梯度,使不好 action 出现的概率变小。


而在新的一轮迭代中,我们发现 都不错,那么通过加上梯度,使得让好的 action 出现的概率变大。







请到「今天看啥」查看全文