机器学习之卷积神经网络--CNN介绍

简介: 机器学习之卷积神经网络--CNN介绍

卷积神经网络--CNN

1. 卷积神经网络介绍

卷积神经网络(Convolutional Neural Networks,CNN)是一种包
含卷积计算且具有深度结构的前馈神经网络,是深度学习的代表算法之一。
常见的CNN网络有LeNet-5、VGGNet、GoogleNet、ResNet、
DenseNet、MobileNet等。
CNN主要应用场景: 图像分类、图像分割 、 目标检测 、 自然语言处
理等领域。

2. 卷积神经网络基本结构及原理

卷积神经网络基本结构

在这里插入图片描述

CNN基本结构:INPUT -> 卷积->激活 -> 池化 -> 全连接 ->OUTPUT

卷积层

对输入的图像数据与卷积核做卷积运算提取图像的高阶特征
卷积过程的几个参数
1、深度(depth):卷积核个数,也称神经元个数,决定输出的特征图的数量。
在这里插入图片描述

2、步长(stride):卷积核滑动一次的大小,决定滑动多少步可以到达边缘。
在这里插入图片描述
在这里插入图片描述

3、填充值(padding):在外围边缘补充0的层数。

卷积过程

在这里插入图片描述

卷积网络最主要的两个特征
1、局部感知
2、权值共享
激活层、Relu函数

池化层

下采样(downsamples),对输入的特征图进行压缩;
一方面使特征图变小,简化网络计算复杂度,有效控制过拟合;
另一方面进行特征压缩,提取主要特征。
池化,规模一般为 2*2,操作一般有2种:

  • 最大池化(Max Pooling)。取4个点的最大值。这是最常用的池化方法。
  • 均值池化(Mean Pooling)。取4个点的均值。
  • 在这里插入图片描述

全连接层

连接所有的特征,将输出值送给分类器,实现分类。
在这里插入图片描述

3. pytorch中卷积的实现

卷积层

torch.nn.Conv2d()
参数说明
in_channels:输入通道数(深度)
out_channels:输出通道数(深度)
kernel_size:滤波器(卷积核)大小
stride:表示滤波器滑动的步长
padding:是否进行零填充
bias:默认为 True,表示使用偏置
groups:控制分组卷积,默认不分组,为1组。
dilation:卷积对输入的空间间隔,默认为 True

激活层

torch.nn.ReLU()
参数说明
inplace:是否在原数据进行操作,默认是False

池化层

torch.nn.MaxPool2d()
torch.nn.AvgPool2d()
参数说明
kernel_size :表示做最大池化的窗口大小
stride:步长
padding:是否进行零填充
dilation:卷积对输入的空间间隔,默认为 True

全连接层

torch.nn.Linear()
参数说明
in_features :输入特征数;
out_features:输出特征数;
bias:默认为 True,表示使用偏置

4. 经典卷积神经网络介绍

Lenet-5

LeNet5卷积神经网络源于Yann LeCun在1998年发表的论文:Gradient-
based Learning Applied to Document Recognition,是一种用于手写数字识别的
卷积神经网络。
LeNet-5是CNN网络架构中最知名的网络模型,是卷积神经网络的开山之
作。

AlexNet

2012 年, AlexNet 横空出世。AlexNet 使⽤卷积神经⽹络,并以很⼤的优
势赢得了ImageNet 2012 图像识别挑战赛冠军。
Alexnet模型由5个卷积层和3个池化Pooling 层 ,其中还有3个全连接层构
成。AlexNet 跟 LeNet 结构类似,但使⽤了更多的卷积层和更⼤的参数空间来拟
合⼤规模数据集 ImageNet。它是浅层神经⽹络和深度神经⽹络的分界线。

cifar10数据介绍

CIFAR-10 是由 Hinton 的学生 Alex Krizhevsky 和 Ilya Sutskever 整理的一
个用于识别普适物体的小型数据集。一共包含 10 个类别的 RGB 彩色图 片:飞
机( a叩lane )、汽车( automobile )、鸟类( bird )、猫( cat )、鹿
( deer )、狗( dog )、蛙类( frog )、马( horse )、船( ship )和卡车
( truck )。图片的尺寸为 32×32 ,数据集中一共有 50000 张训练圄片和
10000 张测试图片在这里插入图片描述

VGGNet

VGGNet 是由牛津大学视觉几何小组(Visual Geometry Group, VGG)提
出的一种深层卷积网络结构,他们以 7.32% 的错误率赢得了 2014 年 ILSVRC 分
类任务的亚军。
VGGNet探索了卷积神经网络的深度与其性能之间的关系,成功地构筑了
16~19层深的卷积神经网络,证明了增加网络的深度能够在一定程度上影响网络
最终的性能,使错误率大幅下降,同时拓展性又很强,迁移到其它图片数据上的
泛化性也非常好。到目前为止,VGG仍然被用来提取图像特征。
VGG可以看成是加深版本的AlexNet。都是conv layer + FC layer

