深度学习(BOT方向) 番外1 Seq2Seq的变种VHRED MrRNN
来源:互联网 发布:云计算数据中心架构 编辑:程序博客网 时间:2024/06/06 04:06
系列目录:
要不,和机器聊聊?– 小谈Bot系统
Seq2Seq Chatbot 聊天机器人:基于Torch的一个Demo搭建 手札
深度学习(BOT方向) 学习笔记(1) Sequence2Sequence 学习
深度学习(BOT方向) 学习笔记(2) RNN Encoder-Decoder 及 LSTM 学习
深度学习(BOT方向) 番外1 Seq2Seq的变种VHRED MrRNN
本文仅仅是番外,可以看做Paper的个人阅读笔记
前言
之前我写了一些关于Seq2Seq模型的基本内容,Seq2Seq模型可以说在诸多领域都取得了喜人的成绩,比如说在聊天对话模型上,使用Seq2Seq的模型,可以让我们直接进行End2End的训练,也就是说我们只需要给定足够的语料,Seq2Seq模型就可以从这些语料当中自己学习。当然Seq2Seq模型,依然存在诸多的不足,比如说我们一直说到的长句记忆问题,还有容易生成无意义的回答等问题,针对这两个问题,已经有不少学者在尝试解决了,今天就分享一下关于这方面进展的内容。
Seq2Seq 现况
近来,关于基于Sequence2Sequence的对话模型研究成为了一个热点。这一类型的模型通常使用一个神经网络去做对话的表示和生成,他们一般不需要特定的领域知识或者人工过多的规则干预,就可以直接从大量的语料当中学习获得符合自然语言的对话表示和生成的方式。
对于Seq2Seq对话模型,我们还可以将其细分为两种类型,第一个是生成式的模型,这种模型通常优化交叉熵,并根据上下文,一个一个字的生成回答内容,而第二种则是判别式的模型,可以理解为要求从一堆可能的回答当中挑选一个最佳的答案返回。当然,除了这两个以外,也有一些更加复杂的模型,不过这里就不多说了。
针对生成式的Seq2Seq模型来说,其最大的问题就是没有办法处理太长的句子,或者说是处理太丰富的上下文信息,并且容易生成一些无意义的回答(如:嗯,好的,是)。为了解决这问题,现在有很多改进型的模型被提出,而今天我们就聊一聊这些模型,算是一个很简单的Survey。
Seq2Seq的改进
今天,我们主要介绍的模型可如下图所示(W代表输入的Token,Z是一个离散或连续的隐变量):
图中,A是一个最经典的LSTM Model,B是VHRED,C是MrRNN,其实BC比起A来可以看到,多了一个隐变量,通过隐变量来解决原来使用LSTM时的各种问题。
HRED
HRED即Hierarchical Recurrent Encoder-Decoder Model,这是一个两层的Seq2Seq模型。在HRED当中,包含了三个RNN,即一个Encoder RNN,一个Context RNN和一个Decoder RNN。对于一个输入,首先通过Encoder RNN计算得到一个real-valued Vector,然后将这个Vector 作为Context RNN的输入,做一些归纳的工作得到summary,最后再把这个summary作为Decoder RNN的输入,最终生成回答。
传统的Seq2Seq(Encoder Decoder),这里的Context RNN每一个Dialogue当中只更新一次,并且每次更新都使用相同的参数。
VHRED
VHRED 即 Latent Variable Hierarchical Recurrent Encoder-Decoder Model,比起HRED来说,VHRED多了一个部件:即每一轮对话都含有一个高维度的随机隐变量。VHRED在Context RNN做Summary的时候,多了一个多元高斯变量,这样可以解决原来模型回答容易出现“无意义”的问题。
MrRNN
MrRNN 即 Multiresolution RNN,这个模型,有两个序列,一个是高层的Tokens(粗略),一个是低层的(具体的),高层的是Coarse Sequences(粗略的Sequence)遵循一个和HMM类似的隐含随机处理过程,在实际的处理过程中也是优先生成粗略的高层Sequence,然后再生成低层的Sequence。
3 实验
在这里使用了Ubuntu Dialogue Corpus,然后通过人工的评测,在4个模型上生成的候选答案上进行选择,并且评价其刘成都和相关性(0-4分)。同时也是用了一个叫做Activity-Entity Metrics(判别回答的活动任务是否和真实的相关 主要衡量其中动作和实体的关系)的方式进行评测,实验结果,当然是最复杂的MrRNN最好啦
4 Summary
读到这里,其实这里提出的所有模型都是一个人写的,然后这个Survey还是这个人写的,我都怀疑是不是故意增加自己的引用了。。。所以我就写到这里,估计我也不准备仔细看,有谁能给仔细介绍下么?就酱紫。。
本文主要基于如下文献,基本做的是个人理解+改写翻译:
Iulian Vlad Serban, Ryan Lowe, Laurent Charlin, et al. Generative Deep Neural Networks for Dialogue: A Short Review[J]. 2016.
https://arxiv.org/pdf/1611.06216v1.pdf
- 深度学习(BOT方向) 番外1 Seq2Seq的变种VHRED MrRNN
- 深度学习(BOT方向) 学习笔记(1) Sequence2Sequence 学习
- 深度学习的seq2seq模型
- 深度学习的seq2seq模型
- 深度学习的seq2seq模型
- 深度学习的seq2seq模型
- 深度学习(BOT方向) 学习笔记(2) RNN Encoder-Decoder 及 LSTM 学习
- 深度学习:Seq2seq模型
- 深度学习的应用方向
- 深度学习(五)——DRN, Bi-directional RNN, Attention, seq2seq, DMN
- 深度学习的研究方向和发展趋势
- Mark 一些有意思的深度学习方向
- 深度学习目前的研究方向
- 深度学习在电力系统的应用方向
- 深度学习前沿方向
- 机器翻译中的深度学习技术:CNN,Seq2Seq,SGAN,Dual Learning
- 深度学习系列讲座:谷歌翻译核心技术 Seq2Seq
- 深度学习-->NLP-->Seq2Seq Learning(Encoder-Decoder,Beam Search,Attention)
- 【phpcms-v9】content_form.calss.php文件分析-内容添加页面动态表单的生成原理
- CentOS 6.7安装Hadoop 2.7.2
- ubuntu挂载Windows共享文件夹
- Eclipse主题与Monaco字体
- 产生 N 个10以内的随机整数
- 深度学习(BOT方向) 番外1 Seq2Seq的变种VHRED MrRNN
- Android学习路线
- Python Tkinter组件Demo
- Python闯关pickle
- 1613-3-傅溥衍 总结《2016年11月27日》【连续第五十八天总结】
- Shell部分10
- 前端文摘:深入解析浏览器的幕后工作原理
- Linux下的C语言编程——共享内存及有名管道的使用
- 大数据 (巨量数据集合(IT行业术语))