Seq2Seq + attention 模型原理、训练,以及编码过程

目录

 

1. 简介

2. Seq2Seq

2.1 Encoder

2.2 Decoder

3. Seq2Seq with Attention

3.1 Decoder

4. Train

5. Decoding

5.1 理论

5.2 实例

6 总结


1. 简介

Seq2Seq的基本结构是encoder-decoder,这个模型的目标是生成一个完整的句子。这个模型曾经使得谷歌翻译有较大幅度的提升,下面就以机器翻译为例子,来描述详述这个模型。

注:学习此模型需要有LSTM深度学习模型相关基础。

2. Seq2Seq

Seq2Seq框架依赖于encoder-decoderencoder对输入序列进行编码,而decoder生成目标序列。

2.1 Encoder

encoder中输入hao are you ,每个单词,都被映射成一个d维的词向量w\subset \mathbb{R}^{d},在这个例子中,输入将被转化成[w_{0},w_{1},w_{2}]\subset \mathbb{R}^{d\times 3},经过LSTM后,我们可以得到每一个词对应的隐状态[e_{0},e_{1},e_{2}],,和代表这个句子的向量e,在这里,e_{2} = e

encoder
encoder

2.2 Decoder

现在我们已经得到了代表句子的向量e,这里我们将使用这个向量,输入到另一个LSTM单元,以特殊字符w_{sos}作为起时字符,得到目标序列。

当时间步等0时:

                                                                h_{0}=LSTM(e,w_{sos})\cdots \cdots \cdots \cdots \cdots \cdots \cdots \cdots (1)                      

                                                               s_{0} = g(h_{0})\cdots \cdots \cdots \cdots \cdots \cdots \cdots \cdots \cdots \cdots \cdots (2)

                                                               p_0 = softmax(s_{0}) \cdots \cdots \cdots \cdots \cdots \cdots \cdots \cdots \cdots (3)

                                                               i_{0} = argmax(p_{0})\cdots \cdots \cdots \cdots \cdots \cdots \cdots \cdots \cdots \cdots (4)

\huge e:Encoder输出的句子向量

\huge w_{sos}:特殊词,代表起时位置,作为当前时间步骤的输入

\huge h_{0}:当前时间步骤的隐状态。\huge h_{0}\subset \mathbb{R}^{h}\huge h隐层的维度

\huge s_{0}:词表中,每个词的得分。\huge s_{0}\subset \mathbb{R}^{v}\huge v词表的大小

\huge g:函数(其实就是矩阵,w 和 b),\huge \mathbb{R}^{h} \mapsto \mathbb{R}^{v}

\huge p_{0}\huge s_{0}经过\huge softmax归一化后得到在词表上的概率分布,\huge p_{0}\subset \mathbb{R}^{v}\huge v词表的大小

\huge i_{0}\huge p_{0}中最大概率词的索引。int值。

当时间步等于1时:

                                                               h_{1}=LSTM(h_{0},w_{i_{0}}) \cdots \cdots \cdots \cdots \cdots \cdots \cdots \cdots (5)

          &nb

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值