permute一次操作多个维度
transpose一次操作最多2维度
linespace线性划分
最先进的conv、调参、
cudnn.benchmark=true pytorch将在卷积网络中找都最优算法,去跑
VIT、SwinTrans效果怎么得到的,借鉴transformer的关键点,改造Resnet50(仍然是卷积网络), 不仅速度快,而且准确率要高
把调参发挥到了极致
保持基本模型不变,增加block神经元的个数、层数,还是认为属于同一个模型T S L
训练技巧:
除了设计模型,训练也对效果有影响、
VIT:AdamW 优化策略和超参数设计
90周期—》300周期
data augmentation:mixup cutmix Rand augment random erasing regularization
76.1%-》78.8% 传统卷积网络和VIT之间的差距可能是来自于训练技巧(优化参数),不一定是模型有问题,然后固定参数,继续做消融实验
在小的数据集上,找到一个最有策略,然后用在大数据集中
紫色是小模型,灰色是大模型
优化器参数
宏观的设计:
1、resnet50:3 4 6 3 —》3 3 9 3 (仿照1 1 3 1) 78.8% --》79.4%
2、将底层卷积(原来是7x7,stride=2)替换成了4x4 stride=4的卷积,类似于patch(patchify) 79.4—》79.5
3、深度可分离卷积,和self-attention中的加权求和比较相似 本来是变差,但把通道数从64–》96
4、瓶颈设计
FNN先变为4倍大,然后进行压缩为原来的大小
微观的设计:
将RELU替换成GELU,将BN替换成LN
引入更少激活函数和归一化层
采用2*2,stride=2的卷积进行下采样,在底层、下采样之前和最后的平均池化之后加入LN层,是的训练更加稳定
至此,imageNet-1K的准确率进一步提升到82.0%,击败swin-T中的81.3%
学习facebook怎么调参的,没有讲调参顺序
1x1卷积,不是卷积,没有空间的局部关联性,只做通道融合,相当与MLP
96-》384-》96 transfromer 512-》2048-》512
stem茎层:划分为一个一个的patch
layernorm:3处用到:
1在下采样之前,
2stem之后,
3全局平局池化之后
分类之前,将4维为池化到2维
nn.modulelist更大的容器,可以放其他的nn.sequential
总结:
1、下采样层,stem、stage的下采样一共有4个
2、block,瓶颈结构,两头小中间大,3曾卷积:dw,pw,pw
3、分类
各项同性:
因为有下采用,所以和swintrans比(维度不发生变化)
去掉下采样,和Vit比(去掉下采样,都是各项同性)