原文翻译

导读

  这篇文章的主要工作在于应用了对抗训练(adversarial training)的思路来解决开放式对话生成(open-domain dialogue generation)这样一个无监督的问题。

  其主体思想就是将整体任务划分到两个子系统上,一个是生成器(generative model),利用seq2seq式的模型以上文的句子作为输入,输出对应的对话语句;另一个则是一个判别器(discriminator),用以区分在前文条件下当前的问答是否是和人类行为接近,这里可以近似地看作是一个二分类分类器。两者结合的工作机理也很直观,生成器不断根据前文生成答句,判别器则不断用生成器的生成作为负例,原文的标准回答作为正例来强化分类。在两者训练的过程中,生成器需要不断改良答案来欺骗生成器,判别器则需要不断提高自身的判别能力从而区分机造和人造答案直至最后两者收敛达到某种均衡。

  以往的模型受限于训练目标以及训练方式,其生成的结果往往是迟钝笼统的甚至都很简短(如果可以的话,所有的对话我都可以回答“呵呵”,很明显这样的回答是不符合常识的)。所以这样一种博弈式的训练方式来取代以往相对简单固定的概率似然来优化这样一种无监督的开放任务显然是很有意义的想法。不过这样的方法遇到困难也很明显,GAN和NLP一直八字不合,很难很好的融合。和之前的工作SeqGAN类似,这篇工作也采取了增强学习来规避GAN在NLP中使用的难点,并作出了更多的尝试。

补充知识:

  •   生成器G就是一个seq2seq模型,输入是历史对话x,通过RNN来对语义进行向量表示再逐一生成回答的每个词,从而形成回答y
  •   判别器D是一个输入为历史对话x和回答y二元组的一个二分类器,使用了hierarchicalencoder,其中机造回答组合为负例Q−({x,y}),人造回答组合为正例Q+({x, y})。

主要解决了什么问题:

  以 GAN 为目标,生成自然语言

在本任务中增强学习的一个很大的问题在于我们的估价都是针对一整个回答的,判别器只会给出一个近似于对或者不对的反馈。这样的模式存在一个很大的问题是,即使是很多被判断为有问题的句子,其中有很大一部分语言成分是有效的,如文中的例子“what’s yourname”,人类回答“I am John”,机器回答“I don’t know”。判别器会给出“I don’t know”是有问题的,但无法给出I是对的而后面的don’t know是错的,事实上机器没有回答he/she/you/they而是I本质上是需要一个肯定的正反馈的。

判别器只告诉机器对或错,却不告知哪部分对和哪部分错,这对训练带来了很大隐患。

采用了什么方法:

  把序列评分拆开来算,这样就能算到前缀的评分,做到局部评价的反馈。为了防止训练过拟合,每次只是从正例和负例的子序列中随机选取一个来训练。Reward for EveryGeneration Step

Teacher Forcing模型 :

  在以往的工作中,D效果非常好而G的效果非常糟糕会带来训练效果的下降。试想一下一个G所有产生的答案都被D驳回了,在这段时间内G的所有反馈都是负反馈,G就会迷失从而不知道向什么方向优化会得到正反馈,所以理想的情况下G和D是交替训练上升的。

  在控制D和G训练节奏的同时,这篇工作中又采用了一种类似强制学习的方式来尝试解决这个问题。每次在正常的增加学习后会让生成器强行生成正确答案并从D得到正向的反馈,从而每次都能有一个正向优化方向的指示。这样的行为类似于学校老师强行灌输知识,也很类似于之前的professor-forcing算法。

Policy Gradient Training模型:

  文中模型采用了policy gradient的方法(增强学习的方式之一)来进行增强学习的训练。

  优化目标是:

  

  优化目标导数:

  

  Q是判别器D的结果,换句话说判别器的鉴定结果可以看作是增强学习中的reward,policy gradient整体的优化目标其实就是希望回报高的决策其概率越高。在本任务中state为x,即历史对话;决策为y,即下一步的对话。x生成y的概率等于逐词生成的概率

Reward for EveryGeneration Step模型

    

该问题可以被概括为如下几部分:

  给定一个对话输入序列x,该模型需要生成一个回应y。我们将sentence生成的过程视为一个动作序列(sequence of action),将encoder-decoder模型视为一个策略(policy)。

参考文章

