猫工智能:卷积神经网络层的实现

简介: 卷积神经网络是近年发展起来,并引起广泛重视的一种高效识别方法。20世纪60年代,Hubel和Wiesel在研究猫脑皮层中用于局部敏感和方向选择的神经元时发现其独特的网络结构可以有效地降低反馈神经网络的复杂性,继而提出了卷积神经网络(Convolutional Neural Networks-简称CNN)。

d8a45815ffe3474895cec176c159a824_jpeg

卷积神经网络是近年发展起来,并引起广泛重视的一种高效识别方法。20世纪60年代,Hubel和Wiesel在研究猫脑皮层中用于局部敏感和方向选择的神经元时发现其独特的网络结构可以有效地降低反馈神经网络的复杂性,继而提出了卷积神经网络(Convolutional Neural Networks-简称CNN)。

卷积神经网络在 20 世纪 90 年代就已经被广泛应用,但深度学习卷土重来的第一功臣非卷积神经网络莫属,原因之一就是卷积神经网络是非常适合计算机视觉应用的模型。

卷积在工程和数学上都有很多应用——在统计学中,加权的滑动平均是一种卷积;在概率论中,两个统计独立的变量 x 和 y 求和的概率密度函数是 x 和 y 的概率密度函数的卷积;在声学中,回声可以用原声与一个反映各种反射效应的函数相卷积来表示;在电子工程与信号处理中,任意一个线性系统的输出都可以通过将输入信号与系统函数(系统的应激响应)做卷积获得;在物理学中,任何一个线性系统(符合叠加原理)都存在卷积。

卷积提供了能够提升机器学习效果的三个重要方法:稀疏交互(Sparse Interaction)或稀疏连接(Sparse Connectivity)、参数共享(Parameter Sharing)以及等价表达(Equivariant Representation)。此外,卷积也提供了一种使得输入尺寸可变的工作方式。

一个简单的卷积网络由一系列层构成,每层都将上一层的一组隐层输出通过一个可微函数产生一组新的隐层输出。一个典型的卷积网络可以由三种类型的层构成:卷积层(Con-volutional Layer,CONV)配套 ReLU(Rectified Linear Unit,ReLU(x) = max(0,x))、池化层(Pooling Layer,POOL)和全连接层(Fully-Connected Layer,FC,和普通神经网络一致)。

卷积层是卷积网络的核心组成部分,包含了大部分繁重的计算工作。

卷积层实现

卷积层的参数由一组可学习的卷积核(Filter)构成。每个卷积核在空间中都是小尺寸的(沿宽和高),但会穿过输入集的整个深度。例如,卷积网络第一层的卷积核尺寸通常为5×5×3(宽、高各 5 像素,深度为彩色图像的 3 个通道)或 3×3×3(宽、高各 3 像素,深度为彩色图像的 3 个通道)。

在前向传播过程中,我们在输入图像上沿宽和高的方向滑动各个卷积核(准确地讲,卷积),并在所有位置上分别计算卷积核和输入之间的点乘。当沿整个输入的宽和高方向滑动卷积核时,我们就会得到一个二维的激活映射(Activation Map),通常也称为特征图或特征映射(Feature Map),表示在每个空间位置上输入对于卷积核的响应。

直观地讲,网络将学习卷积核参数,使得在遇到某种视觉特征(如第一层某些方向上的边缘或某种颜色的斑点,或网络高层中的整个蜂窝状或轮状图案)时被激活。卷积层上的每个卷积核(如:例子 CIFAR-10 中 12 个卷积核)都会产生一个二维的激活映射,我们沿深度方向将这些激活映射排列起来,并将它们作为卷积层的输出。如图 1 所示为一个 5×5×3 的卷积核在 32×32×3 的图像上沿空间维度(宽、高)滑动,遍历空间中的所有点后便生成一个新的尺寸为 28×28×1 的特征图。如图 2 所示为另一个 5×5×3 的卷积核在 32×32×3 的图像上沿空间维度(宽、高)滑动,遍历空间中的所有点后生成另一个新的尺寸为 28×28×1的特征图。如图 3 所示则是 6 个这样的卷积核在输入图像上沿空间维度(宽、高)滑动,遍历空间中的所有点后生成 6 个尺寸为 28×28×1 的特征图,所以最终输出的特征图维度为28 × 28 × 6。
1

图 1 卷积层中的一个卷积核示例

2

图 2 卷积层中的两个卷积核示例
3

图 3 卷积层中的多个卷积核示例

在网络中堆叠 CONV-ReLU 结构。需要注意的是,卷积核的深度需要与输入的特征图的深度一致。如图 4 所示,第一个卷积层的卷积核尺寸为 5 × 5 × 3,其深度与输入图像(32 × 32 × 3)的深度一致;第二个卷积层的卷积核尺寸为 5 × 5 × 6,其深度就需要与第一个CONV-ReLU 输出的特征图(28 × 28 × 6)的深度一致。
4

图 4 后一个卷积层的卷积核大小需要与前一个卷积层输出的维度一致