GoogleNet

GoogleNet是2014年Google团队提出的一种全新的深度学习结构,赢得了
2014 年 ILSVRC 分类任务的冠军。
GoogLeNet是第一个使用并行网络结构的经典模型,这在深度学习的发展
历程中是具有开创性意义的。
GoogLeNet最基本的网络块是Inception,它是一个并联网络块,经过不断
的迭代优化,发展出了Inception-v1、Inception-v2、Inception-v3、Inception-v4、
Inception-ResNet共5个版本。
Inception家族的迭代逻辑是通过结构优化来提升模型泛化能力、降低模型
参数。

ResNet

ResNet(残差网络) 网络是在 2015年 由微软实验室中的何凯明等几位大神
提出,斩获当年ImageNet竞赛中分类任务第一名,目标检测第一名。获得COCO
数据集中目标检测第一名,图像分割第一名。
它使用了一种连接方式叫做“shortcut connection”,顾名思义,shortcut就
是“抄近道”的意思。在这里插入图片描述
ResNet block有两种,一种两层结构,一种三层结构在这里插入图片描述

MobileNet

MobileNet是谷歌在2017年提出,专注于移动端或者嵌入式设备中的轻量
级CNN网络。
MobileNet的基本单元是深度可分离卷积,其可以分解为两个更小的操作:
depthwise convolution和pointwise convolution。

目录
相关文章
|
14天前
|
机器学习/深度学习 人工智能 自然语言处理
深入理解深度学习中的卷积神经网络(CNN)##
在当今的人工智能领域,深度学习已成为推动技术革新的核心力量之一。其中,卷积神经网络(CNN)作为深度学习的一个重要分支,因其在图像和视频处理方面的卓越性能而备受关注。本文旨在深入探讨CNN的基本原理、结构及其在实际应用中的表现,为读者提供一个全面了解CNN的窗口。 ##
|
24天前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的卷积神经网络(CNN): 从理论到实践
本文将深入浅出地介绍卷积神经网络(CNN)的工作原理,并带领读者通过一个简单的图像分类项目,实现从理论到代码的转变。我们将探索CNN如何识别和处理图像数据,并通过实例展示如何训练一个有效的CNN模型。无论你是深度学习领域的新手还是希望扩展你的技术栈,这篇文章都将为你提供宝贵的知识和技能。
76 7
|
21天前
|
机器学习/深度学习 自然语言处理 算法
深入理解深度学习中的卷积神经网络(CNN)
深入理解深度学习中的卷积神经网络(CNN)
29 1
|
25天前
|
机器学习/深度学习 人工智能 数据挖掘
打破传统:机器学习与神经网络获2024年诺贝尔物理学奖引发的思考
诺贝尔物理学奖首次授予机器学习与神经网络领域,标志该技术在物理学研究中的重要地位。本文探讨了这一决定对物理学研究的深远影响,包括数据分析、理论物理突破及未来科研方向的启示,同时分析了其对学术跨界合作与全球科研产业的影响。
48 4
|
27天前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的卷积神经网络(CNN)及其在图像识别中的应用
本文旨在通过深入浅出的方式,为读者揭示卷积神经网络(CNN)的神秘面纱,并展示其在图像识别领域的实际应用。我们将从CNN的基本概念出发,逐步深入到网络结构、工作原理以及训练过程,最后通过一个实际的代码示例,带领读者体验CNN的强大功能。无论你是深度学习的初学者,还是希望进一步了解CNN的专业人士,这篇文章都将为你提供有价值的信息和启发。
|
24天前
|
机器学习/深度学习 人工智能 自然语言处理
探索深度学习中的卷积神经网络(CNN)及其在现代应用中的革新
探索深度学习中的卷积神经网络(CNN)及其在现代应用中的革新
|
25天前
|
机器学习/深度学习 数据采集 算法
机器学习在医疗诊断中的前沿应用,包括神经网络、决策树和支持向量机等方法,及其在医学影像、疾病预测和基因数据分析中的具体应用
医疗诊断是医学的核心,其准确性和效率至关重要。本文探讨了机器学习在医疗诊断中的前沿应用,包括神经网络、决策树和支持向量机等方法,及其在医学影像、疾病预测和基因数据分析中的具体应用。文章还讨论了Python在构建机器学习模型中的作用,面临的挑战及应对策略,并展望了未来的发展趋势。
89 1
|
28天前
|
机器学习/深度学习 人工智能 网络架构
深入理解深度学习中的卷积神经网络(CNN)
深入理解深度学习中的卷积神经网络(CNN)
40 1
|
29天前
|
机器学习/深度学习 自然语言处理 算法
深入理解机器学习算法:从线性回归到神经网络
深入理解机器学习算法:从线性回归到神经网络
|
21天前
|
机器学习/深度学习 人工智能 自然语言处理
深入理解深度学习中的卷积神经网络(CNN)
深入理解深度学习中的卷积神经网络(CNN)