AIGC背后的技术分析 | 机器学习中的卷积神经网络

简介: 卷积神经网络(convolutional neural network)是一种前馈神经网络, 广泛应用于图像识别领域。进行图像识别任务时,若使用传统的全连接神经网络,网络的第一层参数会非常多。针对此问题,人们考虑是否能够结合图像识别任务的特点来简化全连接神经网络。

640.jpg


通过观察,研究者发现了以下3条性质。

① 某些模式总是存在于局部区域。例如,熊猫眼睛的特点可以作为识别熊猫的一种模式,包含熊猫眼睛的区域比整张图像小很多。要识别出这些模式,一个神经元并不需要与整张图像的所有像素相连,只需要与某些小区域相连接。连接到小的区域意味着少的网络参数。

② 相同的模式会出现在多个区域,也就是同一特征可以出现在不同图像的不同位置。例如,不同图像中熊猫的眼睛位置有所不同。图1展示了不同图像中熊猫眼睛的位置。这意味着隐含层中很多神经元做的事情几乎是一样的,都是在捕获熊猫眼睛的特点。因此,不同的神经元可以共享相同的参数,共享参数可以有效减少参数的数量。

640.png


图1不同图像中熊猫眼睛的位置

③ 对图像中的像素做下采样(subsampling)不会影响物体的识别。对一张图像进行下采样,可以得到原始图像的缩略图,而图像中要识别的模式并不会受到很大影响,可参考图2展示的对图像进行下采样之后的效果。对图像进行下采样可以减小图像的大小,进而减少神经网络的参数。

640.png


图2 图像进行下采样之后的效果

卷积神经网络就是参考了以上三条性质,对原始全连接神经网络结构进行调整与设计得到的。卷积神经网络由一个或多个卷积层(convolutional layer)与一个或多个全连接层构建,其中图像经过卷积层之后获得的表示通常会进行下采样操作,也称为池化操作。卷积神经网络进行池化操作的层称为池化层(pooling layer)。下面具体介绍卷积神经网络中的卷积层与池化层。

假设输入是M ×M ×R 的图像,其中M 表示图像的长和宽(图像的长和宽也可以不等),R 是图像的通道(channel)数。例如,对于彩色RGB图像,R=3,对于灰度图像,R=1。

卷积层与一般的全连接层不同,不再使用权重矩阵表示所有神经元节点在相邻网络层之间的一一对应关系,而是使用多组共享参数来构建两个网络层之间的联系。在卷积网络中,共享参数称为卷积核。一个卷积层可以使用K 个大小为N ×N ×R 的不同卷积核,其中N <M 。经过一层卷积操作之后,输入图像会转化成K 个大小为(M -N +1)×(M -N +1)的矩阵,通道数变为K 。图3给出了卷积操作的原理示意图。如图所示,卷积操作的具体计算如下:

(1)在所有通道的数据张量(图像)中选取与对应的卷积核W(k)尺寸相同的窗口Xi(k),并与之进行逐点乘运算W(k)⊙Xi(k),k=1,2。
(2)把对应张量W(r)⊙Xi(r)中的所有元素求和,得到每个窗口的标量表示。

(3)窗口在原数据张量中滑动,可以得到一个(M-N+1)×(M-N+1)的矩阵,矩阵的每一个元素对应每个窗口的标量表示。由于使用了个不同卷积核,将会得到个矩阵的新张量。

640.png


图3 卷积操作的原理示意图

可以发现,经过卷积操作之后,数据的长宽尺寸会变小,如果要保持卷积前后的长宽不变,需要对原数据进行填补操作,即在原数据矩阵的周围填补0。假设卷积核的尺寸为,当填补的长和宽为时,可以保证数据在经过卷积操作后长宽不变。卷积核的长和宽通常设置为奇数,因为这样填补的长和宽都是偶数,可以平均分配在数据矩阵的周围。

池化层通常接在卷积层之后。池化操作是对数据进行下采样,通常是在的连续区域上取均值池化或者取最大值池化,通常不超过5。通常在池化层之前或者之后增加一个偏置项和非线性激活函数。

