Sequence-to-Sequence model

3,459 阅读

在2017年发表在AAAI上的论文Topic Aware Neural Response Generation中看到的Sequence-to-Sequence model(序列到序列模型 / Seq2Seq模型)的定义。

Seq2Seq模型中,给定一个源序列$X=(x_1,x_2,\cdots,x_T)$和一个目标序列$Y=(y_1,y_2,\cdots,y_{T'})$,在$X$已知的情况下,模型最大化$Y$的生成概率:$$p(y_1,y_2,\cdots,y_{T'}|x_1,x_2,\cdots,x_T)$$具体而言,Seq2Seq模型属于编码器-解码器框架的范畴,编码器逐个读取$X$中的元素并通过一个$RNN$模型将其表示成情境向量$c$,然后解码器将$c$作为输入并计算$Y$的生成概率。Seq2Seq模型的目标函数可以变形为以下形式:$$p(y_1,y_2,\dots,y_{T'}|x_1,x_2,\dots,x_T)=p(y_1|c)\prod_{t=2}^{T'}p(y_t|c,y_1,\cdots,y_{t-1})$$作为编码器的RNN模型通过以下方式计算情境向量$c$:$h_t=f(x_t,h_{t-1})$;$c=h_T$,其中$h_t$表示第$t$个时间步编码器的隐层状态,$f$是一个非线性变换,一般是$LSTM$单元或者$GRU$单元。 解码器是一个标准的$RNN$模型,它基于情境向量$c$在每个时间步$t$通过以下公式计算候选词的概率分布:$s_t=f(y_{t-1},s_{t-1},c)$;$p_t=softmax(s_t,y_{t-1})$,其中$s_t$为解码器$RNN$模型在时间步$t$的隐状态,$y_{t-1}$是解码器在时间步$t-1$生成的序列元素。

DataLearner 官方微信

欢迎关注 DataLearner 官方微信,获得最新 AI 技术推送

DataLearner 官方微信二维码