卷积基础知识

问:简述卷积基本操作,分析其与全连接层的区别

卷积操作是卷积神经网络的核心,用于提取数据的局部特征,他的两大特性是局部连接,参数共享。

卷积层通过一个卷积核在输入数据上滑动,逐步将与卷积核对应的元素相乘后求和得到一个标量值,最终生成一个输出特征图,通过局部连接和参数共享,能够高效的提取局部特征,同时减少参数量

而全连接层中的不同神经元是的参数不同,数量较多,计算量也更大。他将卷积层提取的特征进行综合处理,输出最终的预测结果,适合处理一维的特征向量。

问:卷积神经网络中,如何计算各层感受野大小

感受野是指网络中某个神经元能够感知到的输入数据的区域大小,感受野越大,神经元能够感知到的输入数据的范围就越广
$$
R_i = k_i + (R_{i-1} - 1) \cdot s_{i-1}
$$
其中R是感受野,k是卷积核大小,s是步长

问:卷积层,池化层,全连接层的作用是什么?

  • 卷积层:提取输入数据的局部特征,通过多层结构逐步提取更高级别的特征。(特征提取)
  • 池化层:降低特征图的空间维度,保留重要信息,减少计算量,增强平移不变性。(降维)
  • 全连接层:综合处理提取的特征,输出最终的分类或回归结果。(分类)

卷积的变种

问:简述分组卷积及其应用场景

分组卷积将输入通道分成多个组进行独立的卷积运算,能够显著提高计算效率盒模型的非线性能力

目前分组卷积更多被用来构建用于移动设备的小型网络结构,例如深度可分离卷积

卷积神经网络的整体结构

问:简述经典卷积神经网络发展和变迁

LeNet:简单的卷积层和池化层堆叠,参数有限,难以处理复杂的图像任务,用于识别手写数字

AlexNet:引入RELU激活函数解决了梯度消失的问题,加速了训练;使用Dropout来防止过拟合;使用GPU对模型进行加速。但是网络较深,参数量巨大

VGG:使用3×3卷积核替代大卷积核,减少了参数量的同时通过堆叠小卷积核增强了模型的非线性能力。但是参数量巨大

GoogLeNet:使用并行的卷积和池化操作的Inception模块增加网络深度和宽度,同时减小参数量;在分类的最后使用全局平均池化提高模型的泛化能力

ResNet:通过残差模块解决了深层网络训练的梯度消失问题,应用批量归一化加速了模型训练过程

卷积神经网络基础组件

问:批量归一化是为了解决什么问题?它的参数有什么意义?在网络中一般放在什么位置?☆

批量归一化主要用于解决“内部协变量偏移”的问题(训练过程中,每一层的输入分布会随着前面层的参数更新而发生变化。这种输入分布的变化会影响网络的训练速度和稳定性,导致训练过程变得复杂且难以收敛),批量归一化通过归一化每一层的输入,使均值为0,方差为1,从而稳定训练过程,加速收敛,并且一定程度上环节梯度消失和爆炸的问题

BN引入两个参数(在反向传播中更新):缩放参数γ:恢复特征尺度;偏移参数β:恢复特征的偏移
$$
y = \gamma \hat{x} + \beta
$$
接收上一层输出作为x,经过变换的y输入下一层

位置:激活函数前后

问:用于分类任务的卷积神经网络的最后几层一般是什么层?可以用什么来替代?

网络末端一般是全连接层,也可以用全局平均池化来替代,能够使参数量和计算量大大降低,并且具有较好的可解释性

问:瓶颈结构和沙漏结构可以用于解决什么问题?

  • 瓶颈结构由三个卷积层构成,既降低计算量又保留特征信息,还减少了参数量

    • 第一个1×1卷积层降维

    • 第二个3×3卷积层提取特征

    • 第三个1×1卷积层恢复维度

例如在ResNet中,瓶颈结构的1×1卷积层将输入特征从256维降低到64维,经过3×3卷积层后,再通过1×1卷积层恢复到256维

  • 沙漏结构是卷积神经网络中一种类似沙漏形状的架构,能捕捉多尺度特征,常用于图像分割和姿态估计等任务。

    先通过卷积层下采样降低特征图维度,中间提取特征,再通过上采样恢复维度