Sequence-to-Sequence model

版权声明:转载请注明出处,谢谢!!! https://blog.csdn.net/tszupup/article/details/87086740

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

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

猜你喜欢

转载自blog.csdn.net/tszupup/article/details/87086740