人工智能创新实验教程 课件 第14章 卷积神经网络_第1页
人工智能创新实验教程 课件 第14章 卷积神经网络_第2页
人工智能创新实验教程 课件 第14章 卷积神经网络_第3页
人工智能创新实验教程 课件 第14章 卷积神经网络_第4页
人工智能创新实验教程 课件 第14章 卷积神经网络_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

宁夏大学

第十四章卷积神经网络2目录

CONTENT01引言02模型概述03实验数据04模型构建05本章小结引言01引言在简单学习深度学习的背景和上一章较为基础的感知机算法后,本章节将学习深度学习经典的卷积神经网络。卷积神经网络是一种具有局部连接、权重共享等特性的深层前馈神经网络。最早主要是用来处理图像信息。卷积神经网络在短时间内,变成了一种颠覆性的技术,打破了从文本、视频到语音等多个领域所有最先进的算法,远远超出了其最初在图像处理的应用范围。模型概述021卷积神经网络的产生6卷积神经网络是受生物学上感受野机制的启发而提出的。举个简单而直观例子来了解感受野,人眼看到物体的情况,如下图所示:图中眼睛里其中的一个神经元,它会盯着图像,但它并不会盯着图像的每一个像素,它只会盯着图像的一部分。盯的一部分,称为感受野,也就是感受一部分视野。另外一个神经元它又会盯着另外的一部分,但是它们有重叠。这就相当于一些神经元看线,另外一些神经元会看线的方向,这些线和方向会组合成一些更大的感受野,然后组成一些基础图像,基础图像再组合成我们的所看到的图像。2卷积神经网络基本机构7目前的卷积神经网络一般是由卷积层、汇聚(池化)层和全连接层交叉堆叠而成的前馈神经网络。卷积神经网络主要有两个结构上的特性:局部连接、权重共享。这些特性使得卷积神经网络具有一定程度上的平移、缩放和旋转不变性。和前馈神经网络相比,卷积神经网络的参数更少。积神经网络主要使用在图像和视频分析的各种任务(比如图像分类、人脸识别、物体识别、图像分割等)上,其准确率一般也远远超出了其他的神经网络模型。下图给出一种经典的卷积网络结构用于图像分类的一种卷积神经网络2.1卷积层8为什么要使用卷积方法:

用全连接神经网络处理大尺寸图像具有三个明显的缺点:(1)首先将图像展开为向量会丢失空间信息;(2)其次参数过多效率低下,训练困难;(3)同时大量的参数也很快会导致网络过拟合。而使用卷积神经网络可以很好地解决上面的三个问题。卷积层的作用:1.

滤波器的作用。卷积层的参数是有一些可学习的滤波器集合构成的。每个滤波器在空间上都比较小,但是深度和输入数据一致。直观地来说,网络会让滤波器学习到当它看到某些类型的视觉特征时就激活。2.

可以被看做是神经元的一个输出。神经元只观察输入数据中的一小部分,并且和空间上左右两边的所有神经元共享参数(因为这些数字都是使用同一个滤波器得到的结果)。3.

降低参数的数量。这个由于卷积具有“权值共享”这样的特性,可以降低参数数量,达到降低计算开销,防止由于参数过多而造成过拟合。2.1卷积层9卷积层最主要的两个特征就是局部连接和权值共享。

所谓局部连接,就是卷积层的节点仅仅和其前一层的部分节点相连接,只用来学习局部特征。局部感知结构的构思理念来源于动物视觉的皮层结构,其指的是动物视觉的神经元在感知外界物体的过程中起作用的只有一部分神经元。

在计算机视觉中,图像中的某一块区域中,像素之间的相关性与像素之间的距离同样相关,距离较近的像素间相关性强,距离较远则相关性就比较弱,由此可见局部相关性理论也适用于计算机视觉的图像处理领域。因此,局部感知采用部分神经元接受图像信息,再通过综合全部的图像信息达到增强图像信息的目的。这种局部连接的方式大幅减少了参数数量,加快了学习速率,同时也在一定程度上减少了过拟合的可能。2卷积层特点10卷积层的另一大特征是权值共享,比如一个3*3的卷积核,共9个参数,它会和输入图片的不同区域作卷积,来检测相同的特征。而只有不同的卷积核才会对应不同的权值参数,来检测不同的特征。如下图所示,通过权值共享的方法,这里一共只有3组不同的权值,如果只用了局部连接的方法,共需要3*4=12个权值参数,而加上了权值共享的方法后,现在仅仅需要3个权值,更进一步地减少参数数量。2.1卷积层11如图可以看到如下几个参数:两个神经元,即depth=2,意味着有两个滤波器。数据窗口每次移动两个步长取3*3的局部数据,取stride=2、zero-padding=1。然后分别以两个滤波器filter为轴滑动数组进行卷积计算,得到两组不同的结果。

