通用视觉框架OpenMMLab 第二课速通版
感受和评价
我的上课逻辑是这样的:一般不看直播,我是回放党,因为可以跳过不重要的,详听重要的,给笔记记录腾出时间;另外就是下载群给出的课件,预览一遍,看看哪里是已经会的,哪里是新鲜的,重要的标记出来。这里简单看了看课件,觉得在框架介绍之前部分,也就是对分类任务的种种知识,覆盖非常全面,值得查漏补缺。虽然MMClassification框架我可能用不太到,不过既然是通用的架构,听了也不亏~ 本期知识点:
- 卷积的参数量和计算量的计算方式
- CV领域的Transformer的概要
分类任务必知必会
关于ResNet结构的两种残差模块:
这里注意,1*1用于压缩通道,降低计算开销。1*1卷积可以看成是个常用的工具。
为什么ResNet如此work?
- ResNet是深浅模型的集成。
- 引入了跳连之后,Loss Surface更加光滑。哪种更好一目了然!
ResNe后续的工作:
其他的强势的图像分类模型:
除了VGG,ResNet等一些人工设计的网络结构之外,还有借助RL的图像分类工作。
除此之外,还有从NLP领域杀过来的Transformer。Transformer我了解的一直很少,因为之前受到了NLP的影响,觉得NLP很难。但是看来是绕不过去了,哪天抓来论文读他一炮。
最后就是2022年新工作ConvNeXt,返璞归真回到了卷积上,用卷积模仿了Transformer的优势。
其他知识点:
卷积的参数量计算,ppt给的小图把参数量展现的非常清晰。我在这里再复述一遍计算方法:单看一个输出通道,针对输入X,会有KKC的卷积核参数量(也就是输入通道个数个K*K大小的卷积核),加一个偏置,就是 K*K*C+1 ,最后再看看是C‘个输入通道,也就是上述一共有C’个计算流程——即 C‘(K*K*C+1).
从这个思路入手,GoogLeNet的思路是,认为不是所有的特征都需要同样大小的感受野,在同一层可以混合使用不同特征可以减少参数量。
可分离卷积,对输入的图像的每一个通道做卷积,这样通道之间没有信息交互,最后用1*1*c的卷积核把信息交互起来,很大程度上减少了运算量。可以看做是一个通道一组。
从可分离卷积出发的工作就是MobileNet。
分组卷积,和可分离卷积联想一起,分组卷积就是按通道分组。不像可分离卷积那么激进。
Vision Transformers
对于卷积网络来说,它的基本单元是卷积核;但对于Transformer来说,它的基本单元是注意力机制。
但是我对Transformer在CV的使用不甚了解,不可能短短几分钟能对其有深刻的掌握,这里只是贴上几张PPT,日后再详细做讨论。
Swin-Trans
模型训练
这里没有列出课程讲到的所有方法技巧,只是给出了我个人认为值得学习和注意的事情
有监督的模型训练流程,这张图虽然没什么新奇的,但是我觉得这张图片描述很清楚很简练,就拿了过来。
学习率退火和Warmup
学习率退火不用多说了,经常会遇到,但是遇到warmup的频次相比退火偏少一点点。何为warmup如下图所示。
Linear Scaling Rule
模型权重平均 EMA
标签平滑
Masked autoencoder (MAE)
本笔记的图片来源均出自 MMLab训练营的PPT以及相关视频。