Transformer 中-英运行和简单理解(二)

文章介绍了Transformer模型在机器翻译中的应用,重点讲解了seq2seq模型的基础,RNN的位置信息处理,以及Transformer如何通过self-attention和多头注意力机制来捕获词与词之间的关系。每个encoder独立处理输入单词,经过embedding和多头self-attention后输出对应翻译。读者可以通过提供的项目地址进行实践。
摘要由CSDN通过智能技术生成

目录

回顾

seq2seq:

RNN

架构

运行

References


回顾

seq2seq:

 要输入额外的tokens

<start>和<end>

然后循环做点积

 

然后依次对每个tokens做attention

 

 

 最后完成翻译

 

RNN

RNN是依次输入每个tokens自带位置信息

transforemer是通过poisition encoding来捕获位置信息 

self-attention

可以看到下面句子中的 it 的意思并不相同 

要用self-attention来获得

 蓝色代表softmax的结果越深代表着权重更大

第一个animal的权重更大

第二个street的权重更大

架构

每个encoder都是相对独立并不共享权重

每个输入单词被映射到512维的向量上

 句子中的每个单词都独立地进入self-attention

 

 

 

 多头注意力就是用多组QKV来分组捕捉特征

比如说多头的超参是8

就是把512维度的embeding分成8*64个来做attention

这样可以捕捉到每个单词对应整句话中跟其他八个单词的关系

 

 

 

 

 

整个过程就是:

1.输入的句子拆成单词,比如输入 i love u分成 i love u三个单词

2.三个单词依次embeding x1 x2 x3

3.然后对这三个embeding 做多头self-attention

4.然后就可以输出每个单词对应其他语种里改率最高的词

5. 上述输出就应该是z1中 我的概率最高

6. 然后输入我到transformer中

7.第二个单词输出 爱的概率最高,然后将爱作为输入输入到transformer中

8.第三个输出你的概率最高

运行

地址:

Transformer中-英: NLP项目,主要包括atten-seq2seq和transformer模型,实现机器翻译以及对话系统。目前transformer只做了机器翻译。

git clone后

修改

和device即可

 具体见仓库的readme

运行后结果是

References

transform代码pytorch实现机器翻译_哔哩哔哩_bilibili

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值