如图 5 所示,通过可视化各个卷积层输出的特征图,我们看到随着卷积网络的不断加深,特征图上的响应表现出的语义层次也在不断加深。最初的卷积层通常对图像中的边缘或色斑产生较强的响应,我们认为这个部分抽取的主要是低层特征(Low-Level Feature)。此后的卷积层在低层特征基础上产生的特征图开始出现一些具有一部分语义的图形或纹理。最后的卷积层倾向于对有明确语义的目标产生强响应,认为此时具有了抽取高层特征(High-Level Feature)的能力。
5

图 5 卷积层可视化

相关文章
|
1月前
|
机器学习/深度学习 编解码 自动驾驶
RT-DETR改进策略【模型轻量化】| 替换骨干网络为MoblieNetV1,用于移动视觉应用的高效卷积神经网络
RT-DETR改进策略【模型轻量化】| 替换骨干网络为MoblieNetV1,用于移动视觉应用的高效卷积神经网络
46 3
RT-DETR改进策略【模型轻量化】| 替换骨干网络为MoblieNetV1,用于移动视觉应用的高效卷积神经网络
|
14天前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的【害虫识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
害虫识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了12种常见的害虫种类数据集【"蚂蚁(ants)", "蜜蜂(bees)", "甲虫(beetle)", "毛虫(catterpillar)", "蚯蚓(earthworms)", "蜚蠊(earwig)", "蚱蜢(grasshopper)", "飞蛾(moth)", "鼻涕虫(slug)", "蜗牛(snail)", "黄蜂(wasp)", "象鼻虫(weevil)"】 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Djan
52 1
基于Python深度学习的【害虫识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
|
1月前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的【蘑菇识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
蘑菇识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了9种常见的蘑菇种类数据集【"香菇(Agaricus)", "毒鹅膏菌(Amanita)", "牛肝菌(Boletus)", "网状菌(Cortinarius)", "毒镰孢(Entoloma)", "湿孢菌(Hygrocybe)", "乳菇(Lactarius)", "红菇(Russula)", "松茸(Suillus)"】 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Django框架搭建了一个Web网页平台可视化操作界面,
108 11
基于Python深度学习的【蘑菇识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
|
1月前
|
机器学习/深度学习 编解码 自动驾驶
YOLOv11改进策略【模型轻量化】| 替换骨干网络为MoblieNetV1,用于移动视觉应用的高效卷积神经网络
YOLOv11改进策略【模型轻量化】| 替换骨干网络为MoblieNetV1,用于移动视觉应用的高效卷积神经网络
89 16
YOLOv11改进策略【模型轻量化】| 替换骨干网络为MoblieNetV1,用于移动视觉应用的高效卷积神经网络
|
1月前
|
机器学习/深度学习 存储
YOLOv11改进策略【模型轻量化】| PP-LCNet:轻量级的CPU卷积神经网络
YOLOv11改进策略【模型轻量化】| PP-LCNet:轻量级的CPU卷积神经网络
84 15
YOLOv11改进策略【模型轻量化】| PP-LCNet:轻量级的CPU卷积神经网络
|
1月前
|
机器学习/深度学习
YOLOv11改进策略【Neck】| GSConv+Slim Neck:混合深度可分离卷积和标准卷积的轻量化网络设计
YOLOv11改进策略【Neck】| GSConv+Slim Neck:混合深度可分离卷积和标准卷积的轻量化网络设计
88 8
YOLOv11改进策略【Neck】| GSConv+Slim Neck:混合深度可分离卷积和标准卷积的轻量化网络设计
|
1月前
|
机器学习/深度学习 编解码 移动开发
RT-DETR改进策略【Conv和Transformer】| TPAMI-2024 Conv2Former 利用卷积调制操作和大核卷积简化自注意力机制,提高网络性能
RT-DETR改进策略【Conv和Transformer】| TPAMI-2024 Conv2Former 利用卷积调制操作和大核卷积简化自注意力机制,提高网络性能
47 5
RT-DETR改进策略【Conv和Transformer】| TPAMI-2024 Conv2Former 利用卷积调制操作和大核卷积简化自注意力机制,提高网络性能
|
1月前
|
机器学习/深度学习 编解码 移动开发
YOLOv11改进策略【Conv和Transformer】| TPAMI-2024 Conv2Former 利用卷积调制操作和大核卷积简化自注意力机制,提高网络性能
YOLOv11改进策略【Conv和Transformer】| TPAMI-2024 Conv2Former 利用卷积调制操作和大核卷积简化自注意力机制,提高网络性能
46 7
YOLOv11改进策略【Conv和Transformer】| TPAMI-2024 Conv2Former 利用卷积调制操作和大核卷积简化自注意力机制,提高网络性能
|
1月前
|
机器学习/深度学习
RT-DETR改进策略【Neck】| GSConv+Slim Neck:混合深度可分离卷积和标准卷积的轻量化网络设计
RT-DETR改进策略【Neck】| GSConv+Slim Neck:混合深度可分离卷积和标准卷积的轻量化网络设计
68 11
|
1月前
|
机器学习/深度学习 存储
RT-DETR改进策略【模型轻量化】| PP-LCNet:轻量级的CPU卷积神经网络
RT-DETR改进策略【模型轻量化】| PP-LCNet:轻量级的CPU卷积神经网络
51 0
RT-DETR改进策略【模型轻量化】| PP-LCNet:轻量级的CPU卷积神经网络

热门文章

最新文章