卷积神经网络可以使用多个卷积层和池化层的组合,最后将所有通道的数据作为向量输入全连接层,为实现具体任务构建端到端的映射。卷积神经网络参数的求解使用反向传播算法。总的来说,卷积神经的结构设计利用了图像或其他结构化数据的多维结构,通过引入共享的卷积核以及池化等操作,捕获了数据中模式的位移不变性,减少了网络的参数。

目录
相关文章
|
9天前
|
机器学习/深度学习 人工智能 算法
猫狗宠物识别系统Python+TensorFlow+人工智能+深度学习+卷积网络算法
宠物识别系统使用Python和TensorFlow搭建卷积神经网络,基于37种常见猫狗数据集训练高精度模型,并保存为h5格式。通过Django框架搭建Web平台,用户上传宠物图片即可识别其名称,提供便捷的宠物识别服务。
134 55
|
19天前
|
机器学习/深度学习 人工智能 算法
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
宠物识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了37种常见的猫狗宠物种类数据集【'阿比西尼亚猫(Abyssinian)', '孟加拉猫(Bengal)', '暹罗猫(Birman)', '孟买猫(Bombay)', '英国短毛猫(British Shorthair)', '埃及猫(Egyptian Mau)', '缅因猫(Maine Coon)', '波斯猫(Persian)', '布偶猫(Ragdoll)', '俄罗斯蓝猫(Russian Blue)', '暹罗猫(Siamese)', '斯芬克斯猫(Sphynx)', '美国斗牛犬
107 29
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
|
3天前
|
机器学习/深度学习 数据可视化 大数据
机器学习与大数据分析的结合:智能决策的新引擎
机器学习与大数据分析的结合:智能决策的新引擎
43 15
|
8天前
|
机器学习/深度学习 数据采集 运维
机器学习在运维中的实时分析应用:新时代的智能运维
机器学习在运维中的实时分析应用:新时代的智能运维
47 12
|
22天前
|
机器学习/深度学习 资源调度 算法
图卷积网络入门:数学基础与架构设计
本文系统地阐述了图卷积网络的架构原理。通过简化数学表述并聚焦于矩阵运算的核心概念,详细解析了GCN的工作机制。
58 3
图卷积网络入门:数学基础与架构设计
|
18天前
|
机器学习/深度学习 人工智能 自然语言处理
深入理解深度学习中的卷积神经网络(CNN)##
在当今的人工智能领域,深度学习已成为推动技术革新的核心力量之一。其中,卷积神经网络(CNN)作为深度学习的一个重要分支,因其在图像和视频处理方面的卓越性能而备受关注。本文旨在深入探讨CNN的基本原理、结构及其在实际应用中的表现,为读者提供一个全面了解CNN的窗口。 ##
|
28天前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的卷积神经网络(CNN): 从理论到实践
本文将深入浅出地介绍卷积神经网络(CNN)的工作原理,并带领读者通过一个简单的图像分类项目,实现从理论到代码的转变。我们将探索CNN如何识别和处理图像数据,并通过实例展示如何训练一个有效的CNN模型。无论你是深度学习领域的新手还是希望扩展你的技术栈,这篇文章都将为你提供宝贵的知识和技能。
112 7
|
25天前
|
机器学习/深度学习 自然语言处理 算法
深入理解深度学习中的卷积神经网络(CNN)
深入理解深度学习中的卷积神经网络(CNN)
35 1
|
28天前
|
机器学习/深度学习 人工智能 自然语言处理
探索深度学习中的卷积神经网络(CNN)及其在现代应用中的革新
探索深度学习中的卷积神经网络(CNN)及其在现代应用中的革新
|
29天前
|
机器学习/深度学习 分布式计算 算法
【大数据分析&机器学习】分布式机器学习
本文主要介绍分布式机器学习基础知识,并介绍主流的分布式机器学习框架,结合实例介绍一些机器学习算法。
193 5