当前位置: 代码迷 >> 综合 >> 第10课:RNN 在序列问题中的应用——机器翻译
  详细解决方案

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

热度:67   发布时间:2024-02-21 07:38:08.0

上一节课我们介绍了 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