1、和其他网络的比较
CNN归纳偏置(inductive bias,目标函数的必要假设)
1、平移不变性:平移旋转缩放等变化,CNN依旧能够识别
2、空间局部性:局部像素联系密切,因此每个神经元无需有全局感知,在更高层将局部信息综合起来
自注意力机制适合处理长文本,并行度好,在GPU上,CNN和Self-attention性能差不多,在TPU(Tensor Processing Uni)效果更好。
基于Transformer的ViT没有归纳偏置,需要大量数据做预训练,如在14M-300M的图片数据集上学习到能力超过CNN的归纳偏置。获得预训练之后再做迁移学习到小数据集
总结:
- 自注意力池化层将当做key,value,query来对序列抽取特征。
- 完全并行,最长序列为1,但对长序列计算复杂度高
- 位置编码在输入中加入位置信息,使得自注意力能够学习位置信息。
2、输入特点
原生的Transformer中nn.embeding输入需要非负整数,且范围在[0,100]之间(试出来的,未必准确),这是对不同长度的单词维度进行扩展,但是对于图像或者其他类别而言未必是最后一个维度大小不一致,可以参考ViT将nn.embeding换成nn.Linear,还需要修改mask.
3、网络介绍
ViT
DETR基本思想:
1、先用CNN得到各个Patch作为输入,在套用transformer做编码和解码
2、编码和VIT一样,重点在解码,直接预测100个坐标框。
整体网络架构:
object quries是核心:让它学会怎么从原始特征找到物体的位置。
Encoder完成的任务:得到各个目标注意力结果,准备好特征。
Trac