资源简介 (共45张PPT)第2单元 第2课卷积神经网络及其应用(清华大学版)八年级下1核心素养目标3新知讲解5拓展延伸7板书设计2新知导入4课堂练习6课堂总结课后作业801核心素养目标信息意识计算思维数字化学习与创新信息社会责任意识到深度学习模型可能会带来偏见(如数据偏见、算法歧视等),并且在应用这些技术时要考虑社会的公平性、隐私保护等问题。通过掌握CNN的基本原理和方法,学生能够运用计算机技术来解决实际生活中的复杂问题,从而在各种行业中实现创新应用。通过学习CNN,能掌握如何分解问题、设计算法(卷积、池化等操作)优化网络结构(如调整超参数、选择不同的网络架构等)。能够具备处理和分析海量数据的能力,理解深度学习模型如何通过处理大数据来完成任务,如图像识别、视频处理等。02新知导入本课中你将学习:什么是卷积神经网络如何训练卷积神经网络如何用训练好的网络进行推理02新知导入随着层数的加深,神经网络从数据中提取特征的能力也大大提升,但新的问题紧跟而来:相对于 CSV数据等表格数据,图像和语音中的数据量要大很多。网络层数、图像分辨率等因素的增加,使所需要的参数急剧增长,不仅会导致模型训练时间变长,模型推理效率变低,甚至还会导致模型无法正常训练。于是,科学家再次从生物神经学领域找到灵感,仿照人类的视知觉处理机制提出了卷积神经网络,有效地解决了神经网络在计算机视觉领域的应用难题。02新知导入03新知讲解一、认识卷积神经网络卷积神经网络(convolutional neural network,CNN)是一种特殊的神经网络,在深度学习中应用非常广泛,也是深度神经网络中最具影响力的一种模型。要理解卷积神经网络,首先要了解图像的数字化原理。03新知讲解1.图像的数字化原理图像是由一个个像素点构成的。对于黑白图像来说,像素点的值只有两种,即 0和1,分别代表黑、白两种颜色。而灰度图像中像素点的亮暗程度,则是通过0~255 的数值控制,从而显示出不同的图案。将一张灰度图像压缩为 25x25 像素,再通过 Python 代码读取图像灰度值,结果如图 2.2.1 所示。03新知讲解彩色图像的数字化原理与黑白图像类似,只不过是用RGB(红、绿:蓝)三原色混合而得到各种色彩。如图2.2.2所示,用Python 代码读取彩色图像,每一个像素点会出现由三个0~255 的数值组成的列表,这三个值对应像素点的 R、G、B 三种颜色。图 2.2.2 中的[255 255 255] 表示白色,[174 179 184]表示一种带有蓝绿色调的浅灰色。03新知讲解2.卷积神经网络的作用神经网络用图像作为训练数据时,需要读取整幅图像作为神经网络模型的输入。以全连接神经网络为例,假如输入的是一幅100x100 像素的灰度图像,那么输入层就有 100x100个神经元,隐藏层任何一个神经元都将有 100x100 个参数需要训练,即使隐藏层和输入层的神经元数量一致,仅仅两层神经网络就有 100x100x100x100 个参数。03新知讲解这个计算量非常可怕。因此,神经网络层数不断增多,会出现“参数爆炸”的情况。如图2.2.3 所示,x表示输入元素,每一根连接线代表一个参数,图(b)比图(a)多了2个输入数据,参数却多了 10个。如果输入元素由5x5像素(5行5列25 个像素)的图像变为 10x10 像素的图像,参数会迅速变为原来的很多倍。03新知讲解科学家在脑神经科学领域找到了新的突破,他们参考动物视觉感受野(指单个或一组神经元对视觉刺激产生反应的区域范围)的理论设计了卷积神经网络。卷积神经网络中有两种特殊的网络,分别为卷积层和池化层。卷积层用来提取图像的特征,池化层用来减少数据的运算量。对于计算机来说,图像不过是一个充满数字的表格,这种表格在数学上叫做数字矩阵,而卷积和池化就是数字矩阵中的两种重要的“计算”方法。03新知讲解如图 2.2.4 所示,与全连接神经网络相比,卷积神经网络的卷积层每个神经元仅与上一层的某个区域连接,这样参数量就大大减少。03新知讲解卷积神经网络最早由图灵奖获得者杨立昆(Yann LeCun)教授在1998年提出,随后在各个方面被广泛应用。2012年辛顿团队夺冠的 AlexNet 是卷积神经网络的代表作之一。经过多年的发展,除了图像处理之外,语音识别、自然语言处理等领域也都离不开卷积神经网络。03新知讲解二、LeNet 模型的搭建LeNet 模型由杨立昆提出,是第一个成功应用于数字识别问题的卷积神经网络,在经典的数字手写体(MNIST)数据集上,LeNet模型可以达到约 99.2%的正确率。LeNet模型是卷积神经网络人们的模型,至今依然被广泛应用于一些简单的图像分类场景。03新知讲解1.认识 LeNet 模型的结构LeNet 模型有多个版本,一般指 LeNet-5 模型。如图 2.2.5 所示,在每一个卷积层的后面都有一个池化层,用来减少数据和参数的数量。很多人模仿LeNet 模型,通过增加或者减少卷积层和池化层的数量,搭建解决特定任务的神经网络模型。如果数据集使用的是灰度图像,特征比较明显且图像尺寸较小,直接使用 LeNet 模型一般也能取得很不错的效果。03新知讲解LeNet-5 模型共有7层,输入的是 32x32像素的灰度图像,经过一层卷积后,得到6个28x28的特征图;这些特征图经过池化后,变为6个14x14的特征图;特征图再依次经过卷积、池化、展平处理,得到120个1x1的特征图;最后经过两个全连接层后,实现10个手写数字分类。LeNet-5 模型的参数数量仅为6万多个,是一个效率非常高的模型。03新知讲解2.用 BaseNN 搭建 LeNet 模型使用 BaseNN 可以搭建出一个LeNet 模型,且代码输出结果会呈现各层说明。运行结果如下。03新知讲解上面的代码中,用“model.add()”添加神经网络层,其中 Conv2D 表示添加的是卷积层,MaxPool表示添加的是最大池化层,Linear表示添加的是全连接层。七层网络结构中前几层用 ReLU 激活函数,最后一层用Softmax激活函数。03新知讲解三、LeNet 模型的训练深度学习是机器学习的一个重要分支,因此,深度学习的模型训练流程和机器学习是一致的。相对来说,深度学习在训练数据的容量、模型搭建的难度、训练方法的复杂性和对算力的要求方面,都要超过其他机器学习。尤其是深度学习的训练数据多、模型复杂,算力设备对训练速度的影响很大。“数据是燃料,模型是引擎,算力是加速器”,支持并行计算的GPU 设备成为深度学习模型训练的基础设施。03新知讲解1.常见的深度学习模型训练工具深度学习的开发框架都可以用来训练深度学习模型,但难度较高。为了降低模型训练的技术门槛,一些企业和研究机构逐步推出了专用的深度学习模型训练工具或者平台,实现以低代码或者无代码(也称零代码)的形式训练模型,即不写代码或者写一点代码,就能训练出深度学习的模型。03新知讲解从用 BaseML 训练机器学习模型的过程中,可以看出训练模型的程序代码其实非常简单,甚至看不到分支结构和循环结构。因此,开发无代码训练深度学习模型的工具的难度并不高。一些面向青少年学习人工智能的平台也增加了无代码训练的插件,如图2.2.6所示的是 XEdu 系列工具中的EasyTrain。03新知讲解2.用无代码工具训练 LeNet 模型EasyTrain 是 XEdu 中的无代码训练插件,需要在 MMEdu 和 BaseNN的环境下运行。借助 EasyTrain,不需要编写代码就可以训练一个 LeNet 模型,适用于人工智能入门初学者。03新知讲解启动 EasyTrain后,浏览器将自动打开一个本地网页。页面上方呈现一个进度条,根据进度流程的提示完成所有操作即可完成模型训练。LeNet是一个图像分类模型,先选择“分类任务”,再选择“LeNet”模型,完成“数据集选择”。然后开始设置参数,其中分类数量要和数据集保持一致,最后单击“生成代码”按钮,网页中将生成一段训练代码,如图 2.2.7 所示。03新知讲解单击“进入训练”按钮,浏览器便会跳转至训练页面。页面中的“loading”表示模型正在训练。如图 2.2.8所示,训练过程中会可视化呈现两个图,分别是损失函数曲线(Loss Chart)和识别准确率曲线(AccuracyChart ),图中的横坐标为训练轮数,纵坐标为对应数值。训练结束后,页面上会显示模型保存的路径。03新知讲解使用 EasyTrain 训练模型虽然不用编写代码,但也需要做一些准备工作并了解深度学习的知识。比如,要准备一个符合要求的数据集,并保存在规定的位置(关于数据集的格式在第3课介绍)。再如,了解各种模型和超参数的作用。超参数是模型开始训练之前设置值的参数。03新知讲解超参数设置是训练模型工作的重点,如轮数(epoch)、学习率(lr)等。轮数表示要训练多少轮,学习率用来控制模型在训练过程中的模型权重更新速度。第一次训练模型时直接使用默认值训练即可。随着对模型和超参数理解的加深,我们就能基于其他网络结构(如 MobileNet、ResNet 等)训练出更好的模型。03新知讲解阅读自动化机器学习(automated machine learning,AutoML)的出现是为了简化机器学习的整个流程,让非专业的用户也能够利用机器学习的技术解决实际问题。03新知讲解阅读可以把 AutoML想象成一台“自动洗衣机”。训练模型就像我们把脏衣服放进洗衣机,选择合适的洗涤程序,按下“启动”按钮,洗衣机就会自动完成清洗、漂洗、脱水等一系列复杂的过程。同样,只要提供数据,AutoML也会自动完成数据预处理、模型选择、超参数调整、训练、评估等一系列复杂的机器学习流程。即使是对机器学习一窍不通的人,也能够轻松地利用机器学习解决实际问题。03新知讲解借助 EasyTrain,不需要编写代码就能训练各种经典的卷积神经网络模型,用来解决各种图像分类的问题。请以小组为单位,使用XEdu内置的昆虫数据集训练LeNet 模型,并体验模型的推理准确度。核心实践内容包括:(1)在 EasyTrain中选择分类任务,选择LeNet模型和昆虫数据集完成类别、数量等参数设置并进行训练。(2)生成代码并启动模型训练,观察准确率变化和训练时长。(3)使用模型转换得到的 ONNX模型和代码,按照代码说明运行并输入测试集中的图片进行推理。注:ONNX(open neural netvork exchange)是一种开放的深度学习模型交换格式。挑战04课堂练习一、选择题1、卷积神经网络的核心操作是什么?A. 反向传播 B. 卷积操作C. 数据预处理 D. 激活函数2、在卷积神经网络中,什么层用于降低图像的分辨率?A. 卷积层 B. 池化层C. 全连接层 D. 激活层3、卷积神经网络中常用的激活函数是哪个?A. Sigmoid B. TanhC. ReLU D. SoftmaxBBC04课堂练习4、在卷积神经网络中,卷积层的作用是?A. 进行数据降维 B. 进行特征提取C. 进行全连接 D. 进行激活操作二、判断题1、卷积神经网络在图像分类中,池化层的作用是减少计算量并保留重要信息。( )2、卷积神经网络的训练过程完全依赖于监督学习。( )3、卷积神经网络主要用于处理结构化数据。( )4、在CNN中,池化层会增加网络的计算复杂度。( )B√√XX04课堂练习三、操作题图像分类任务目标:使用卷积神经网络进行手写数字识别(MNIST数据集)。任务:使用Keras或PyTorch搭建一个基本的CNN模型来识别MNIST数据集中的数字。训练并评估模型的准确率。调整模型的结构(例如卷积层和池化层的数量),观察对模型性能的影响。05拓展延伸卷积神经网络的高级结构ResNet(Residual Networks)通过引入“残差连接”(residual connections)来解决深度神经网络训练中的梯度消失或梯度爆炸问题。残差连接允许信息跨层传播,避免了随着层数增加,信息和梯度的丢失。具体创新点包括:残差块:每个残差块将输入信号和通过卷积层的输出信号相加,这种跳跃连接使得深层网络的训练变得更加容易。提高模型的深度:残差连接使得可以训练非常深的网络,如ResNet-50、ResNet-101等,而不会遭遇性能下降的问题。05拓展延伸卷积神经网络的高级结构Inception网络(或GoogleNet)通过引入多尺度的卷积核来捕捉不同尺寸的特征,采用了“混合卷积”的方式。这种结构的创新包括:Inception模块:每个模块中包含不同大小的卷积核(1x1, 3x3, 5x5),以及池化操作,这些操作可以并行进行,然后将结果合并。1x1卷积:用1x1卷积来减少特征图的维度,从而减少计算量。05拓展延伸深度学习中的迁移学习与微调迁移学习是一种使用在一个任务上训练好的模型,来帮助解决另一个相关任务的方法。迁移学习有两个常见策略:1. 直接迁移:将预训练的模型应用于一个相似的任务,直接使用预训练权重。2. 微调(Fine-tuning):冻结大部分网络层,只调整某些层的权重,特别是网络的最后几层。这种方法可以在相对较少的样本上进行高效的训练,提高模型在新任务上的性能。05拓展延伸深度学习中的迁移学习与微调微调通常涉及将预训练模型的最后几层替换成新的任务相关的层,然后对网络进行少量训练。通过微调,可以在大规模数据集(如ImageNet)上预训练的模型基础上,通过少量数据对特定任务进行调整,提高模型的泛化能力。05拓展延伸模型压缩与加速量化(Quantization):通过将模型参数从高精度(如32位浮点数)转化为低精度(如8位整数)来减少模型的存储和计算需求。量化后,模型运行速度提高,内存占用降低。剪枝(Pruning):剪枝是通过去除神经网络中不重要的神经元(权重小的连接)来减少模型的复杂度。剪枝可以降低计算量和存储需求,并在某些情况下提高模型的泛化能力。05拓展延伸神经网络的优化算法优化算法在深度学习中至关重要,它们决定了模型训练的效率和稳定性。以下是几种常用的优化算法:SGD(Stochastic Gradient Descent):传统的随机梯度下降方法,通过计算每个样本的梯度来更新模型参数,具有较强的可解释性,但收敛速度较慢。Momentum:通过引入惯性项来加速SGD的收敛过程,避免了振荡,尤其在梯度变化较大的情况下表现良好。05拓展延伸神经网络的优化算法Adam(Adaptive Moment Estimation):结合了RMSprop和Momentum的优点,使用梯度的一阶矩和二阶矩来调整学习率,收敛速度快且表现稳定。RMSprop:通过对过去梯度的平方进行指数衰减加权平均来动态调整学习率,尤其适合处理非平稳目标函数。06课堂总结1引入新知内容卷积神经网络及其应用2认识卷积神经网络3学习LeNet 模型的搭建和训练4完成课堂练习5进行知识拓展1234507板书设计卷积神经网络及其应用1、进行新知引入2、认识卷积神经网络3、学习LeNet 模型的搭建和训练4、完成课堂练习5、进行知识拓展课后作业。1、卷积神经网络项目的应用2、课堂小结08课后作业1、设计一个卷积神经网络应用的项目,选择一个实际问题(如医学影像分析、垃圾分类等),描述如何利用CNN来解决该问题,包括数据收集、网络架构设计、训练和评估等方面。2、总结本课所学内容。https://www.21cnjy.com/recruitment/home/fine 展开更多...... 收起↑ 资源列表 【清华大学版】《信息科技》八年级下册第2单元第2课《卷积神经网络及其应用》.pptx 引入视频.mp4