前言
传统视觉算法采用手工设计特征与浅层模型,而手工设计特征依赖于专业知识,且泛化能力差。深度学习的出现改变了这一状况,为视觉问题提供了端到端的解决方案。在之前的课程中,我们已经学习了图像分类的传统知识。在本节课中,我们将学习到图像分类融合深度学习的方法。
一、视觉算法设计流程的演化
下面是传统视觉算法和深度学习算法的区别:
• 传统视觉算法采用手工设计特征与浅层模型;
• 手工设计特征依赖专业知识(Domain knowledge),且泛化性能差;
• 深度学习的出现改变了这一状况,为视觉问题提供了端到端的解决方案。
接下来,我们以人脸识别任务为例,对传统方法和深度学习方法进行一个比较:
传统方法的思路如下:
深度学习方法的思路如下:
下面是深度学习方法的一些优点:
- 深度模型更适合处理大数据,随着训练数据规模增大,性能不断提升。
- 而浅层模型随训练数据的增加,性能提升不明显。
如下图所示:
并且,通过数据驱动的方式学出的深度特征,具有更强的泛化性能。
二、分层级深度特征
在了解了深度学习视觉算法的设计流程之后,我们还需要学习一下分层级的深度特征。
不同层级的卷积层所学习到的图像特征具有分层的特性
• 浅层: 学习到图像的低级(Low-level)特征,如颜色、边缘、纹理
• 深层: 学到图像的高级(High-level)特征,如物体位置、语义类别
我们以AlexNet为例,对每一层卷积层进行说明:
1)AlexNet中第一层卷积的滤波器96x[11x11x3] 学到edge, color, blob 等底层特征,与手工设计滤波器组相似。
2)第二层对继续对角点和其他的边缘/颜色信息进行相应
3)第三层具有更复杂的不变性,捕获相似的纹理
4)第四层显示了显著的变化,并且更加类别具体化。而第五层显示了具有显著姿态变化的整个对象。
三、常见的深度神经网络类型
我们将依次介绍如下4种常见的深度神经网络类型,这在之前的深度学习课程上面也学习过,在此仅作为复习使用:
• 全连接网络 (Fully Connected Net)
• 卷积网络 (Convolution Net)
• 递归网络 (Recurrent Net)
• Transformer
3.1 全连接网络
3.2 卷积网络
对于卷积神经网络,我们需要知道参数量的计算、卷积层的3个主要特点、卷积的过程和空洞卷积的概念和意义、上采样的概念和计算,批量归一化的定义和优缺点。
3.2.1 卷积层参数量的计算
3.2.2 卷积层的特点(重要)
3.2.3 卷积的过程
3.2.4 卷积步幅
下图中的步幅 stride = 2
3.2.5 空洞卷积
3.2.6 池化层
池化的意义和作用如下:
• 使用某一位置相邻区域的总体统计特性来代替网络在该位置的输出
• 在尽量保留有用信息的同时,实现特征图降采样,提升感受野
1)最大值池化
2)平均值池化
3.2.7 上采样(反卷积)
3.2.8 批量归一化(重点)
参考文献:Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift, ICML 2015
BN的优缺点如下:
需要掌握Batch Norm、Layer Norm、Instance Norm和Group Norm这四个对应的表示形式:
3.3 递归网络
不是考查的重点,请感兴趣的读者移步参考下方链接:
【神经网络】递归神经网络 – 知乎 (zhihu.com)
3.4 Transformer
• Transformer最早针对NLP任务设计,随后推广至视觉领域 (分类、检测、分割、跟踪)
• Transformer最核心的模块是自注意力机制模块,该模块通过将输入特征间的相关性作为权重,对输入特征进行加权,实现管局关系建模
3.4.1 自注意力机制
参考链接:https://jalammar.github.io/illustrated-transformer/
3.4.2 多头注意力模块
3.4.3 常见的损失函数与优化器
四、图像分类
接下来我们将介绍最经典的一些图像分类模型:
4.1 ImageNet数据集
细粒度(Fine-Grained)图像分类是对图像种类进行更精细的划分:
随着旧模型的不断改进,新模型的不断提出,图像分类模型推陈出新,ImageNet精度逐年提升:
4.2 AlexNet
4.3 VGG
4.4 GoogleNet
4.5 ResNet
4.6 DenseNet
4.7 Vision Transformer
4.8 Swing Transformer
Swing Transformer 提出Window based Self-Attention:将输入图像分成互不重叠的Window,自注意机制在每一个Window中独立计算
总结
本文从视觉算法设计流程的演变入手,对比传统视觉算法和深度学习算法的优劣,引出深度学习算法,并依次介绍了深度特征、深度神经网络类型和图像分类的经典模型。