当前位置: 首页 > article >正文

深度学习笔记14-卷积神经网络2

1.卷积神经网络的结构

        卷积神经网络,是包含卷积运算且具有深度结构的前馈神经网络。在卷积神经网络中,包含卷积层、池化层和全连接层三种重要的结构。相比前馈神经网络,卷积层和池化层是新增的网络结构,在提取特征时,卷积神经网络使用卷积层代替了全连接层,可以通过增加卷积层和池化层的数量,得到更深的卷积神经网络。

卷积层和池化层

        卷积层用于特征提取,池化层用于特征压缩。

        在一个卷积层中,一般包含多个卷积核,这些不同的卷积核同时与输入图像进行卷积运算,一起提取特征,会输出不同的特征图。卷积层和全连接层类似,卷积运算同样是线性的计算,输入数据经过卷积运算后得到输出结果,这个结果还会输入至非线性的激活函数中。其中最常使用的激活函数时ReLu函数。

        池化层也被称为汇聚层,它的作用是对特征图进行特征选择,降低特征的数量,通过池化层可以有效减少所需要的参数的数量。在池化层后会继续连接全连接层,由于池化层大幅减少了输出特征图的大小,因此全连接层的输入神经元的个数也大幅减少,进而减少全连接层中的参数,提到了计算效率。

        卷积神经网络由卷积层、池化层和全连接层堆叠而成,卷积层和池化层可以一起组合起来成为卷积块,在一个卷积神经网络中可以堆叠N个卷积块,在一个卷积块中又包含了m个连续的卷积层和b个池化层(m通常设置为[2,5],b为0或1),在网络的最后还会有k个全连接层(k通常为[0,3])。

2.卷积神经网络的特点

        在全连接的前馈神经网络中,设l层有n个神经元,第l-1层有m个神经元,这两层之间的连接边就有m*n个,即权重矩阵中包括m*n个参数,当m和n都很大时,权重矩阵会更大,模型训练效率低。

        在卷积神经网络中,使用卷积计算代替全连接计算,其中参数w的数量为卷积核的大小,b的数量与卷积核的个数有关。卷积层具有局部连接和权重共享两个性质。

卷积神经网络:z^{(l)}=w^{(l)}\bigotimes a^{(l-1)}+b^{(l)}

全连接层网络:z^{(l)}=w^{(l)}\cdot a^{(l-1)}+b^{(l)}

局部连接特性

        在卷积神经网络中,对于输出特征图中的数据,都只通过卷积核和上一层的输入数据中的局部窗口内的数据相连,每个输出数据只和卷积核窗口大小的输入数据相连接。从而构成一个局部连接网络,局部连接会使得两侧数据之间的连接数大大减少。通过卷积核,提取局部特征,这就是神经网络的局部连接性。

权重共享特性

        权重共享性也被称为参数共享。在一个卷积层中,图片的输入数据,会和相同的卷积核w进行卷积运算,无论是输入图片有多少数据,都会和相同的卷积核进行卷积运算,这就是权重共享性。卷积核的权重共享性,使得卷积神经网络可以处理平移、旋转、缩放的图像。

3.多通道输入、输出和批量操作

多通道输入

        黑、白、灰色图时单通道图像。对于彩色图像,处理高和宽两个维度,还有RGB,也就是红、绿、蓝,3个不同颜色的通道。如果彩色图像的高和宽分别是h和w,那么该图像就可以表示成一个3*h*w的多维数组。3代表3个颜色通道。

        如果使用卷积核对彩色图像进行特征提取,就需要同时设置3个不同的卷积核。将彩色图像输入至包含3个卷积核的卷积层进行计算,这个过程就是多通道输入。每个输入通道需要与对应的卷积核计算,计算后将对应位置的计算结果累加求和,得到最终的输出结果。无论输入通道有多少个,由于对各个通道的结果做了累加,所以多通道输入的输出通道的数任然是1。

多通道输出

        多通道输出就是使用不同的卷积核,提取特征,提取特征后输出不同的特征图。当多个输出通道进行卷积运算时,每个输出通道分别进行卷积运算。将不同的输出通道的结果叠放在一起,就得到了最终的输出结果。另外,卷积操作通常会加上偏置项b,每个输出通道,都会独立使用一个偏置参数b,有几个输出通道,就有几个偏置参数。

