快速搭建网站域名绑定设置,做公司网站推广,狮山网站建设公司,wordpress怎么调用分类的文章列表递归神经网络#xff08;RNN#xff09;
RNN是专门用于处理顺序信息的神经网络的方法。RNN将计算应用于以先前计算结果为条件的输入序列。这些序列通常由固定大小的标记向量表示#xff0c;他们被顺序送至循环单元。下图说明了一个简单的RNN框架。 RNN的主要优势在于能够记…递归神经网络RNN
RNN是专门用于处理顺序信息的神经网络的方法。RNN将计算应用于以先前计算结果为条件的输入序列。这些序列通常由固定大小的标记向量表示他们被顺序送至循环单元。下图说明了一个简单的RNN框架。 RNN的主要优势在于能够记忆先前的计算结果并在当前计算中使用该信息。这使得RNN模型适合于在任意长度的输入中都具有上下文依赖性这样可以为输入创建适当的组合。RNN已被用于研究各种NLP任务例如机器翻译、图像字幕和语言建模等。
与CNN模型相比RNN模型在特定的自然语言任务中可以同样有效甚至更好。因为它们模拟了数据不同的方面这才会使它们有效具体的效果取决于任务所需的语义。
RNN期望的输入通常是单热one-hot编码或词嵌入但在某些情况下它们与由CNN模型构造的抽象表征耦合。简单的RNN容易遭受消失的梯度问题这使得网络难以学习和调整较早层中的参数。其他变体正在出现已解决这个问题例如长短期记忆LSTM网络残留网络ResNets和门控循环网络GRU后来被引入以克服这一限制。 RNN变体
LSTM由三个门输入遗忘和输出门组成并通过三者的组合计算隐藏状态。GRU类似于LSTM但只包含两个门效率更高因为它们不那么复杂。一项研究表明很难说RNN哪些门控更有效通常只是根据可用的计算能力来挑选它们。研究及实验表明各种基于LSTM的模型用于序列到序列映射通过编码器-解码器框架其适用于机器翻译文本摘要人工对话建模问题回答基于图像的语言生成以及其他任务。
总的来说RNN可以用于许多NLP系统例如
字级分类NER语言建模句子级别分类例如情感极性语义匹配例如将消息与对话系统中的候选响应相匹配自然语言生成例如机器翻译视觉QA和图像字幕注意力机制
本质上注意力机制是一种技术其受益于允许上述基于RNN框架的解码器使用最后隐藏状态以及基于输入隐藏状态序列计算的信息即上下文矢量的需要。这对于需要在输入和输出文本之间进行某些对齐的任务特别有用。
注意力机制已成功用于机器翻译文本摘要图像字幕对话生成和基于内容aspect-based的情感分析。并且已经有人提出了各种不同形式和类型的注意力机制它们仍然是NLP研究人员研究各种应用的重要领域。 递归神经网络Recursive Neural Network
与RNN类似递归神经网络是对连续数据建模非常适用。这是因为语言可以被视为递归结构其中单词和短语构成层次结构中其他更高级别的短语。在这种结构中非终端节点由其所有子节点的表示来表示。下图说明了下面的一个简单的递归神经网络。 在基本递归神经网络形式中组合函数即网络以自下而上的方法组合成分来计算更高级别短语的表示参见上图。在变体MV-RNN中单词由矩阵和向量表示这意味着由网络学习的参数表示每个成分的矩阵。另一种变型即递归神经张量网络RNTN使得输入矢量之间的更多交互能够避免大的参数产生如MV-RNN的情况。递归神经网络更能显示出灵活性并且它们可以与LSTM单元耦合以处理诸如梯度消失之类的问题。
递归神经网络用于各种应用例如
解析利用短语级表示来进行情绪分析语义关系分类例如主题消息句子相关性强化学习
强化学习是通过机器学习的方法训练代理执行离散动作然后奖励。正在通过强化学习来研究几种自然语言生成NLG任务例如文本摘要。
强化学习在NLP上的应用受到一些问题的阻力。当使用基于RNN的发生器时标准答案会被模型生成的答案所取代这会迅速提升错误率。此外对于这样的模型词级训练的目标不同于测试度量的目标例如用于机器翻译和对话系统的n-gram重叠测量BLEU。由于这种差异当前的NLG类型系统往往会产生不连贯重复和枯燥的信息。
为了解决上述问题业内采用称为REINFORCE的强化算法来解决NLP任务例如图像字幕和机器翻译。这个强化学习框架由一个代理基于RNN的生成模型组成它与外部环境相互作用在每个时间步骤看到的输入词和上下文向量。代理根据策略参数选择一个动作该策略会在每个时间步骤预测序列的下一个单词。然后代理会更新其内部状态RNN的隐藏单元。这一直持续到达最终计算奖励序列的结尾。奖励功能因任务而异例如在句子生成任务中奖励可以是信息流。
尽管强化学习方法显示出了希望但它们需要适当地处理动作和状态空间这可能限制模型的表达能力和学习能力。记住独立的基于RNN的模型力求表现力和表达语言的自然能力。
对抗训练也被用来训练语言生成器其目的是欺骗训练有素的鉴别器以区分生成的序列和真实的序列。如果一个对话系统通过policy gradient策略网络可以在强化学习范例下构建任务其中鉴别器就像人类图灵测试员一样鉴别器基本上是受过训练以区分人类和机器生成的对话。 无监督学习
无监督的句子表征学习涉及以无监督的方式将句子映射到固定大小的向量。分布式表征从语言中捕获语义和句法属性并使用辅助任务进行训练。
研究员与用于学习词嵌入的算法类似提出了跳过思维模型其中任务是基于中心句子预测下一个相邻句子。使用seq2seq框架训练该模型其中解码器生成目标序列并且编码器被视为通用特征提取器-甚至在该过程中学习了字嵌入。该模型基本上学习输入句子的分布式表征类似于在先前语言建模技术中如何为每个单词学习词嵌入。 深度生成模型
诸如变分自动控制器VAE和生成对抗网络GAN之类的深度生成模型也可以应用于NLP中通过从潜在代码空间生成逼真句子的过程来发现自然语言中的丰富结构。
众所周知由于无约束的潜在空间标准的自动编码器无法生成逼真的句子。VAE在隐藏的潜在空间上施加先验分布使模型能够生成适当的样本。VAE由编码器和发生器网络组成编码器和发生器网络将输入编码到潜在空间中然后从潜在空间生成样本。训练目标是在生成模型下最大化观测数据的对数似然的变分下界。下图说明了用于句子生成的基于RNN的VAE。 生成模型对于许多NLP任务是有用的并且它们本质上是灵活的。例如与标准自动编码器相比基于RNN的VAE生成模型被提出用于产生更多样化且格式良好的句子。其他模型允许将结构化变量例如时态和情感结合到潜在代码中以生成合理的句子。
由两个竞争网络组成的GAN生成器和鉴别器也被用于生成逼真的文本。例如将LSTM用作生成器CNN用作区分真实数据和生成样本的鉴别器。在这种情况下CNN表示二进制句子分类器。该模型能够在对抗训练后生成逼真的文本。
除了鉴别器的梯度不能通过离散变量适当地反向传播的问题之外深层生成模型同时也是难以评估的。近年来已经提出了许多解决方案但这些解决方案尚未标准化。 内存增强网络Memory-Augmented Network
在输出结果生成阶段由注意力机制访问的隐藏向量表示模型的“内部存储器”。神经网络还可以与某种形式的内存耦合以解决视觉QA语言建模POS标记和情感分析等任务。例如为了解决QA任务将支持事实或常识知识作为存储器的形式提供给模型。动态存储器网络是对先前基于存储器的模型的改进其采用神经网络模型用于输入表征、注意力机制和应答机制。 结论
到目前为止我们现在已经知道了基于神经网络的模型如CNN和RNN的容量和有效性。我们也意识到将强化学习、无监督方法和深度生成模型正在被应用于复杂的NLP任务如可视化QA和机器翻译。注意力机制和记忆增强网络在扩展基于神经的NLP模型的能力方面是强大的。结合这些强大的技术我们相信会找到令人信服的方法来处理语言的复杂性。
原文链接 本文为云栖社区原创内容未经允许不得转载。