科学家研究熊(三角兽首席科学家王宝勋)
科学家研究熊(三角兽首席科学家王宝勋)在模型结构上,生成器选择了基于 GRU 的编码器-解码器结构,判别器选择了 CNN。GRU 虽然不像 LSTM 那么明确地有不同门负责不同任务,但从实践效果来看,两个模型效果相差不多,因此最终选择参数较少的 GRU。选择 CNN 则和近似嵌入层(Approximate Embedding Layer AEL)的引入有关。这一层在做句子表示时,虽说有近似,但还是以词的嵌入(embedding)向量串联的形式来表示一个句子。在这之上,可以做一些其他的表示,甚至可以直接加在一起。但是根据以往的经验,分类器还是用一个不太深的 CNN 比较好。虽然没有纯理论的推导,但经验上表明,对于对抗学习这种架构来说,判别器不能太强。如果判别器过强,一下子就把两类样本分开,说明生成的样本对判别器来说没什么太大挑战,判别器也无法给生成器提出什么建议,导致误差传导、生成器底层更新的频率和幅度都会小一些。因此生成器和
机器之心原创
作者:邱陆陆
从 EMNLP 入选论文《Neural Response Generation via GAN with an Approximate Embedding Layer》出发,自动对话领域的特点到发展方向和亟待解决的问题,我们与三角兽首席科学家王宝勋聊了聊。
三角兽首席科学家王宝勋
限于闲聊的、无信息需求的对话生成是自动对话领域一个比较前沿的学术方向。在应用方面,生成式聊天相比于前一代的基于信息检索的(IR-based)架构也有一些天然的优势:它不需要维护大规模问答库,也不需要排序、筛选等子模块,这种更加一体化的构架,在部署上也很有实际意义。
然而,生成式聊天也有自己的弱点:因为模型通常以相关性为核心构建损失函数,所以非常容易生成严重趋同的答案,这种现象被称为「安全回答」问题(safe response)。一句「我也这么认为。」确实可以回复许多问题,但是这样「鸡肋」的回答难免让用户失去继续聊下去的兴趣。因此,生成式对话系统在获得大范围应用前,一定要解决安全回答问题。
论文:数据需求特点与模型结构选择
在数据需求方面,生成式对话系统相比于信息检索式的对话系统,乃至于神经机器翻译系统,有哪些不同呢?对此,王宝勋表示,首先相比于信息检索式架构,生成模型在训练阶段对数据量有较高需求,然而一旦学习结束,在理想状态下就可以直接端到端地生成答案,不需要再对数据进行维护。而相比于机器翻译,虽然对话数据比翻译常见,可以从论坛、贴吧等众多途径获得,但是数据质量远远不如翻译数据。以本文所提出的模型为例,相比于神经机器翻译,在数据体量上要求较低而在质量上要求较高。数量上要求低,是因为对抗的过程在不停地生成数据,这一轮和下一轮生成的样本可以被看成是不同的样本。质量上要求高,是因为模型的目标是避免安全回答,因此从一开始就要对数据进行严格的预处理,避免数据集中出现安全回答。
在模型结构上,生成器选择了基于 GRU 的编码器-解码器结构,判别器选择了 CNN。GRU 虽然不像 LSTM 那么明确地有不同门负责不同任务,但从实践效果来看,两个模型效果相差不多,因此最终选择参数较少的 GRU。选择 CNN 则和近似嵌入层(Approximate Embedding Layer AEL)的引入有关。这一层在做句子表示时,虽说有近似,但还是以词的嵌入(embedding)向量串联的形式来表示一个句子。在这之上,可以做一些其他的表示,甚至可以直接加在一起。但是根据以往的经验,分类器还是用一个不太深的 CNN 比较好。虽然没有纯理论的推导,但经验上表明,对于对抗学习这种架构来说,判别器不能太强。如果判别器过强,一下子就把两类样本分开,说明生成的样本对判别器来说没什么太大挑战,判别器也无法给生成器提出什么建议,导致误差传导、生成器底层更新的频率和幅度都会小一些。因此生成器和判别器在学习速度上还是要相匹配的。
对话生成研究:一对多问题,缺失的评价标准和多轮的挑战
「人机对话之前都是自然语言处理领域稍微小众的一个方向,但是今年的 ACL 收录了超过十篇做对话的论文,这个数字是前所未有的」。研究方向的热度随着人工智能整体的热度而急速攀升,即使是走在最前沿的研究者也对此感到惊讶。处在这样的一个时间节点,王宝勋眼里的对话生成领域是什么样子?研究的挑战在何处,不同的处理方式的特点是什么,又如何对成果进行客观评价?
在开放域闲聊对话中,一个问题对应多个可能答案的情况很常见。王宝勋解释道,一对多现象会对模型产生一些挑战是因为它会引入语义上的不确定性。相比之下,机器翻译虽然也存在一对多现象,但是多种翻译在语义上基本上是平行的。在问答或者聊天任务上,没有办法保证每一个答案在语义上的一致性,这种语义上的漂移会对机器学习模型产生很大挑战。
统一的评价标准的缺失也很让研究者头疼。机器翻译中的 BLEU、迷惑度(perplexity),乃至文本摘要任务的评价标准都会被聊天系统借用。「引入一个行业通行的标准很有必要」,王宝勋肯定地说。但和问答、翻译、文摘等几个领域一样,如何将主观性的东西进行量化,始终是一个难题。如果强行引入太多标签,则势必形成不了上规模的应用。什么样的评价标准才是一个好的标准?GAN-AEL 在「相关性」之外引入了「多样性」。除此之外,「延展性」也很重要。延展性评价一个回答能否引发更多轮数的对话,评价用户看到回答之后是否有兴趣继续聊下去。当然了,延展性非常难直接衡量。一个「曲线救国」的办法是在系统上线之后,看用户的 cps(conversation per session)。王宝勋还补充道,比起评价标准缺失,或许更亟待解决的问题是高质量评测集和训练集的缺乏,常用的几个数据集在质量方面参差不齐。
最后,能让用户「多聊几句」的回答才是好回答,而系统从「给用户一个回复」到「多聊几句」,存在一个指数级的难度提高。多轮对话要更多考虑情境、考虑和前文的关联。它和前文哪句话关联?多大范围关联?有潜在关联怎么办?都是需要考虑的问题。然而,多轮对话始终是对话系统绕不开的一个题目。一方面,任务型对话通常都有多轮的需求,因为在一轮以内收集到完成任务所需的所有信息是非常困难的。例如,用户说「我要订饭店」,别的什么都没说,那机器人总要追问,「你要定在哪里?几点?多少人?」。主流的对话系统都会通过对话状态跟踪(dialog state tracking)模块来记录状态的转移,以配合策略(policy)模块。而另一方面,王宝勋也看好聊天在多轮对话上的发展。「一段时间以后,我们也会看到一个相对让人满意的多轮聊天的机制。这个事情不会太远,我对多轮对话相对比较乐观」,他如是说。
对话生成应用:分类法与用户教育
三角兽的对话系统,有「开放域聊天、任务驱动的多轮对话、智能问答」三个方向,这是否也是对话系统的常见类别呢?除此之外还有什么分类法呢?王宝勋解释道,三角兽的分法是按功能做的分类。以前,对话系统(dialog system)专门指代需要完成任务的问答。现在大家对这个问题重新认识了,认为对话系统除了完成指定任务之外,也可以有聊天功能。用户在没有特定需求的时候,也可以来和机器人聊聊天。除此之外,还有按领域做细分的方法。任务型聊天经常这样分类,因为订餐的系统和买飞机票的系统在对话逻辑上就有一些不同。聊天也是这样,泛泛的开放域聊天是一种情况,就二次元动漫进行深入的对话又是另一种情况。
然而比起分类法,公众其实更关注对话系统的表现形式:机器人。这种关注源自诸多误解,也带来了很多担忧。例如,日前 Facebook 由于纯文本多轮对话引擎 Bot Engine 的用户体验不好而选择退出,结果被媒体解读为「人工智能失控,人类只能选择拔电源」。业界人士应该如何向公众解释聊天机器人的能力与局限?王宝勋认同,公众对人工智能这个整体的了解存在一定偏差,而大众对于聊天机器人这种新形式需要一个接受的过程、使用习惯的改变的过程。王宝勋将聊天机器人的功能定位为「可以在一些特定领域里帮助人类完成一些比较常见的工作」。比如说,在开车的过程中不借助手去触控,而是通过与智能工具沟通完成启动导航的操作;在做饭的时候,手在忙,那么就可以通过智能音箱完成操作。同时,它可以完成一些情感上的沟通,在人们工作闲暇的时候,调侃它,甚至现在常说的「调戏」它,是一个很有趣打发时间的方式。王博士也希望大家可以少一些对机器人的担心:「第一,它不会窃取你什么,第二,语言的形成不是一个简单的数学模型可以概括的,所以大可不必担心它变得过于强大。」
深度学习:热度依旧、思路纷纭、可解释性「曲径通幽」
去年年底,王博士受邀担任了 ACL 2017 的审稿人。「深度学习依然那么的火热,然而深度学习本身的简单应用已经不足以征服审稿人了。」他总结了入选论文一定要满足的三点要求:第一,这个方向、问题本身是成立的、有用的,不能生造一个系统里面用不到的问题。第二,作者本人对这个问题有足够的理解,而不是简单套用个模型。第三,模型本身,在结构或者思路上有足够的创新点。总而言之,在深度学习方向上写论文已经不像大家想象得那么简单了。
而对不同思路的探讨也呈白热化。同样是对话生成,增强学习和生成对抗网络就有不同的侧重点。增强学习的方法需要人为定义奖励(reward),这个过程需要很多先验的知识。而生成对抗网络的判别器是数据驱动的,什么样的回复比较好是通过数据定义的,过程中并没有加入太多人的先验知识,因此对数据的拟合可能更合理一些。有趣的是,也有通过强化学习来实现生成对抗网络判别器和生成器交互的方法。
「更多引入先验知识」和「更多依赖数据驱动」似乎是两种大相径庭的思路。例如,在神经机器翻译领域,一些学者(比如谷歌的一些论文)倾向于将尽可能多的数据交给神经网络,让模型自己习得语法知识;同时有的学者倾向于尽可能多地人工引入语法和句法信息。然而王宝勋认为,这两种思路都还在连接主义的框架内,只不过代表了两种不同的思维习惯,或者说处理问题的习惯。比如谷歌从很多年以前就一直喜欢强数据驱动的办法。而包括李航老师在内的诸多国内学者最近也在呼吁大家更多去考虑将符号学、符号主义引入大规模机器学习、深度学习或其他学习模式。王宝勋认为,如果有合理的引入或沟通方法,符号主义,包括规则、语法等等知识,其实是很有必要去和现在的机器学习做一些融合。「因为凡事不应过于绝对,再强调大数据的效果也应该看到它的局限性。之前几十年的经验如果能和深度学习模型合理融合在一起,甚至可以说是下一个阶段的再实现一个跨越的基础。」
虽然深度学习的火热程度逐年递增,其可解释性差的问题、参数调整一直靠实践倒推的现象一直存在,并且仍然缺乏理论解释。王宝勋表示,相比于应用型的论文,理论方向的论文虽然很少,但也有优秀的工作出现。例如在调参方面,今年发表的 WGAN 的作者花了相当长的篇幅进行了数学证明,然后提出了 4 条调参的建议,经过验证,都很有效。
最后,王宝勋也提出了一些关于给予神经网络以可解释性的思考。「以自然语言处理任务为例,LSTM 就是通过对原始 RNN 添加各种门(gate)与记忆单元(memory cell)而获得了对长距离依赖的较好描述能力。那么这里的原始 RNN 可以当成一个黑箱,而这些『门』是人们可以通过物理方法进行直观理解的模块。『对序列建模的基础上,添加记忆单元,配合以几个门,就可以捕捉长距离依赖信息』,这本身是不是就对神经网络做了一定的解释呢?」
「如果我们在神经网络的基础模块之上添加一些额外的可解释的模块,模型的效果变好了,我们也从这个过程中获得了一些可解释性。虽然我们没有拆开黑箱,但是通过把神经网络和可解释模块二者进行勾连从而获得更好的效果这个事实,我们是不是对黑箱的『形状』做出了一个描述呢?」