批量操作

        在卷积神经网络中的计算中,可以将多个样本放在一起,形成一个mini-batch,也就是小批量。对一组小批量数据同时进行计算,就被称为数据的批量操作。

4.卷积神经网络的池化层

        池化层,也被称为汇聚层、子采样层。池化层的主要作用是对卷积层生成的特征图进行下采样,减少特征图的尺寸。当使用池化层进行特征选择后,特征数量和参数数量随之减少,在一定程度上防止过拟合。输出特征图经池化层特征选择后,可以有效减小全连接层的输入神经元的个数,从而提高计算效率。

池化层计算

        池化层计算和卷积层计算类似,需要设置一个固定形状的窗口,该窗口就是池化窗口。池化层会基于窗口中的输入数据,计算输出结果。

        创建的池化层计算包括最大池化和平均池化,最大池化会计算窗口内元素的最大值,平均池化会计算窗口内元素的平均值。

池化层的参数

        池化层和卷积层一样,同样可以设置填充和步幅两个参数。一般常用的池化层参数为,窗口大小2*2,步幅2,填充0。通过这样的池化运算,输出特征图的高和宽相比输入数据都会减半。

        类似于卷积层,池化层也可以处理多通道的输入数据,但是处理方式不同。池化层在处理多通道数据时,会对每个输入通道分别进行池化。因此,池化层的输出通道数和输入通道数相同。池化层通过使用一个区域的统计特征,代替具体的输出值,使得特征图尺寸减小的同时,保留住大多数重要的特征信息。

5.卷积神经网络的全连接层

        在卷积神经网络的最后,会设置1-3个全连接层,这些全连接层与单纯的前馈神经网络中的全连接层没有区别。它们会接收池化层计算出的特征图。

        卷积神经网络的卷积层的作用是,特征提取。但是对图像进行基础特征提取,是无法确定图像的具体类别的。需要将基础特征进行组合使用,进行最终的分类的判断。将全连接层放在卷积层和池化层的后面 ,其作用是,组合卷积层输出的基础特征,最终确定图像属于哪个类别。全连接层具有组合特征和分类器的功能。

全连接层的使用方法

        在使用全连接层前,需要将卷积层或池化层输出的多个二维特征图展平(flatten)为一个一维的向量。将这个向量输入到全连接层。

卷积层和全连接层

        实际上,如果输入特征图大小与卷积核的大小相同,那么该卷积层的计算效果和全连接层是相同的。因为卷积核不会滑动,卷积核中的w参数相当于全连接层中的w参数。所以说,卷积层与全连接层在某些情况下是可以互换的,在整个卷积神经网络中,全连接层起到了汇总和总结的作用。


http://www.kler.cn/a/394622.html

相关文章:

  • C语言性能优化:从基础到高级的全面指南
  • fpga系列 HDL:ModelSim显示模拟波形以及十进制格式数值
  • 华为手机建议使用adb卸载的app
  • 【最新】沃德协会管理系统源码+uniapp前端+环境教程
  • hive中的四种排序类型
  • Markov test笔记
  • C语言实现3D动态爱心图形的绘制与动画效果
  • 抖音小程序蓝海冷门玩法,前期搭建好后期自动变现模式解析!
  • 【IT人物系列】之Spring创始人
  • 计算机网络 (1)互联网的组成
  • AI赋能电商:提升销售效率与用户体验的新引擎
  • 飞腾平台Arm NN软件栈安装使用指南
  • 钉钉小程序 - - - - - overflow无效?
  • APEX高性能减速机MG/MGH系列 高负载应用下的精准动力传输
  • Linux sed 的多个用法
  • 微信小程序 — 农产品供销系统
  • 无人机应用场景:石油管道巡检技术详解
  • 经典文献阅读之--DROID-SLAM(完美的深度学习slam框架)
  • 使用Java爬虫获取商品订单详情:从API到数据存储
  • STM32完全学习——系统时钟设置
  • 从华为到创业公司
  • 蓝桥杯竞赛单片机组备赛【经验帖】
  • 【计算机网络】五层对比,物理设备对比
  • 阿里巴巴首推Chinese SimpleQA,全方位检验大型语言模型在中文事实性问答上的表现
  • Mac中安装OhMyZsh
  • 构建安全的数据库环境:群晖NAS安装MySQL和phpMyAdmin详细步骤