简要笔记-CNN网络

article/2025/9/16 10:22:32

        以下是CNN网络的简要介绍。

1 CNN的发展简述

        CNN可以有效降低传统神经网络(全连接)的复杂性,常见的网络结构有LeNet、AlexNet、ZFNet、VGGNet、GoogleNet、ResNet等。

1.1 CNN常见的网络结构

        (1)LeNet(1998年 ): 首个CNN网络结构

        (2)AlexNet(2012年 ): 错误率 15.3%

        (3)ZFNet(2013年 ): 错误率 14.8%

        (4)VGGNet(2014年 ): ILSVRC2014比赛分类项目亚军,错误率 7.3%

        (5)GoogleNet(2014年 ): ILSVRC2014比赛分类项目冠军,错误率 6.67 %

        (6)ResNet(2015年 ): 错误率 3.6 %

1.2 CNN的应用场景

        (1)图像分类

        (2)目标检测

        (3)图像分割

        (4)语义分割

2 CNN网络的主要结构

2.1 输入层(Input Layer)

        网络数据输入之前要进行数据预处理。

        (1)为什么要数据预处理

        主要原因是输入数据的单位如果不一样,会导致神经网络收敛速度慢。激活函数是有值域限制的,所以需要将输入数据映射到激活函数的值域范围内。

        (2)数据预处理的常见方式

        1)去均值

        2)归一化

        3)PCA降维、白化

        白化:在PCA的基础上,对转换后的数据 每个特征轴上进行归一化处理。实际应用中,一般并不会使用PCA和白化的操作。

2.2 卷积层(CONV Layer)

        卷积层的输出也被称为特征映射(feature map),因为它可以被视为一个输入映射到下一层的空间维度的转换器。
        在卷积神经网络中,对于某一层的任意元素 𝑥 ,其感受野(receptive field)是指在前向传播期间可能影响 𝑥 计算的所有元素(来自所有先前层)。

        而权值共享:给定一张输入图片,用一个filter去扫描这张图,filter里面的数就叫做权重,而这张图的每个位置是被同样的filter扫的,所以卷积计算的权重是一样的,这就是权值共享。

        下图是卷积计算过程示例:

        在卷积之前还有填充的处理以及步幅的选择,在此不做过多阐述,后面会专门进行介绍。

2.3 激活层(Activiation Layer)

        激活层的作用是将卷积层的输出结果再做一次非线性的转换。

        常用的激活函数有:SigmoidTanhRelu、Leaky Relu、Maxout等。

        (1)Sigmoid

        优点:简单,容易理解。
        缺点:容易产生梯度消失梯度爆炸

        数学表达式:

       

        导函数表达式:

                            

        函数图像:

         (2)Tanh(双曲正切)函数

        优点:易理解,0中心化。
        缺点:容易产生死神经元。

        数学表达式:

         导函数表达式:

                          

         函数图像:

         (3)Relu函数

        优点:相比于Sigmoid和Tanh,具有更快的收敛速度

        缺点:没有边界。

        数学表达式:


        

         导函数表达式:

                        

        函数图像:

  

 2.3 小结

        (1)首先使用Relu,如果效果不好,考虑使用Leaky或者Maxout,目前大多数CNN均使用Relu作为激活函数。

        (2)sigmoid激活函数在CNN中一般不用,而tanh激活函数只在某些特定场景下效果好。

2.4 池化层(Pooling Layer)

        实施池化的目的:

        (1) 降低信息冗余;

        (2) 提升模型的尺度不变性、旋转不变性;

        (3) 防止过拟合。        

        池化层的常见操作包含以下几种:最大值池化,均值池化,随机池化,中值池化,组合池化等。

        更为常用的有两种池化层:最大池化和平均池化。(一般选择最大池化

        最大池化方式的特点:

        (1)最大池化(max-pooling)即取局部接受域中值最大的点。
        (2)最大值池化的优点在于它能学习到图像的边缘和纹理结构。
        (3)根据相关理论,特征提取的误差主要来自两个方面:
                1)邻域大小受限造成的估计值方差增大;
                2)卷积层参数误差造成估计均值的偏移。
        一般来说,mean-pooling能减小第一种误差,更多的保留图像的背景信息,max-pooling能减小第二种误差,更多的保留纹理信息。与mean-pooling近似,在局部意义上,则服从max-pooling的准则。

        下图是最大池化方式的示例:

