《------往期经典推荐------》
二、机器学习实战专栏【链接】,已更新31期,欢迎关注,持续更新中~~
三、深度学习【Pytorch】专栏【链接】
四、【Stable Diffusion绘画系列】专栏【链接】
五、YOLOv8改进专栏【链接】,持续更新中~~
六、YOLO性能对比专栏【链接】,持续更新中~
《------正文------》
目录
深度学习中卷积发展
在神经网络模型的研究早期,研究人员面临着一个大问题:哪些卷积大小最适合不同的数据集?
如:LeNet使用了5x5卷积,AlexNet尝试了3x3、5x5和11x11,VGG尝试了3x3和5x5的混合。Inception就是在此种情况下诞生,它尝试使用不同的卷积大小组合在一起,用于捕捉不同尺度的图像特征。
不同卷积大小优缺点
- 更大的卷积(例如,5x5):
- 优点:非常有表现力,可以捕捉更多的模式。
- 缺点:需要很多参数,速度慢,需要更多内存。
- 较小的卷积(例如,1x1):
- 优点:速度快,节约内存。
- 缺点:可能无法捕捉足够的模式。
Inception模块
- 深度学习科学家认为,为什么只选择一个卷积大小?
- 受此启发,Inception模块诞生了,并在Google LeNet论文中引入。该模块使用1x1,3x3和5x5卷积,而不是选择一个卷积大小,将它们堆叠在一起。这种方法允许模型在不同的尺度上“思考”,捕捉小的和大的模式。
为什么不使用池化而不是1x 1卷积来减少参数数量
如果我们执行最大池化,图像大小将减小,而通道数量将保持不变。然而,当我们执行1x1卷积时,它在减少通道数量的同时保持图像大小稳定。
1x1卷积如何帮助减少参数,以及它在inception块中的作用
在其原生形式中,Inception模块由具有不同过滤器大小的多个并行卷积组成。然而,这种结构可能会很快变得计算昂贵(图2)。a)。为了克服这个问题,在具有更大(3x3,5x5等)的卷积层之前添加1x1卷积层。这些1x1层减少了通道数量,降低了成本。
现在,为了了解这些1x1卷积实际上如何帮助降低计算成本,让我们计算图a和图B中的参数数量
我们用来计算卷积后输出图像形状的公式
图a的参数计算
图B的参数计算
因此,我们在起始块中使用1x1卷积以减少参数
对图像应用1x 1卷积时,只要满足以下条件,输出图像的大小将保持与输入图像相同:
步幅= 1
- 内核在整个图像中一次移动一个像素。
- 这确保了输入中的每个像素都对输出有贡献。
填充= 0
- 没有额外的像素被添加到输入图像。
无合并
- 不执行最大池化或下采样等操作。
为什么要使用Inception Blocks?
有效使用计算:
- 它不是猜测给定数据集的最佳卷积大小,而是组合多个滤波器大小。
简化:
- 1x1卷积减少了参数的数量和计算成本。
- 在应用更大的卷积(如3x3或5x5)之前,使用1x1卷积来减少通道的数量(降维)。这减少了参数的数量,降低了计算成本,使网络比没有降维的简单并行卷积更有效。
适应性:
- 可应用于各种数据集和图像大小。
保存空间信息:
- 填充确保输入和输出尺寸匹配。
Inception网络及其不同版本
Inception V1
Inception V2
Inception V2做了一个改进是使用3X3的卷积代替5X5的卷积核,实验证明这样并不影响结果,但是却减少了参数量,假设输入和输出通道数都是C,那么5X5的卷积核参数量为25C2,但是两个3*3的卷积核参数量为18C2,同时因为使用两个33,使得网络层次加深,增加了非线性,提高了模型的表达能力。
同时Inception V2 引入了BN层(Batch Normalization层),通过对每个小批量数据进行归一化处理,加速训练过程,减少梯度消失和梯度爆炸问题,提高模型的泛化能力和鲁棒性,并允许使用更高的学习率。
Inception V3
Inception V3使用两个1Xn和nX1的卷积核取代nn的卷积核。这样做,相比把55用两个3*3代替更加参数量少,加速了网络的变化。同时增加了一层非线性扩展模型表达能力。论文解释说,这种非对称的卷积结构拆分,其结果比对称地拆为几个相同的小卷积核效果更明显,可以处理更多、更丰富的空间特征,增加特征多样性。
Inception V4
使用了不同的 Inception Block,然后堆叠在一起组成完整的网络结构,同时引入残差连接,融合残差神经网络的优点。
论文中网络结构图如下:
总结
Inception网络主要解决的问题是深度神经网络中的计算复杂度和信息丢失问题。通过引入Inception模块,Inception网络能够在不增加计算复杂度的前提下,有效地提取多尺度特征,从而提高模型的性能和准确性。Inception模块通过不同尺寸的卷积核和池化操作,对输入数据进行多尺度特征提取,避免了传统卷积神经网络中信息丢失的问题。此外,Inception网络还采用了1x1卷积来降低输入数据的维度,进一步减少计算量。因此,Inception网络在图像分类、目标检测等任务中表现出色,成为深度学习领域的一个重要里程碑。
好了,这篇文章就介绍到这里,喜欢的小伙伴感谢给点个赞和关注,更多精彩内容持续更新~~
关于本篇文章大家有任何建议或意见,欢迎在评论区留言交流!