美文网首页
nlp-attention机制

nlp-attention机制

作者: YPY_93a9 | 来源:发表于2018-11-05 15:25 被阅读47次

    《NEURAL MACHINE TRANSLATION BY JOINTLY LEARNING TO ALIGN AND TRANSLATE》阅读笔记

    神经网络机器翻译的目标是最大化根据输入x得到目标y的条件概率。arg\max_{y}p(y|x) 。并且机器翻译分为encoder和decoder两个部分。

    模型

    1.1 一般的模型

    Encoder: 读入输入的句子,\textbf{x} =(x_{1},...,x_{T_{x}}  ),输出为向量c。一般方式是通过RNN: 

                                                    h_{t} = f(x_t,h_{t-1})

                                                 c = q(\{h_1,...,h_{T_x}\})

    h_t为时间t时的hidden state。f和q都是非线性方程,例如:f可为lstm,q({h_1,...,h_T})=h_T

    Decoder:

                               p(\textbf{y})=\prod_{t=1}^Tp(y_t|{y_1,...,y_{t-1},c}),

    其中\textbf{y}=(y_1,...,y_{T_y})。使用RNN来模拟这个条件概率,可以写为:

                              p(y_t|{y_1,...,y_{t-1},c}) = g(y_{t-1},s_t,c),

    g是非线性的、多层的方程,  s_t是Decode时候的RNN的hidden state。

    1.2 带有attention的模型

    在这个新模型中,Encoder部分使用双向RNN,Decoder部分使用了带有attention的RNN.

    定义了一个新的条件概率公式:

                                 p(y_i|{y_1,...,y_{i-1},c_i})=g(y_{i-1},s_{i},c_i)s_i =f(s_{i-1},y_{i-1},c_i)

    与原来的条件概率公式不同的是,对于不同的输出yi,此处的条件概率依赖于不同的向量ci。 ci依赖于(h_1,...,h_{T_x}),而每个hi包含所有输入序列的信息,并强烈focus on第i个单词的周围

                                            c_i = \sum_{j=1}^{T_{x}}\alpha_{ij}h_j.

                                       \alpha_{ij} = {{exp(e_{ij})}\over{\sum_{k=1}^{T_x}exp(e_{ik})}}

    其中

                                           e_{ij} = a(s_{i-1},h_j)

    这是一个对齐模型,用来评估j周围的输入和i的输出匹配的程度。这个对齐模型可以跟整个RNN模型一起训练。\alpha_{ij}用来评估yi可以作为xj翻译的概率。

    Encoder:

    使用BiRNN


    *补充:

    在实际训练模型中,作者用了gated hidden unit,类似于lstm,

    相关文章

      网友评论

          本文标题:nlp-attention机制

          本文链接:https://www.haomeiwen.com/subject/ljdsxqtx.html