一、实验目的
1、 掌握PyTorch基于MNIST数据的CNN网络。
2、 掌握神经网络算法,重点是卷积神经网络算法。
二、实验原理
神经网络是当前深度学习领域普遍所应用的。它是一种高度并行的信息处理系统,具有很强的自适应学习能力,不依赖于研究对象的数学模型,对被控对象的系统参数变化及外界干扰有很好的鲁棒性,能处理复杂的多输入、多输出非线性系统,神经网络要解决的基本问题是分类问题。
卷积神经网络(CNN)主要是用于图像识别领域,它指的是一类网络,而不是某一种,其包含很多不同种结构的网络。不同的网络结构通常表现会不一样。
LeNet-5 这个网络虽然很小,但是它包含了深度学习的基本模块:卷积层,池化层,全连接层。是其他深度学习模型的基础。LeNet-5共有7层,不包含输入,每层都包含可训练参数;每个层有多个Feature Map,每个FeatureMap通过一种卷积滤波器提取输入的一种特征,然后每个FeatureMap有多个神经元。
MNIST是一个手写体数字的图片数据集,该数据集来由美国国家标准与技术研究所(National Institute of Standards and Technology (NIST))发起整理,一共统计了来自250个不同的人手写数字图片,其中50%是高中生,50%来自人口普查局的工作人员。该数据集的收集目的是希望通过算法,实现对手写数字的识别。MNIST 数据集可在MNIST handwritten digit database, Yann LeCun, Corinna Cortes and Chris Burges 获取, 它包含了四个部分:
Training set images: train-images-idx3-ubyte.gz (9.9MB, 解压后47MB, 包含60,000个样本)
Training set labels: train-labels-idx1-ubyte.gz (29KB, 解压后60KB, 包含60,000个标签)
Test set images: t10k-images-idx3-ubyte.gz (1.6MB,