【Transformer】ViT and TNT(2)

2023-12-18

在这里插入图片描述

文章目录

太…完整了!同济大佬唐宇迪博士终于把【Transformer】入门到精通全套课程分享出来了,最新前沿方向

学习笔记


VIT

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

eg,图片分块,10x10x3 的 patch 通过 conv 拉成向量,就无缝对接了

在这里插入图片描述
位置编码可以多种方式,一维序号,二维坐标,无

在这里插入图片描述
位置编码 0 这里的 token,为分类任务设计的,encoder 堆叠后(self-attention),0 位置上的 token 已有了全局信息,最后把 0 位置上的特征向量作为分类特征就行

分类仅用到了 encoder,检测任务中会用到 decoder

CNN 的缺点

在这里插入图片描述

在这里插入图片描述

层多,每一层需要设计

在这里插入图片描述
需要的数据比较多,比较难训练

在这里插入图片描述

eg, patch P 为 14*14,C 为 256, D 为 512
Epos 是位置编码
MSA 是 multi-head self-attention
LN 是 layer normalization

在这里插入图片描述
在这里插入图片描述
多层共用一个位置编码即可,不用每层都用

仅能反应分类任务的规律,检测可能 2D 位置编码还是更好

在这里插入图片描述

下面跟随数据的维度和代码(我也没有,哈哈)看看整体流程

(1)embedding

输入 [16,3,224,224]

cls token = [16,1,768]

  • 768 超参, hidden size

patch = 16,划分的方式如下。输入通道 3,输出通道 768,kernel size =16, stride = 16 的 conv 把图片分成 patch, [16,768,14,14]

  • 16x14 = 224

拉长一下成向量, [16,768,196] ,transpose 一下成 [16,196,768]

  • batch 16,每个 batch 196 个 token,每个 token 的特征维度是 768

加上 position embedding,维度为 [16,197,768]

  • 在这里插入图片描述
    每个 batch 的位置编码一样,所以第一个维度是 1
    在这里插入图片描述
    在这里插入图片描述

(2)encoder

LN [16,197,768]

query (fc) [16,197,768]
key (fc) [16,197,768]
value(fc) [16,197,768]

在这里插入图片描述

q,k,v transpose for score [16,197,768]->[16,197,12,64]->[16,12,197,64] ,12 表示共有 12 个 multi-head attention,197 个 token,每个 token 64 维的特征

在这里插入图片描述
q,k 内积 attention score [16,12,197,197] ,197 个 token 间相互的关系

归一化,消除数量的影响

在这里插入图片描述

再接一个 softmax 计算出来权重

权重乘以 v,重构了特征得到 [16,12,197,64] ,还原回去得到 [16,197,768]

再来个 fc 层,和输入来个 res 结构

在这里插入图片描述

[16,197,768]

在这里插入图片描述

继续

在这里插入图片描述
再来个 layer norm + MLP + res

在这里插入图片描述

重复执行 L 次,输出选第 0 个 token 作为预测

接个 fc 得到 logits,eg: [16,197,768]->[16,768]->[16,10] 十分类

在这里插入图片描述

TNT

在这里插入图片描述

conv 是基于每个空间位置进行的,相比于来说 patch 过于大了,可以把patch 进一步细分,

在这里插入图片描述
在这里插入图片描述
类似于 focus,eg 16 ∗ 16 ∗ 3 16*16*3 16 16 3 变成 4 ∗ 4 ∗ 28 4*4*28 4 4 28

在这里插入图片描述

内部 transformer 得到的结果和外部 transformer 得到的结果相加

在这里插入图片描述
在这里插入图片描述
T-SNE 蓝色特征更发散一些(更能分得开)

方差越大,特征越鲜明,越容易区分

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Transformer】ViT and TNT(2) 的相关文章

随机推荐