导读
《CondenseNet V2: Sparse Feature Reactivation for Deep Networks》是一篇发表在IEEE Transactions on Pattern Analysis and Machine Intelligence上的论文,提出了一种名为CondenseNet V2的深度神经网络结构,用于高效地学习稀疏特征。该论文主要针对深度神经网络中的稀疏性问题,即在高层数网络中,由于卷积层的下采样和池化操作,特征图的尺寸会逐渐减小,导致某些特征图上的神经元很少被激活,从而影响了网络的性能和效率。
基础回顾
稀疏性特征是指在数据集中,只有一小部分特征具有非零值,而其余特征则为零或接近于零。在机器学习中,稀疏性通常指的是输入特征的稀疏性。稀疏性特征具有以下几个特点:
- 维度高:由于每个特征都可以被视为输入向量中的一个维度,因此稀疏性特征通常具有非常高的维度。 稀疏性:稀疏性特征中,只有一小部分特征具有非零值,其余特征为零或接近于零。这种稀疏性通常可以用稀疏矩阵表示;
- 数据不平衡:由于只有一小部分特征具有非零值,因此稀疏性特征中通常存在类别不平衡的问题
前言
为了解决稀疏性问题,CondenseNet V2提出了一种新的网络结构,其中每个卷积层都包含一个特征重激活模块(FRAM),该模块能够自适应地学习哪些特征图上的神经元应该被激活,并将这些神经元的输出值相加作为下一层的输入。这样,可以有效地减少稀疏性,提高网络的性能和效率。
除此之外,CondenseNet V2还引入了一种轻量级的网络剪枝技术,即通过矩阵分解将每个卷积层的权重矩阵分解为两个较小的矩阵,并使用低秩矩阵乘法来近似原始矩阵。这种方法可以显著减少网络参数数量,进一步提高了网络的效率和泛化性能。
结构分析
CONDENSENETV2网络的结构:
CONDENSENETV2是一种基于稠密连接的深度卷积神经网络。它是CONDENSENET的改进版本,旨在减少参数和计算量,提高模型的效率和精度。以下是CONDENSENETV2网络的结构:
- 输入层:接受图像数据输入。
- 第一个卷积层:包含卷积、批量归一化和ReLU激活函数。它的作用是提取图像的基本特征。
- 重复模块:由若干个稠密块组成,每个稠密块由一个压缩层和若干个卷积层组成。在稠密块中,每个卷积层的输出被连接到后面所有层的输入上。这样的稠密连接可以使特征更好地传递和复用,减少模型中的冗余参数。在压缩层中,会使用1x1卷积和通道压缩算法来减少特征图的通道数,从而进一步减少参数和计算量。
- 过渡层:包含卷积、批量归一化和ReLU激活函数,作用是减小特征图的大小,进一步减少参数和计算量。
- 全局池化层:对特征图进行平均池化,将其转换为一个全局特征向量。
- 全连接层:将全局特征向量映射到类别分数上,用于分类任务。
CONDENSENETV2网络相较于DENSENET的区别:
CONDENSENETV2与CONDENSENET相比,在压缩层和过渡层中引入了新的技术,例如BottleNeckBlock和SEBlock,用于更有效地压缩特征和提高模型性能。此外,它还采用了更多的模型细节和优化策略,例如Deformable Convolution和CBAM,进一步提高了模型的效率和精度。
相比于DenseNet,它具有以下几个显著的区别:
- 稠密连接方式不同:DenseNet中的稠密连接是将每个层的输出直接连接到后续层的输入上,而CondenseNetV2中的连接是通过选择性地保留重要的特征图来实现的。 具体来说,CondenseNetV2中每个层的输出会被送到一个全局矩阵中,然后通过特定的压缩算法将其压缩为一个相对较小的向量,该向量仅包含重要的特征。 后续层可以使用这个向量来恢复之前的特征图,从而实现稠密连接。
- 使用了Squeeze-and-Excitation(SE)模块:SE模块是一种轻量级的注意力机制,能够有选择地增强网络中有用的特征。CondenseNetV2中每个卷积层都会接一个SE模块,从而使网络能够自适应地调整不同特征的重要性。
- 更高效的模型压缩:CondenseNetV2采用了一系列有效的模型压缩方法,包括通道剪枝、特征图采样等,从而使得模型在保持较高精度的同时,具有更小的模型体积和更快的推理速度。
结尾
我们在本文中主要是分析了CendensenetV2的结构,以及CendensenetV2和densenet进行比对,大家可以吸取CendensenetV2中的残差连接和密集连接连接迁移到其它网络中进行改造, 以及它的减小模型的复杂性的手段进行提高训练效率。