左边是输入(7*7*3中,7*7代表图像的像素/长宽,3代表R、G、B三个颜色通道)中间部分是两个不同的滤波器Filterw0、Filterw1最右边则是两个不同的输出、随着左边数据窗口的平移滑动,滤波器Filterw0/

Filterw1对不同的局部数据进行卷积计算。为更好理解卷积层,下图给出卷积层运作动态图:2.2池化层12通常在连续的卷积层之间会周期性地插入一个池化层。它的作用是逐渐降低数据体的空间尺寸,这样的话就能减少网络中参数的数量,使得计算资源耗费变少,也能有效控制过拟合。

池化的做法是对图像的某一个区域用一个值代替,如最大值或平均值。如果采用最大值,叫做max池化;如果采用均值,叫做mean池化。

除了降低图像尺寸之外,下采样带来的另外一个好处是平移、旋转不变性,因为输出值由图像的一片区域计算得到,对于平移和旋转并不敏感。对平移和旋转不敏感mean池化和max池化都可以完成下采样操作,前者是线性函数,而后者是非线性函数,一般情况下max池化有更好的效果。

下图给出池化动态执行过程:2.3全连接层13

卷积取的是局部特征,全连接就是把以前的局部特征重新通过权值矩阵组装成完整的图。因为用到了所有的局部特征,所以叫全连接。和常规神经网络中一样,它们的激活可以先用矩阵乘法,再加上偏差。全连接层,是每一个结点都与上一层的所有结点相连,用来把前边提取到的特征综合起来。由于其全相连的特性,一般全连接层的参数也是最多的。例如在VGG16中,第一个全连接层FC1有4096个节点,上一层POOL2是7*7*512=25088个节点,则该传输需要4096*25088个权值,需要耗很大的内存。下图为一个经典的三通道图像在卷积后的全连接操作:实验数据031数据准备数据集介绍:MNIST是一个手写体数字的图片数据集,该数据集来由美国国家标准与技术研究所发起并整理,该数据集的收集目的是希望通过算法,实现对手写数字的识别。

训练集一共包含了60,000张图像和标签,而测试集一共包含了10,000张图像和标签。可以从Pytorch中导入MNIST数据集。程序会检查用户目录下是否已下载MNIST数据集文件,若有则会直接调用该数据集,并将数据分为训练数据、测试数据;若没有该文件则会自动下载,并完成数据划分。

右图为MNIST数据集部分数据:2数据处理16在数据处理过程中首先导入数据集并将数据切割后放入集合当中,具体实现步骤如下所示:之后将numpy图像数据转换为GPU可使用的tensor格式数据,Pytorch提供transforms函数进行格式转换,代码如下:模型构建041网络搭建18本次CNN构建将使用ReLU作为激活函数,采用MaxPool池化方法,训练时使用交叉熵损失函数,并使用Adam方法进行优化。在之前相关激活函数已经介绍,再次不在赘述。右边给出基础卷积神经网络的搭建方式,本实验仅实现两层网络,有兴趣的同学可自行实现多层网络并对比网络层数与准确率关系。实验环境为: PyTorch>=1.6 Python>=3.6

以及相关基础库2结果分析19在训练集上训练好模型后将测试集数据输入模型,其输出的预测数字与测试集中的标签作对比,检验模型的有效性。代码如下:由训练结果可知2层CNN模型对MNIST数据集的分类准确率为97.6%,测试结果与训练集相当,说明模型未出现过拟合、欠拟合现象模型是有效的。本章小结0521卷积神经网络是受生物学上感受野机制启发而提出的。本章简要介绍了CNN个工作流程、图片卷积、激活、池化等,在MNIST数据集上实现了CNN手写字体分类目前,卷积神经网络已经成为计算机视觉领域的主流模型。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论