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

简介: 卷积神经网络是近年发展起来,并引起广泛重视的一种高效识别方法。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 卷积层可视化

相关文章
|
13天前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的眼疾识别系统实现~人工智能+卷积网络算法
眼疾识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了4种常见的眼疾图像数据集(白内障、糖尿病性视网膜病变、青光眼和正常眼睛) 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Django框架搭建了一个Web网页平台可视化操作界面,实现用户上传一张眼疾图片识别其名称。
67 4
基于Python深度学习的眼疾识别系统实现~人工智能+卷积网络算法
|
1月前
|
机器学习/深度学习 人工智能 算法
猫狗宠物识别系统Python+TensorFlow+人工智能+深度学习+卷积网络算法
宠物识别系统使用Python和TensorFlow搭建卷积神经网络,基于37种常见猫狗数据集训练高精度模型,并保存为h5格式。通过Django框架搭建Web平台,用户上传宠物图片即可识别其名称,提供便捷的宠物识别服务。
286 55
|
1月前
|
机器学习/深度学习 人工智能 算法
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
宠物识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了37种常见的猫狗宠物种类数据集【'阿比西尼亚猫(Abyssinian)', '孟加拉猫(Bengal)', '暹罗猫(Birman)', '孟买猫(Bombay)', '英国短毛猫(British Shorthair)', '埃及猫(Egyptian Mau)', '缅因猫(Maine Coon)', '波斯猫(Persian)', '布偶猫(Ragdoll)', '俄罗斯蓝猫(Russian Blue)', '暹罗猫(Siamese)', '斯芬克斯猫(Sphynx)', '美国斗牛犬
189 29
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
|
10天前
|
机器学习/深度学习 算法 计算机视觉
基于CNN卷积神经网络的金融数据预测matlab仿真,对比BP,RBF,LSTM
本项目基于MATLAB2022A,利用CNN卷积神经网络对金融数据进行预测,并与BP、RBF和LSTM网络对比。核心程序通过处理历史价格数据,训练并测试各模型,展示预测结果及误差分析。CNN通过卷积层捕捉局部特征,BP网络学习非线性映射,RBF网络进行局部逼近,LSTM解决长序列预测中的梯度问题。实验结果表明各模型在金融数据预测中的表现差异。
|
1月前
|
机器学习/深度学习 资源调度 算法
图卷积网络入门:数学基础与架构设计
本文系统地阐述了图卷积网络的架构原理。通过简化数学表述并聚焦于矩阵运算的核心概念,详细解析了GCN的工作机制。
124 3
图卷积网络入门:数学基础与架构设计
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
深入理解深度学习中的卷积神经网络(CNN)##
在当今的人工智能领域,深度学习已成为推动技术革新的核心力量之一。其中,卷积神经网络(CNN)作为深度学习的一个重要分支,因其在图像和视频处理方面的卓越性能而备受关注。本文旨在深入探讨CNN的基本原理、结构及其在实际应用中的表现,为读者提供一个全面了解CNN的窗口。 ##
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
深入理解深度学习中的卷积神经网络(CNN)
深入理解深度学习中的卷积神经网络(CNN)
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的卷积神经网络(CNN): 从理论到实践
本文将深入浅出地介绍卷积神经网络(CNN)的工作原理,并带领读者通过一个简单的图像分类项目,实现从理论到代码的转变。我们将探索CNN如何识别和处理图像数据,并通过实例展示如何训练一个有效的CNN模型。无论你是深度学习领域的新手还是希望扩展你的技术栈,这篇文章都将为你提供宝贵的知识和技能。
387 7
|
2月前
|
机器学习/深度学习 自然语言处理 算法
深入理解深度学习中的卷积神经网络(CNN)
深入理解深度学习中的卷积神经网络(CNN)
97 1
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
探索深度学习中的卷积神经网络(CNN)及其在现代应用中的革新
探索深度学习中的卷积神经网络(CNN)及其在现代应用中的革新