




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
备课日期:年月日授课时间课时(理论+实验)周次星期:节次:授课课题深度学习[实践-卷积神经网络]教学目标1.理解卷积神经网络基本原理。2.掌握利用PyTorch框架实现卷积神经网络的基本方法。教学重点利用PyTorch框架实现卷积神经网络的基本方法。教学准备PPT、点名册等。教学方法指导阅读、案例法。教学过程设计备注课题引入【思考】人类观察与区分事物的特点?【关键】(1)能快速把握事物的主要特征。(2)全局与局部观察(近看与远看)。【时间】分钟。教学步骤及主要内容【主板书】§5.10.4卷积神经网络---------------------------------------------------------------------------一、基本原理【主板书】基本原理1.基本机制:卷积神经网络(ConvolutionalNeuralNetwork,CNN)是一种用于提取图像不同层次特征的多层神经网络。基本机制源于生物学上感受野,只有视网膜上的特定区域(感受野)才能激活视觉神经元。2.主要应用:卷积神经网络主要应用于图像和视频分析任务中,比如图像分类、人脸识别、物体识别、图像分割等,其准确率远远超出了传统浅层神经网络。3.基本结构:由输入层、卷积层、激活层、池化层、全连接层与输出层组成(即INPUT-CONV-RELU-POOL-FC)。(1)输入层:可对灰度与RGB两类数字图像进行处理。(2)卷积层:主要用来提取不同层次的特征。【强化与拓展】(1)卷积:当前变量取值受相邻变量取值的影响,加权累积。(2)卷积核:用于卷积运算,与输入数据具有相同维度。例1.图像二维3×4的矩阵,而卷积核是一个2×2的矩阵。假设按逐像素(每次移动一个像素)卷积规则。【PPT】卷积示例。【强化与拓展】3×4图像为什么变成2×3?卷积核水平移动空间:4-3卷积核水平移动次数:(4-3)/1+1(1)卷积通过以上方式对图像特征进行提取,不同的卷积核能够提取不同的图像特征,卷积后的输出矩阵为“特征图像”。(2)不同类型的卷积核对图像进行卷积后,可提取图像边缘、棱角、模糊、突出等图像特征的能力。(3)图像填充:使特征图与原图像特征一致,同时保留边缘信息。(4)卷积核移动步长:大步长可提高卷积效率,但可能损失有用信息;小步长可捕获细节特征,但计算量较大。(5)不同层次卷积效果:底层卷积层偏向于提取图像底层、局部特征(如物体边缘),而高层卷积层则可提取包含更丰富语义信息的全局特征(如物体结构)。(3)激活层:激活函数可以引入非线性因素,主要作用是提供神经网络的非线性建模能力。【强化与拓展】常用激活函数:Sigmoid、Tanh与ReLU。(4)池化层:即“下采样”,其目的在于对特征图进行压缩处理以降低计算复杂度或减小模型的规模、突出主要特征或提高特征的鲁棒性与在一定程度上控制过拟合。【强化与拓展】常用池化操作:平均池化与最大池化。【PPT】池化示例。(5)全连接层:全连接层将最后的特征输出映射到线性可分的空间以完成分类或回归任务。即将获得的卷积(包括激活与池化等处理)结果转换为向量输入至分类器(如Softmax分类器)进行分类。【时间】分钟。【提问】。二、编程实现〖PPT〗演示:利用MNIST数据实现卷积神经网络。1.导入库importtorchfromtorchimportnn,optimfromtorch.autogradimportVariablefromtorch.utils.dataimportDataLoaderfromtorchvisionimportdatasets,transformsimporttorch.nn.functionalasFimportmatplotlib.pyplotasplt2.产生数据train_dataset=datasets.MNIST(root='./data/',train=True,transform=transforms.ToTensor(),download=False)test_dataset=datasets.MNIST(root='./data',train=False,transform=transforms.ToTensor())train_loader=DataLoader(dataset=train_dataset,batch_size=batch_size,shuffle=True)test_loader=DataLoader(dataset=test_dataset,batch_size=batch_size,shuffle=False)3.构建卷积神经网络classCNN(nn.Module):def__init__(self):super(CNN,self).__init__()self.conv1=nn.Conv2d(1,20,5,1)#28+1-5=24self.conv2=nn.Conv2d(20,50,5,1)self.fc1=nn.Linear(4*4*50,500)self.fc2=nn.Linear(500,10)【强化与拓展】Conv2d与MaxPool2d函数使用方法。nn.Conv2d(self,in_channels,out_channels,kernel_size,stride=1,padding=0,dilation=1,groups=1,bias=True))nn.MaxPool2d(kernel_size,stride=None,padding=0,dilation=1,return_indices=False,ceil_mode=False)4.训练自动编码解码器#定义损失函数Loss=nn.CrossEntropyLoss()#设置优化器Opt=optim.SGD(net.parameters(),lr=0.02)#训练模型T=10forepochinrange(T):Loss_Sum=0.0#累积训练误差Acc_Sum=0.0#累积训练精度fori,datainenumerate(train_loader,1):img,label=dataimg=Variable(img)label=Variable(label)label_pred=net(img)#前向传播L=Loss(label_pred,label)#计算误差Loss_Sum+=L.data.numpy()#误差累积_,label_opt=torch.max(label_pred,1)#求取预测概率对应的类别Acc_Sum+=(label_opt==label).float().mean()#累积精度Opt.zero_grad()#梯度清零L.backward()#反向传播Opt.step()#更新参数#显示误差与精度变化if(epoch==0)|((epoch+1)%2==0):print('Epoch:[{}/{}],Loss:{:.4f},Accuracy:{:.4f}'.format(epoch+1,T,Loss_Sum/i,Acc_Sum/i))5.测试自动编码解码器#测试神经网络Acc_Sum=0.0#累积精度fori,datainenumerate(test_loader,1):img,label=dataimg=Variable(img)label_pred=net(img)_,label_opt=torch.max(label_pred,1)Acc_Sum+=(label_opt==label).float().mean()print('Accuracy:{:.4f}'.format(Acc_Sum/i))【时间】分钟。【提问】。课堂练习其他无小结与作业课堂小结(1)卷积神经网络的基本结构:输入层、卷积层、激活层、池化层、全连接层等。(2)卷积操作后图像尺寸变化。(3)激活层的类型与目的。(4)池化层类型与目的。(5)Conv2d()与MaxPool2d的使用方法。本课作业利用CIF
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论