深度学习:论文阅读:(ICLR-2021)Vision Transformer

论文详情

名称:An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale
研究团队:Google Research, Brain Team
原文:原文
参考笔记:笔记1
自注意力及多头注意力讲解笔记
李沐vitb站视频笔记
transformer的self att和multi-head att:视频讲解霹雳吧啦Wz
vit理解笔记1
vit理解笔记2

transormer与cnn

  • transformer:
    使用注意力、做序列转录的模型,把之前在 encoder - decoder 的结构换成了 multi-headed self-attention.

  • 区别:
    CNN(局部像素–>全部像素;多通道 --> multi-head)
    Transformer 仅依赖 self-attention 计算输入输出的表征

  • cnn缺点:
    1 CNN 对较长的序列难以建模。因为卷积计算的时候看一个比较小的窗口,i.e., 3 * 3 窗口,如果 2 个像素隔得比较远,需要用很多 3 * 3 的卷积层、一层一层的叠加上去,才能把隔得很远的 2个像素联系起来。
    Transformer 的 attention mechanism 每一次看到所有的像素,一层能够看到整个序列。

2 cnn多个输出通道,每个通道可以识别不同的模式。
Transformer 的 multi-head self-attention 模拟 CNNs 多通道输出的效果。

预备知识- Self-Attention和Multi-Head Attention

B站讲解视频笔记
李沐

Self-Attention

query:查询 ;key:关键字;键值:value

1 注意力函数: 一个将一个 query 和一些 key - value 对 映射成一个输出的函数,其中所有的 query、key、value 和 output 都是一些向量。

2 输出:output 是 value 的一个加权和 --> 输出的维度 == value 的维度。

3 权重:output 中 value 的权重 = 查询 query 和对应的 key 的相似度 or compatibility function,
通常用内积实现,用来衡量每个key对每个query的影响大小

4 注意力的具体计算是:对每一个 query 和 key 做内积,然后把它作为相似度

attention = softmax( 两个向量的内积值 / sqrt(dk)) * V ,dk 是向量的长度

使用 softmax :一个 query 给 n 个 key - value pair ,这个 query 会跟每个 key - value pair 做内积,会产生 n 个相似度值。传入 softmax 得到 n 个非负、求和为 1 的权重值。把 softmax 得到的权重值 与 value 矩阵 V 相乘 得到 attention 输出。

因为 softmax 最后的结果是希望 softmax 的预测值,置信的地方尽量靠近,不置信的地方尽量靠近零,以保证收敛差不多了。这时候梯度就会变得比较小,那就会跑不动。

5 输入:encoder 的注意力层,有三个输入,它分别表示的是key、value 和 query。
一根线过来,它复制成了三下:同样一个东西,既 key 也作为 value 也作为 query,所以叫做自注意力机制。key、value 和 query 其实就是一个东西,就是自己本身。

6 总结:输入了 n 个 query,每个 query 会得到一个输出,那么会有 n 个输出。
输出 是 value 加权和(权重是 query 和 key 的相似度),输出的维度 == d – > 输入维度 == 输出维度

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值