论文泛读·Adversarial Learning for Neural Dialogue Generation的更多相关文章

  1. [论文阅读笔记] Adversarial Learning on Heterogeneous Information Networks

    [论文阅读笔记] Adversarial Learning on Heterogeneous Information Networks 本文结构 解决问题 主要贡献 算法原理 参考文献 (1) 解决问 ...

  2. 论文泛读:Click Fraud Detection: Adversarial Pattern Recognition over 5 Years at Microsoft

    这篇论文非常适合工业界的人(比如我)去读,有很多的借鉴意义. 强烈建议自己去读. title:五年微软经验的点击欺诈检测 摘要:1.微软很厉害.2.本文描述了大规模数据挖掘所面临的独特挑战.解决这一问 ...

  3. 论文泛读 A Novel Ensemble Learning-based Approach for Click Fraud Detection in Mobile Advertising [1/10]

    title:新的基于集成学习的移动广告作弊检测 导语:基于buzzcity数据集,我们提出了对点击欺诈检测是基于一组来自现有属性的新功能的一种新方法.根据所得到的精度.召回率和AUC对所提出的模型进行 ...

  4. NLP论文泛读之《教材在线评论的情感倾向性分析》

    NLP论文泛读之<教材在线评论的情感倾向性分析> 本文借助细粒度情感分类技术, 对从网络上抓取大量计算机专业本科教材的评价文本进行情感极性 分析, 从而辅助商家和出版社改进教材的质量.制定 ...

  5. Deep Reinforcement Learning for Dialogue Generation 论文阅读

    本文来自李纪为博士的论文 Deep Reinforcement Learning for Dialogue Generation. 1,概述 当前在闲聊机器人中的主要技术框架都是seq2seq模型.但 ...

  6. [论文阅读笔记] Adversarial Mutual Information Learning for Network Embedding

    [论文阅读笔记] Adversarial Mutual Information Learning for Network Embedding 本文结构 解决问题 主要贡献 算法原理 实验结果 参考文献 ...

  7. [论文][半监督语义分割]Adversarial Learning for Semi-Supervised Semantic Segmentation

    Adversarial Learning for Semi-Supervised Semantic Segmentation 论文原文 摘要 创新点:我们提出了一种使用对抗网络进行半监督语义分割的方法 ...

  8. 【论文笔记】Learning Convolutional Neural Networks for Graphs

    Learning Convolutional Neural Networks for Graphs 2018-01-17  21:41:57 [Introduction] 这篇 paper 是发表在 ...

  9. 【论文阅读】MEAL: Multi-Model Ensemble via Adversarial Learning

    转载请注明出处:https://www.cnblogs.com/White-xzx/ 原文地址:https://arxiv.org/abs/1812.02425 Github: https://git ...

随机推荐

  1. Win10_x86_x64PE维护光盘——我用过最好用的PE

    先感谢hongxj和fish2006两位大大提供的PE. 先放出所有工具的下载地址: hongxj的PE:https://yunpan.cn/crAw6HS6ar9ck  访问密码 4a4e fish ...

  2. IE常见的兼容处理

    IE常见的兼容处理 1. 禁用IE兼容模式 为了保证IE能够使用最新渲染模式而不是兼容模式,在html文档头部应加入以下代码: <head> <meta charset=" ...

  3. 第一周CoreIDRAW课总结

      一. 问:这节课学到了什么知识? 答:这节课我学到了很多知识,作为初学者的我,老师给我讲了CorelDEAW的启动,安装,基础知识和应用与用途. 基础知识 位图:是由无数个像素点构成的图像,又叫点 ...

  4. [模拟赛] T2 混合图

    Description Hzwer神犇最近又征服了一个国家,然后接下来却也遇见了一个难题. Hzwer的国家有n个点,m条边,而作为国王,他十分喜欢游览自己的国家.他一般 会从任意一个点出发,随便找边 ...

  5. Maven-02: 依赖

    其实一个依赖声明可以包含如下的一些元素: groupId,artifactId,version:依赖的基本坐标. type:依赖的类型,对应于项目坐标定义的packaging.大多数情况下,该元素不必 ...

  6. Django+xadmin打造在线教育平台(六)

    九.课程章节信息 9.1.模板和urls 拷贝course-comments.html 和 course-video.html放入 templates目录下 先改course-video.html,同 ...

  7. 21.C++- "++"操作符重载、隐式转换之explicit关键字、类的类型转换函数

    ++操作符重载 ++操作符分为前置++和后置++,比如: ++a;  a++; ++操作符可以进行全局函数或成员函数重载 重载前置++操作符不需要参数 重载后置++操作符需要一个int类型的占位参数 ...

  8. Leaflet客户端学习笔记

    Leaflet介绍 Leaflet 是一个为建设交互性好适用于移动设备地图,而开发的现代的.开源的 JavaScript 库.代码仅有 33 KB,但它具有开发在线地图的大部分功能.支持插件扩展, L ...

  9. JavaScript简史

    JavaScript诞生于1995年. 当时的web正在日益兴起,人们对客户端语言的需求也越来越强烈.当时走在技术革新最前沿的Netscape公司决定开发一种客户端语言,用来处理简单的输入验证. 当时 ...

  10. 上海依图-电话面试-angularjs

    树的遍历(树结构:node.name,node.children),输出node.name(递归) 指令的scope的绑定策略(@绑定DOM数学单向绑定:=双向数据绑定:&绑定父作用域函数) ...