2.5 全连接层(FC Layer)

        全连接层目的:对卷积观测到的局部信息进行整合,得到全局信息。

2.6 Batch Normalization层

        在网络每一层输入前,插入一个BN归一化层,将输入数据处理为服从高斯分布的数据,然后再进入网络的下一层。

        BN层作用:

        (1)防止梯度消失

        (2)加快网络训练速度

        (3)抑制网络过拟合。

        BN层一般放在卷积层后,池化层前:

        (1)卷积层 --> Relu激活层 --> BN层 --> 池化层

        (2)卷积层 -->BN层 --> Relu激活层 --> 池化层

3 总结        

        以上是对CNN网络的基本结构作简要介绍,CNN网络的实现中仍有许多细节,如,如何处理梯度消失和梯度爆炸、卷积里的填充和步幅等,这些将在以后进行具体介绍。

 

 

 


http://chatgpt.dhexx.cn/article/G3oNqDJl.shtml

相关文章

CNN神经网络

一、基础概念 1.1 卷积(filter) 、CNN使用卷积的思想和意义 改变全连接为局部连接,这是由于图片的特殊性造成的(图像的一部分的统计特性与其他部分是一样的),通过局部连接和参数共享,大范围的减少参数值。可以通过使用多个filter来提取图像的不同特征(…

卷积神经网络(CNN)详细介绍及其原理详解

文章目录 前言一、什么是卷积神经网络二、输入层三、卷积层四、池化层五、全连接层六、输出层七、回顾整个过程总结 前言 本文总结了关于卷积神经网络(CNN)的一些基础的概念,并且对于其中的细节进行了详细的原理讲解,通过此文可以…

CNN卷积神经网络详解

1、cnn卷积神经网络的概念 卷积神经网络(CNN),这是深度学习算法应用最成功的领域之一,卷积神经网络包括一维卷积神经网络,二维卷积神经网络以及三维卷积神经网络。一维卷积神经网络主要用于序列类的数据处理&#xff…

4、计算机中的进制数转换(十进制、二进制、八进制、十六进制)

目录 课前先导 一、计算机中的进制数 十进制(简写:D) 二进制(简写:B) 八进制(简写:Q) 十六进制(简写:H) 二、计算机进制数之间…

计算机二进制怎么转化成十六进制数是,6、计算机进制之二进制、十进制、十六进制之间的转换...

1、计算机的数制介绍 数制:计数的方法,指用一组固定的符号和统一的规则来表示数值的方法 数位:指数字符号在一个数中所处的位置 基数:指在某种进位计数制中,数位上所能使用的数字符号的个数 位权:指在某种进…

计算机网络十六进制h,计算机进制中,6BH中的H是什么意思?

满意答案 dmcyo 推荐于 2018.11.06 采纳率:49% 等级:9 已帮助:917人 H是十六进制英文hexadecimal的第一个字母,表示是十六进制的数。 十六进制(英文名称:Hexadecimal),是计算机中数据的一种表示方法。它由0-9&#…

如何利用计算机换算16进制,16进制怎么转换10进制?计算机进制转换方法汇总

从小我们就开始学数学,数学就有涉及到进制知识,相信大家对于进制都不陌生吧!进制也就是进位制,是一种进位方法。现在大家都有电脑,利用电脑自带的计算机进行进制转换是最简便的方法,下面是小编给大家总结的计算机进制转换方法。 进制介绍: 计算机中常用的进制主要有:二…

计算机进制、位运算

一、进制转换 1、什么是进制 进制是数学中的一个概念,就是数据“逢几进位”。进制就是进位制,是人们规定的一种进位方法。对于任何一种进制X,就表示某一位置上的数运算时逢X进一位。二进制就是逢二进一,八进制就是逢八进一&#…

计算机一级二进制转十六进制,计算机进制之二进制、十进制、十六进制之间的转换...

释放双眼,带上耳机,听听看~! 1、计算机的数制介绍 数制:计数的方法,指用一组固定的符号和统一的规则来表示数值的方法 数位:指数字符号在一个数中所处的位置 基数:指在某种进位计数制中,数位上所能使用的数字符号的个数 位权:指在某种进位计数制中,数位所代表的大小,…

计算机的进制和运算

计算机的进制和运算 1. 基本概念2. 运算3. 逻辑右移和算术右移4. 浮点数6. 数据类型7. 指针8. ByteBuffer 1. 基本概念 计算机处理信息的最小单位是位,就相当于二进制中的一位。位的英文bit是二进制数位(binary digit)的缩写。 8位二进制数…

计算机系统中常用的进制,计算机常用进制详解

内容 进制的由来 生活中的常用进制 二进制的介绍 四种进制说明 八进制和十六进制 常用进制间的转换 1、进制的由来 进制:进位计数制 原始的计数方式 结绳计数 书契计数 算盘 正字计数法 2、生活中的常用进制 十进制 七进制(0~6,星期) 十二进制(0~11&…

计算机进制转换

文章目录 一.基本概念二.计算机的数值1.KIB、MIB与KB、MB的区别2.数值的表示 三.进制转换1.十进制的转换1.1十进制二进制的转换1.2十进制八进制的转换1.3十进制十六进制的转换 2.二进制八进制十六进制的转换2.1二进制八进制的转换2.2二进制与十六进制的转换2.3八进制十六进制的…

计算机进制转换(看完这一篇你就全懂了)—基础篇

我相信很多人都学过进制的转换,但是总是转不过来,你只需要看完这一篇,你对进制的理解与转换一定会很熟练。 众所周知计算机只能识别0和1,其他的文字、数字、字符只能通过转换成进制,然后让计算机识别,并显示…

一文带你读懂计算机进制

hi,大家好,我是开发者FTD。在我们的学习和工作中少不了与进制打交道,从出生开始上学,最早接触的就是十进制,当大家学习和使用计算机时候,我们又接触到了二进制、八进制以及十六进制。那么大家对进制的认识和…

计算机进制转换a是什么,[计算机基础] 计算机进制转换:二进制、八进制、十进制、十六进制...

计算机进制转换:二进制、八进制、十进制、十六进制 一、什么是进制 在生活中,我们通常都是使用阿拉伯数字计数的,也就是10进制,以10为单位,遇10进一,所以是由0,1,2、3、4、5、6、7、…

用计算机进行进制换算方法,计算机进制怎么转换?计算机进制换算方法

如果你正在学习计算机知识,必然需要掌握计算机进制的换算方法。很多同学对于进制换算已经炉火纯青,即便我们可以使用科学计算器程序进行换算,但多数时候使用计算器还没有我们心算更快呢,你说是吧。如果是复杂式我们还需要打草稿,使用计算器反而添乱。阅读下文了解计算机进…

计算机中的进制

进制概念 今天我们来复习一下进制之间的转换,首先我们先来了解一下什么是进制?进制也就是人们规定的一种进位的方法,比如二进制就是逢二进一,也就是说0,1之后就该进位,然后就是10,11&#xff0c…

计算机中的进制(二进制,八进制,十进制,十六进制)

编写背景 最近做了个项目&#xff0c;对接蓝牙设备通信&#xff0c;对接的时候第三方的设备需要协议加密&#xff0c;就用到了位运算(&,>>,<<),只是这个加密算法不是我写的&#xff0c;是公司的架构师写的&#xff0c;他是写java的。呵呵呵…我看了他的javasc…

计算机进制转换:二进制、八进制、十进制、十六进制

一、什么是进制 在生活中&#xff0c;我们通常都是使用阿拉伯数字计数的&#xff0c;也就是10进制&#xff0c;以10为单位&#xff0c;遇10进一&#xff0c;所以是由0&#xff0c;1&#xff0c;2、3、4、5、6、7、8、9组成的&#xff1b;而在计算机中&#xff0c;计算机是无法…

计算机的进制转换

目录 一、计算机的数制1.1数制1.2数位1.3基数1.4位权 二、数制的表示三、数制分类3.1十进制3.2二进制3.3十六进制 四、数制转换4.1二进制、十六进制转换为十进制4.2二进制转换为十六进制4.3十进制转换为二进制、十六进制4.4常见的八位二进制数 五、存储量总结 一、计算机的数制…