李宏毅机器学习23—Transformer

本文深入探讨Transformer模型,重点讲解自我注意力(self-attention)层的工作原理,包括其在序列到序列任务中的应用、多头注意力机制以及位置编码。Transformer通过self-attention层实现了并行计算,解决了RNN的局限性,并在机器翻译等任务中展现出高效性能。
摘要由CSDN通过智能技术生成

摘要:

这节课讲的是Transformer,Transformer是具有自我注意力机制的seq2seq模型。

通常情况下,seq2seq中使用的是rnn。在transformer中,中间层使用self-attention layer。

self-attention layer通过将输入转换成三个vector Q、K、V,经过一系列的矩阵计算,最终得到输出,这样做的好处是可以进行并行计算,矩阵计算可以通过GPU来加速。

Q、K、V三个vector也可分成多个组,每个组表示不同的含义,这就是multi-head self-attention。

由于self-attention忽略了输入测序的影响,所以需要加上positional encoding。也就是表示输入测序的参数。

最后讲了self-attention在机器翻译中的结构体系,以及attention的可视化效果展示。

目录

一.生成句子

1.RNN:

2.把CNN来代替RNN

二.self-attention layer

1.什么是self-attention layer

2.做法:

3.分析

4.multi-head self-attention  (以2个为例)

5.positional encoding

三.self-attention在seq2seq中的使用

四.Attention visualization

1.attention的可视化

2.multi-head attention

总结:


一.生成句子

1.RNN:

还是熟悉的rnn,a和b都是vector sequence

例子中rnn是双向的,在输出每一个b时,都已经看过所有a了

RNN的局限性:不容易被平行化。比如要想输出b4 得经过a1-a2-a3-a4,不能并行。

2.CNN来代替RNN

每个三角形是一个filter,用一个filter连接两个参数,两个参数做内积得到一个数。

用多个filter的结果,排列成每一个vectorb1b4),这样也实现了seq2seq

这样做的问题是,cnn考虑的vector很少(例子中是2个到3个)

这样可以叠多层的cnn,这样就可以考虑很多的cnn

在这里,每一个filter都可以同时计算,也就是并行

.self-attention layer

1.什么是self-attention layer

也是句子生成句子,把中间的rnn换成self-attention layer

输出bi看过每一个输入a,而且每一个b是可以同时计算的。

2.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值