第10课:RNN 在序列问题中的应用——机器翻译

Posted wangongxi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第10课:RNN 在序列问题中的应用——机器翻译相关的知识,希望对你有一定的参考价值。

上一节课我们介绍了 Many-to-Many 在序列标注问题中的应用,在 RNN 部分的最后一节课中,我们来介绍另一种 Many-to-Many 的架构。本节课核心内容包括:

  • 基于 Many-to-Many 架构的机器翻译应用

10.1 基于 Many-to-Many 架构的机器翻译应用

Many-to-Many 结构的输出具有一定的滞后性,常用于机器翻译、QA 问答模型之中。比较典型的就是 Sequence-to-Sequence。下面我们先看下这种架构的示意图:

对比在第三部分介绍的 Many-to-Many 架构会发现,当前的这种架构的输出并非是从第一个 RNN Cell 开始,而是当整个序列输入完毕之后才开始预测第一个输出,并不断循环输出至最后。这种架构比较适合机器翻译的应用场景,下面我们就结合 seq2seq 来介绍如何基于 Deeplearning4j 来搭建这样的 RNN 架构。

首先我们看下建模的逻辑:

public static ComputationGraphConfiguration getSMTModel()
        ComputationGraphConfiguration configuration = new NeuralNetConfiguration.Builder()
            .regularization(true)
            .seed(123456L)
            .l2(0.0001)
            .weightInit(WeightInit.XAVIER)
            .learningRateScoreBasedDecayR

以上是关于第10课:RNN 在序列问题中的应用——机器翻译的主要内容,如果未能解决你的问题,请参考以下文章

第07课:RNN 在序列问题中的应用——文本分类

吴恩达《深度学习》第五门课循环序列模型(RNN)

吴恩达《深度学习》第五门课循环序列模型(RNN)

第08课:RNN 在序列问题中的应用——文本生成

从HMM到RNN,机器学习中的时间序列模型

小白学习PyTorch教程九基于Pytorch训练第一个RNN模型