RNN建模:接收器和生成器

RNN 最简单的应用就是作为一个接收器:读入一个序列,最后产生一个二值或者多分类的结果。RNN是能力很强的学习序列的工具,能够发掘出很复杂的模式。

作为特征提取器的RNN:

词性标注
框架:深度双向RNN
给定一个含有n个词语的句子,使用一个特征提取函数来把句子转化为输入向量x。输入向量将会被送入一个深度双向RNN中,产生一个输出向量y。每个向量y将被送入到一个MLP中,用于从可能的k个标签中预测这个词语的标签。每个向量y关注序列中的位置i,而且还具有关于该位置周围的整个序列的信息(”无限窗口“)。通过训练程序,双向RNN将着重于学习序列中预测词的标签所需要的那些信息,并将其编码在向量y中。
通过字符级的RNN将词语转化为输入:
如何把一个词语w转换为一个输入向量x?一种可行的方式是通过使用一个词嵌入矩阵,这个矩阵可以通过随机初始化或者带有位置窗口上下文的word2Vec技术预训练得到。这种映射将通过词嵌入矩阵E来发挥作用,将词映射为词向量E。虽然这种方法效果很好,但是也存在着词表覆盖范围的问题,因为可能会存在训练或预训练过程中没有见过的词项。词语是由字符组成的,有确定的后缀和前缀,以及其它的拼写提示,比如大写字母、连字符或数字,它们的存在可以提供有关词的歧义类的有效提示。
我们将使用两个字符级的RNN作为特征提取器。对于一个由字符c组成的单词w,我们将一个字符映射到一个对应的嵌入向量C。然后基于这些字符通过一个前向RNN和一个逆向RNN将单词编码。RNN的结果可以替代词向量,或者以一种更好的方式:拼接在词向量的后面。x=[E;RNNf(c);RNNb(c)]值得注意的是,前向运行的RNN关注捕捉后缀信息,逆向运行的RNN关注捕捉前缀信息,并且两种RNN对大写字母、连字符甚至单词长度都很敏感。
最终模型:
在这里插入图片描述
字符级的卷积和池化:
在上述结构中,单词通过在字符级上使用前向RNN和逆向RNN映射为一个特征向量。另一种备选的方式是使用字符级的卷积和池化神经网络来表示词语。Ma和Hovy[2016]展示了对每个字符使用窗口大小K=3的卷积-池化网络实际上对词性标注任务和命名实体识别任务是很有效的。  
词向量被RNN或者CNN等在字符上进行操作的字符级的模型补充(或者被替换)的,目的就是提高模型的覆盖范围,更好的处理没有看到过的词语、词形的变化以及文本的错误。
结构化的模型:
在上述模型中,单词i的标签预测是独立于其它标签预测的计算的。虽然这种方式可能能够有效工作,但是第i个标签可能会依赖模型前面预测出的一些标签。这个依赖关系可以是依赖确定的前k个标签(遵循马尔可夫假设),在这种情况下我们使用标签的嵌入形式E或者依赖于整个序列中第i个标签之前的预测结果t1:i-1,在这种情况下使用一个RNN来编码整个标签序列。
RNN可以用于基于全部历史信息条件下的非马尔可夫(non-markovian)语言模型。这种能力使得RNN适合用作自然语言生成器(generator)(生成自然语言序列)以及在复杂输入条件下的条件生成器(conditioned generator)。

条件生成(编码器-解码器)sequence to sequence

在这里插入图片描述
在这里插入图片描述
结合注意力机制的条件生成:
在上述的编码器-解码器网络中,输入句子被编码为单一的向量,并被用来作为RNN生成器的条件上下文。该结构强制编码器所得到的向量c中包含生成时所需要的全部信息,并且要求生成器能够从该定长向量中提取出所有信息。即使在这么强的条件下,该结果仍然出乎意料的有效。
然而,在很多情况下,通过增加一个注意力的机制(attention mechanism),该结构能够得到充分地改进。这种结合注意力机制的条件生成结构放宽了在简单条件生成结构中全部源句子信息被编码为单一向量的条件,而是使用一组向量来表示源句子,同时解码器采用一种软注意力机制(soft attention mechanism)来决定编码的输入序列将关注哪些部分。编码器、解码器以及注意力机制是联合训练的,从而使得它们相互之间能够很好地进行配合。
更具体地,结合注意力机制的编码器-解码器结构能够使用一个biRNN对长度为n的输入序列x进行编码,产生n个向量c。接下来,生成器(解码器)将这些向量当作一段只读(read-only)记忆,用来表示输入的条件:在生成过程的每个步骤,它将会从c中选择哪些向量进行关注,从而得到一个含焦点(focused)的上下文向量c’
函数attend是一个可训练的、参数化的函数。
本文遵循Bahdanau等人[2014]中所描述的注意力机制,这也是首次在序列到序列生成背景下提出的注意力机制的工作。
这里所实现的注意力机制是软的,这意味着在每个步骤中,解码器看到的是向量c的一个加权平均,其中的权重由注意力机制进行选择。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值