深度学习 课件汇 第1-6章 深度学习基础- 生成对抗网络与扩散模型_第1页
深度学习 课件汇 第1-6章 深度学习基础- 生成对抗网络与扩散模型_第2页
深度学习 课件汇 第1-6章 深度学习基础- 生成对抗网络与扩散模型_第3页
深度学习 课件汇 第1-6章 深度学习基础- 生成对抗网络与扩散模型_第4页
深度学习 课件汇 第1-6章 深度学习基础- 生成对抗网络与扩散模型_第5页
已阅读5页,还剩306页未读 继续免费阅读

下载本文档

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

文档简介

第一章深度学习基础

第一节深度学习应用1.1深度学习应用深度学习的时代深度学习给世界带来了惊喜ChatGPT、图像及视频生成、AIforScience很多互联网公司都在从事深度学习研究Google、微软、DeepMind、OpenAI、DeepSeek、百度、阿里、腾讯、字节深度学习无处不在计算机视觉自然语言处理语音识别机器人1.1.1深度学习应用:ChatGPTChatGPT:OpenAI开发的一款人工智能聊天机器人程序,在很多领域都有广泛的应用潜力:学习辅助1.1.1深度学习应用:ChatGPTChatGPT:OpenAI开发的一款人工智能聊天机器人程序,在很多领域都有广泛的应用潜力:创意写作1.1.1深度学习应用:ChatGPTChatGPT:OpenAI开发的一款人工智能聊天机器人程序,在很多领域都有广泛的应用潜力:个性化智能助手1.1.1深度学习应用:ChatGPTChatGPT:OpenAI开发的一款人工智能聊天机器人程序,在很多领域都有广泛的应用潜力:虚拟角色扮演1.1.2深度学习应用:图像及视频生成使用Diffusion模型生成各种有趣且充满想象力的图片:1.1.2深度学习应用:图像及视频生成Sora:OpenAI公司发布的一个文生视频大模型

1.1.3深度学习应用:古卷轴破译赫库兰尼姆卷轴文字的破译赫库兰尼姆卷轴是收藏在赫库兰尼姆城图书馆的古代卷轴,在两千年前的苏威火山喷发时化为了焦炭VesuviusChallenge挑战赛于2023年开展,希望能够邀请全球优秀的研究人员利用新的智能技术破译古老卷轴中的文字参赛人员YoussefNader,LukeFarritor,和JulianSchilliger成功地使用深度学习技术破译了4页卷轴,每页有140个字符,这次破译的卷轴内容大约占全部卷轴的5%1.1.3深度学习应用:古卷轴破译赫库兰尼姆卷轴文字的破译赫库兰尼姆卷轴是收藏在赫库兰尼姆城图书馆的古代卷轴,在两千年前的苏威火山喷发时化为了焦炭VesuviusChallenge挑战赛于2023年开展,

希望能够邀请全球优秀的研究人员利用新的

智能技术破译古老卷轴中的文字参赛人员YoussefNader,LukeFarritor,

和JulianSchilliger成功地使用深度学习

技术破译了4页卷轴,每页有140个字符,

这次破译的卷轴内容大约占全部卷轴的5%识别出的字迹的部分结果。“…forwedo[not]refrainfromquestioningsomethings,butunderstanding/rememberingothers.Andmayitbeevidenttoustosaytruethings,astheymighthaveoftenappearedevident!”1.1.4图灵奖获得者1.1.5诺贝尔奖获得者《深度学习》第一章深度学习基础

第二节机器学习李欢南开大学

人工智能学院1.2机器学习机器学习是一类可以从经验中学习的技术学习算法通过提供给它的经验数据来生成模型学习到的模型在面对经验数据中没有出现的情况时,也能提供相应的判断或预测核心:从经验中学习经验来自于数据,用数据训练模型在机器学习中,学习是训练模型的过程通过学习/训练,可以发现合适的参数集,从而使模型执行所需的行为抽象描述:学习一个函数给定输入,输出希望的结果语音识别:输入一段声音信号,输出该段声音的内容图像识别:输入一张图片,输出图片中的内容AlphaGo:输入棋盘上黑白子的位置,输出下一步落子的位置1.2机器学习机器学习使用流程数据准备和预处理模型构建模型训练测试与泛化1.2.1数据准备和预处理经验来源于数据数据集由一个个样本组成每个样本由一组称为特征的属性组成,通常将一个样本表示成一个向量,其中向量的每一个元素

是一个特征例如,一张图片的特征通常是指这张图片的像素值;医疗患者的特征往往是一组标准的特征(如年龄、生命体征和检查结果)在监督学习问题中,要预测的是一个特殊的属性,被称为标签在监督学习中,样本为(特征,标签)1.2.1数据准备和预处理数据准备与预处理主要包括:数据收集需要注意数据的代表性和多样性,来保证模型在未知数据上的表现,即泛化能力数据清洗处理缺失值、异常值、噪声、重复数据特征工程标准化:为了消除特征之间量纲不同导致的取值范围差异的影响,将数据按比例缩放,使其落入一个特定的区域特征选择:去掉某些对输出结果没有影响的特征,减少数据的维度数据集划分训练集:用于训练模型,占总数据集的60%-80%验证集:用于模型选择(比如决定哪个模型更好)和模型超参数调整,占总数据集的10%-20%测试集:在整个训练过程中未曾见过的数据,用于评估模型的效果,占总数据集的10%-20%1.2.2模型构建在数据准备完成后,需要选择合适的模型模型的具体形式取决于我们选择的学习算法及超参数配置线型回归、决策树、SVM、神经网络……选择损失函数性能度量:来衡量模型得到的预测值与对应样本真实标签之间的差别大小常用损失函数举例均方误差:通过计算模型预测值与真实值之间的平方差来衡量误差,也称为平方L2损失交叉熵误差:常用于分类问题,用于衡量模型预测的概率分布()与真实标签的概率分布()之间的差异。对于二分类问题,交叉熵损失函数表示为:其中或,

参数什么是参数?参数可以被看作旋钮,旋钮的转动可以调整模型的行为举例:神经网络的权重、偏置在一个数据集上,可以通过最小化损失函数来学习模型参数的最佳值,找到最合适的模型Y=A*颜色+B*大小+C模型:参数:(A,B,C)

超参数超参数是用于管理机器学习模型的外部配置变量举例:网络层数、宽度、学习率等超参数会决定模型架构和模型复杂性,比如神经网络中的层数和每一层的节点数超参数需要在训练前进行手动配置超参数的值不是通过学习算法学习出来的超参数调优可以手动进行,也可以使用自动算法完成验证集:用于挑选超参数的数据子集原则上,测试样本不能以任何形式参与到模型的选择中,包括设定超参数深度学习领域常说的“调参”,就是指超参数调优1.2.3模型训练从数据中进行学习,获得模型的过程称为训练经过训练,我们可以发现合适的参数集,从而使模型执行所需的行为训练过程通常包含如下步骤:从一个随机初始化参数的模型开始,这个模型基本没有“智能”获取一些数据样本(例如,图片以及对应的标签)调整参数,使模型在这些样本中表现得更好重复第2步和第3步,直到模型在任务中的表现令人满意

优化算法优化算法:搜索最佳模型参数,以最小化损失函数优化算法通过不断调整模型的参数,使得在训练数据上的损失函数值最小深度学习中,大多流行的优化算法通常基于一种基本策略——梯度下降使用梯度下降的过程就像是在一个山谷中寻找最低点,每次都沿着最陡峭的方向(即梯度)走一步,直到到达梯度几乎为0的最低点深度学习中常用的优化算法:SGD、Adam2.4测试与泛化在训练数据上表现良好的模型,不一定在测试数据上有同样的性能“一个模型在测试数据集上的性能”可以想象成“一个学生在期末考试中的分数”“一个模型在训练数据集上的性能”可以想象成“一个学生在模拟考试中的分数”这个分数用来作为期末考试的参考,但测试性能可能会显著偏离训练性能模拟考试考得好,期末考试不一定考得好当一个模型在训练集上表现良好,但不能推广到测试集时,这个模型被称为过拟合就像在现实生活中,尽管模拟考试考得很好,真正的考试不一定百发百中极端例子:只要输入出现在了训练集中,就把训练集中的标签作为对应输出;如果输入没有出现在训练集中,就输出一个随机值该模型在训练数据集上的损失为0,但没有意义仅仅是记住了训练集,没有挖掘训练集中的规律和模式

泛化机器学习的目标:发现某些模式,这些模式捕捉到了训练集潜在的规律,而不是记住了训练集机器学习的主要挑战是算法必须能够在未观测的新输入上表现良好,而不只是在训练集上表现良好。在未观测到的输入上表现良好的能力称为泛化能力训练误差:模型在训练数据集上计算得到的误差训练集上的均方误差:泛化误差/测试误差:模型应用在从原始样本的分布中抽取的无限多数据样本时,模型误差的期望无限多样本上的均方误差:无法计算,需要遍历无穷多样本在随机选取的、未曾在训练集中出现的测试集样本上估计

独立同分布困难:当我们训练模型时,我们能访问的训练样本只是数据中的小部分样本当只能观测到有限的训练集时,如何才能保证测试集的性能呢?独立同分布假设1.数据集中的每个样本都是彼此相互独立的2.训练集和测试集是同分布的,即采样自相同的分布相同的分布用来生成每一个训练样本和每一个测试样本1.2.4.3过拟合、欠拟合决定机器学习模型效果的因素:能否降低训练误差,得到最佳参数能否缩小训练误差和测试误差的差距机器学习的两个主要挑战:欠拟合和过拟合欠拟合是指模型不能在训练集上获得足够低的误差过拟合是指训练误差和和测试误差之间的差距太大示例:学生利用往年的考试题目来辅助学习欠拟合:学生没有好好学习,在往年的考试题目上成绩糟糕过拟合:学生可能试图通过死记硬背考题答案来学习,他甚至可以完全记住往年考试的答案,但是在即将到来的考试中成绩不理想机器学习的目标:发现某些模式,这些模式捕捉到了训练集潜在的规律,而不是记住了训练集避免欠拟合和过拟合1.2.4.3过拟合、欠拟合(左)用线性函数拟合数据导致欠拟合,它无法捕捉数据中的曲率信息(中)用二次函数拟合数据并在未观察到的点上泛化得很好,不会导致明显的欠拟合或者过拟合(右)一个高阶的多项式拟合数据导致过拟合,模型能够精确地穿过所有的训练点,但无法提取有效的结构信息线性函数二次函数高阶的多项式1.2.4.4模型复杂度模型的容量(capacity,学习能力,拟合能力),是指其拟合各种函数的能力通过调整模型的容量,我们可以控制模型是否偏向于过拟合或者欠拟合线性模型的容量是线性函数空间非线性模型(深度学习)的容量是非线性函数空间欠拟合:容量低的模型可能很难拟合训练集前例中的线性函数过拟合:容量高的模型可能记住了不适用于测试集的训练集性质前例中的9阶函数当机器学习算法的容量适合所执行任务和所提供训练数据时,算法效果最佳容量不足的模型不能解决复杂任务好比想要在水盆里捞针,但针根本不在水盆里容量高的模型能解决复杂任务,但当其容量高于任务所需时,过拟合1.2.4.4模型复杂度额外的限制因素,比如优化算法的不完美,意味着学习算法的有效容量可能小于模型的容量实际中,学习算法不能真的找到最优模型,而仅是找到一个可以大大降低训练误差的模型示例:足够宽的两层神经网络可以拟合任意函数,但我们无法通过训练找到这样的函数理想是美好的,现实是残酷的1.2.4.4模型复杂度影响模型泛化的因素举例可调整的参数的数量当可调整的参数的数量(有时称为自由度)很大时,容量很大,模型往往更容易过拟合解决方法:减少参数,DNNv.s.CNN参数采用的值当参数的取值范围较大时,容量更大,模型可能更容易过拟合解决方法:正则化,对参数大小进行限制训练样本的数量:样本数越多,越不容易发生过拟合即使模型很简单,也很容易过拟合只包含一两个样本的数据集而过拟合一个有数百万个样本的数据集则需要一个极其灵活的模型奥卡姆剃刀原则:在同样能够解释已知观测现象的模型中,挑选最简单的那一个二阶函数和高阶多项式都可以拟合训练数据,挑选最简单的那一个1.2.4.4模型复杂度容量和误差之间的典型关系在图的左端,训练误差和泛化误差都非常高。这是欠拟合机制当增加容量时,训练误差减小,直到其渐近最小可能误差当增加容量时,泛化误差先减小,后增大,呈U形曲线,此时进入到了过拟合机制《深度学习》第一章深度学习基础

第三节数学基础李欢南开大学

人工智能学院1.3微积分基础一个函数在某一点的导数描述了这个函数在这一点附近的变化率,也称为函数在该点的切线斜率假设函数在某一区间内有定义,及在该区间内,则定义函数在点处的导数为泰勒展开:一种常见的函数近似方法,其本质是利用幂函数来近似任意函数假设在处有阶导数,则泰勒公式为越大,近似效果越好1.3微积分基础多元函数是自变量具有多个分量的函数,其一般形式为多元函数关于某一分量的导数称为偏导数,记为,具体定义如下即在求偏导的过程中,保持分量恒定不变,仅求该函数关于分量的导数即可1.3微积分基础在深度学习中,函数通常是以嵌套的形式出现的,例如当,且时,与的关系表示为

,我们将这类函数称为复合函数对于复合函数求导,通常利用链式法则链式法则对多元复合函数也成立假设有一可微多元函数,对于任意可微函数,都有变量,则同样可以利用链式法则求得多元复合函数对任意自变量的偏导数:1.4线性代数基础定义含有个元素的向量为对于多元函数,我们对其自变量的所有分量分别求偏导数,并把求得的偏导数写为(列)向量形式,称作该多元函数的梯度,记作定义行列的标量组成的矩阵为1.5概率统计基础期望又称数学期望、均值,反映随机变量平均取值的大小对于离散型随机变量,对于连续型随机变量,方差又称变异数、变方,描述的是一个随机变量的离散程度,即该变量与其期望值的距离,是随机变量与其总体均值或样本均值的差的平方的期望值方差的平方根称为该随机变量的标准差1.5概率统计基础设A与B为样本空间中的两个事件,在事件B发生的条件下,事件A发生的条件概率,记为,具体定义如下:假设A与B为随机事件,事件A在B已发生的条件下发生的概率,与B在A已发生的条件下发生的概率有确定的关系,该关系常被称为贝叶斯法则/公式:

式中称为事件A的后验概率,实际上是已知B发生后A发生的条件概率称为A的先验概率(或边缘概率),其不考虑任何有关B的因素

是A发生后B发生的条件概率,或称为“似然”或者“似然率”总结介绍了深度学习的典型应用回顾了传统机器学习的基本概念,这将用于本课程其他章节中数据准备和预处理模型构建模型训练泛化、过拟合、欠拟合、模型复杂度回顾了微积分、线性代数、概率统计中的基本概念第二章

全连接网络

第一节网络结构线性模型的不足线性模型线性模型的特点任何特征的增大都会导致模型输出的增大(如果对应的权重为正)或减小(如果对应的权重为负)线性模型的不足:无法建模任意两个输入变量间的相互作用示例:猫狗图像分类任务增加输入图像某一位置处像素的强度是否能够增加图像描绘的是猫还是狗的概率?如果不能,线性模型则不适合该问题任何像素的重要性都以复杂的方式取决于该像素的上下文(周围像素的值),而不是自身强度线性模型无法建模任意两个输入变量间的相互作用412.1全连接网络全连接网络/多层感知机通过在网络中加入一个或多个隐藏层来克服线性模型的限制将多个全连接层堆叠在一起,每一层的输出都是后一层的输入,直到生成最后的输出全连接层:每一个神经元都跟前一层和后一层的所有神经元相连可以把前L−1层看作表示,把最后一层看作线性预测器层数:只统计隐藏层和输出层422.1.1生物神经元每个生物神经元由细胞体和多个延伸分支组成,后者又分为树突和轴突轴突的长度可能比细胞体长几倍,或者长几万倍,轴突在其末端分裂成许多分支,这些分支的顶端是称为突触的微小结构,与其他神经元的树突或细胞体相连当生物神经元接收到刺激时,产生电信号并将其沿着轴突传导至突触。在突触处,神经元释放化学物质,这些化学物质影响相邻神经元的电位,从而改变它们的状态。如果某个神经元的电位超过了一个特定的阈值,那么它就会被激活,并向其他神经元发送化学物质,进一步传递信息432.1.2人工神经元人工神经元受生物神经元的工作原理启发而提出人工神经元具有1个或多个输入,模拟了生物神经元接收来自其他神经元的信号这些输入被加权求和,模拟了细胞体对神经信号的积累然后,对加权和进行激活函数计算,模拟了细胞体的兴奋或抑制过程最后,输出激活值传递到下一个人工神经元,模拟了生物神经元通过轴突将信号传递给其他神经元的过程基于这种人工神经元模型的多层神经网络能够模拟和学习复杂的非线性关系,成为人工智能领域的重要基础,也成为了全连接网络的基本组成单元每个神经元都很简单,但多个神经元连接起来就可以处理复杂的问题——连接主义442.1.3隐藏层隐藏层可以增强网络的表达能力将向量作为输入,记第一个隐藏层的输出为其中为输入层和第一隐藏层的权重,为第一隐藏层偏置,为激活函数2.1.3隐藏层将向量作为输入,记第一个隐藏层的输出为其中为输入层和第一隐藏层的权重,为第一隐藏层偏置,为激活函数记第二个隐藏层的输出为其中为第一隐藏层和第二隐藏层的权重,为第二隐藏层偏置记第k个隐藏层的输出为其中为第k-1隐藏层和k隐藏层的权重,为第k隐藏层偏置记输出为,并且网络共有有L层如果为分类任务,一般还要添加一个softmax操作2.1.3隐藏层多个隐藏层可以实现对输入特征的多层次抽象,从而更好地处理数据但目前普遍认为并不是隐藏层越多越好增加隐藏层的数量理论上可以提高特征提取的效果,但会引发两个问题随着隐藏层数的增加,网络参数也会呈爆炸式增长,增加了训练的计算成本类似于边际效用递减规律,当隐藏层数量达到一定程度后,再继续增加隐藏层可能导致应用效果的提升越来越不明显,甚至可能引入过拟合问题因此,在设计神经网络时,需要权衡隐藏层数量与训练难度,并防止过拟合《深度学习》第二章

全连接网络

第二节激活函数李欢南开大学

人工智能学院2.2激活函数激活函数是在神经元输入与输出之间的一种函数变换,目的是为了加入非线性因素,增强模型的表达能力人工神经元中,激活函数是检测某种特定特征的开关激活函数需要具备以下几点性质:非线性函数连续并可导(允许少数点上不可导)可导的激活函数可以直接利用数值优化的方法来学习网络参数激活函数及其导函数要尽可能的简单,有利于提高网络计算效率作为例外,当前常用的GeLU函数并不满足第三条性质sigmoid激活函数脉冲信号进入神经元脉冲信号离开神经元树突神经元轴突突触2.2激活函数2.2.1非线性激活函数的必要性考虑只有一个隐藏层的无激活函数的神经网络等价于没有使用隐藏层的简单线性网络线性函数和线性函数的复合仍然是线性函数为了发挥多层架构的潜力,需要在线性变换之后对每个隐藏单元应用非线性的激活函数有了激活函数,就不可能再将多层感知机退化成线性模型其中2.2.2ReLU修正/整流线性单元(Rectifiedlinearunit,ReLU)给定输入x,ReLU函数输出该元素与0的最大值:ReLU函数通过将相应的激活阈值设为0,仅保留正元素并丢弃负元素具有两个线性部分的分段线性函数,保留了线性函数的很多良好性质当输入为负时,ReLU函数的导数为0而当输入为正时,ReLU函数的导数为1当输入值精确等于0时,ReLU函数不可导此时,一般按导数为0处理在计算机系统中,很少有数值精确等于0“如果微妙的边界条件很重要,我们很可能是在研究数学而非工程”反向传播时,ReLU的导数形式要么让信息流消失,要么让信息流完整通过ReLU函数ReLU函数导数2.2.2ReLU使用ReLU的一个隐藏层一般将初始化为较小的正数,例如0.1,从而使得初始时ReLU对大部分输入呈激活状态,允许通过ReLU函数的优点是计算简单,计算速度快ReLU的缺点是当输入为负数时,ReLU函数的输出及导数都为零,神经元将不会更新权重,此时产生了“deadneurons”问题2.2.2ReLU扩展:LeakyReLU一般取作用:当输入为负时,也允许通过,只是通过的量很小,解决了ReLU“Deadneurons”的问题ReLU及其扩展的设计原则:如果它们的行为更接近线性,那么模型更容易优化2.2.2ReLUPyTorchAPI2.2.3SoftplusReLU:处不光滑Softplus:ReLU的平滑近似Softplus函数ReLU函数2.2.3SoftplusSoftplus处处可导当x是很大的正数时,softplus(x)接近x,其导数接近1当x是很小的负数时,softplus(x)接近0,其导数接近0当x等于0时,softplus(x)=log2,其导数为1/2ReLU在0处不可导与ReLU相比,SoftPlus具有平滑性,但SoftPlus涉及

指数运算,可能导致数值计算上的不稳定性,实际效

果可能不如ReLU函数Softplus函数Softplus函数导数2.2.3SoftplusPyTorchAPI2.2.4Sigmoid将范围(-inf,inf)上的任意输入压缩到区间(0,1)上生物神经元中阈值函数:输入高于某个阈值时取1,低于阈值时取0Sigmoid函数是0-1阈值函数的一个常用近似Sigmoid函数适用于将预测概率作为输出的模型(softmax)

或需要门控机制的模型中(如LSTM)Sigmoid函数Sigmoid函数导数2.2.4SigmoidSigmoid函数的导数当sigmoid输出接近1或0时,导数接近0对于大部分输入,sigmoid的导数接近为0当输入为0时,Sigmoid函数的导数取最大值0.25反向传播时,sigmoid的导数形式让大部分信息流消失Sigmoid导致梯度消失与SoftPlus函数一样,Sigmoid函数涉及指数运算,计算速度较慢ReLU减轻了simoid的梯度消失问题Sigmoid函数Sigmoid函数导数2.2.4SigmoidPyTorchAPI2.2.5tanhtanh(双曲正切函数)将范围(-inf,inf)上的任意输入压缩到区间(-1,1)上关于坐标系原点中心对称tanh函数的导数当tanh输出接近1或-1时,导数接近0对于大部分输入,tanh的导数接近为0反向传播时,tanh的导数形式让大部分信息流消失tanh导致梯度消失tanh函数tanh函数导数2.2.5tanhPyTorchAPI2.2.6GeLUGeLU(高斯误差线性单元)基于高斯误差函数,常用于GPT、BERT等自然语言处理模型是的高斯正态分布的累计函数GeLU是一个非初等函数,形式复杂在代码实现中,GeLU可以近似表示为对于较大的输入,GeLU函数近似于线性输出对于较小的输入,GeLU函数的输出接近0当输入接近于0时,GeLU函数是连续非线性的GeLU也可以看做是ReLU的一种平滑近似虽然GeLU的计算比ReLU复杂,但现代硬件(如GPU)对其有良好的支持GeLU函数GeLU函数导数2.2.6GeLUPyTorchAPI2.2.7其他激活函数PyTorch也实现了nn.ELU、nn.Hardshrink、nn.Hardsigmoid、nn.Hardtanh、nn.Hardswish、nn.LeakyReLU、nn.LogSigmoid、nn.PReLU、nn.ReLU6、nn.RReLU、nn.SELU、nn.CELU、nn.SiLU、nn.Mish、nn.Softshrink、nn.Softsign、nn.Tanhshrink、nn.Threshold、nn.GLU等激活函数PyTorch官方文档/docs/stable/nn.html中的Non-linearActivations部分2.2.8小结一般很少使用sigmoid梯度消失作为例外,LSTM中使用了sigmoid如果一定要使用sigmoid,可以考虑tanh默认选择ReLU尝试ReLU的若干扩展,可能会有提升GeLU在当前的大语言模型中被使用《深度学习》第二章

全连接网络

第三节损失函数李欢南开大学

人工智能学院2.3损失函数损失函数(lossfunction)用来衡量模型的预测值与真实值的偏差,可以反映预测的效果,对模型的学习具有指导作用为什么需要损失函数?在训练过程中,通过调整模型参数来最小化损失函数的值,提高预测的准确性2.3.1均方误差损失均方误差损失函数(MeanSquareError,MSE)通过计算模型预测值与真实值之间的平方差来衡量误差,也称为平方L2损失

为第i个样本的预测值和真实值,为样本数MSE在任何地方都是可微的,从而可以在训练过程中使用基于梯度的优化方法MSE对误差较大的异常值较为敏感一个很大的数的平方会更大2.3.1均方误差损失PyTorchAPI可以想象为模型输出可以想象为样本标签2.3.2平均绝对误差损失平均绝对误差损失函数(MeanAbsoluteError,MAE)通过计算模型预测值与真实值之间的差的绝对值来衡量误差,也称为L1损失相比于MSE,MAE对异常值不太敏感但MAE在0点处是不可微的,增加了训练难度相差66668倍相差144倍2.3.2平均绝对误差损失PyTorchAPI2.3.3平滑L1损失平滑L1损失(SmoothL1Loss),也称为Huber损失,提供了一种在L1损失与平方L2损失之间的平滑过渡当预测值与真实值之间的差异较小时,退化为平方L2损失当差异较大时,退化为L1损失平滑L1损失可能对参数较为敏感,使用时需要必要的调参在一些深度学习应用中,简单的MSE或MAE可能就够了,不需要复杂的平滑L1损失2.3.3平滑L1损失PyTorchAPI2.3.4交叉熵损失对于回归问题,L1损失、平方L2损失与平滑L1损失函数较为常用对于分类问题,交叉熵损失函数更为常见熵使用对数函数来量化数据中的信息内容,熵越高,表示传输的信息越多,熵越少,表示传输的信息越少交叉熵损失函数通过计算模型预测概率分布与真实概率分布之间的差异来衡量误差

交叉熵越小,预测分布越接近真实分布,模型性能越好当只有两个类别时,可以使用二类交叉熵

其中或2.3.4交叉熵损失当每个样本使用one-hotcoding时,即,只有第个位置为1,其余位置都为0时

最小化交叉熵即为最大化,即最大化模型输出的第类概率

直观解释:如果看到了一个第类的样本,那么就调整模型,使得它判定这个样本属于第类的概率最大,

这就是最大似然法最大似然中的负对数似然损失

其中为样本所属类别

当使用one-hotcoding时,交叉熵损失与负对数似然损失是等价的2.3.4交叉熵损失深度学习中,一般将交叉熵与softmax函数结合使用神经网络最后一层的输出一般为一组连续的数值,难以直观判断其实际意义为了实现分类任务,尤其是多分类任务,需要将输出转化为一组能够进行分类判断的数值具体地,我们希望得到每种类别的概率,同时要求概率之和为1,从而方便比较每个类别的概率大小softmax函数通常用于将一组任意范围的实数转换为近似的概率分布本质上是一种归一化函数,利用指数函数将一组实数值映射到零到正无穷之间,然后进行归一化处理,得到近似的概率分布2.3.4交叉熵损失交叉熵和softmax函数是神经网络中最常用的组件之一通过softmax函数将网络的输出转化为近似的概率分布,再使用交叉熵作为损失函数衡量和真实概率分布之间的差异,交叉熵函数值越小,模型分类的准确程度就越高2.3.4交叉熵损失PyTorchAPIPyTorch中的CrossEntropyLoss实现了对的softmax操作,不需要再对调用Softmax函数不需要对input(即)调用Softmax,input对应网络输出,target对应样本标签(即)2.3.5KL散度KL散度损失(Kullback-LeiblerDivergenceLoss)用于衡量不同的分布之间的信息损失,也称为相对熵损失,广泛应用于聚类分析与参数估计等任务中回顾交叉熵损失:当用作深度学习损失函数时,由于并不随网络参数变化而变化(为样本真实标签),因此对KL散度求导和对交叉熵求导的结果是一样的,使用交叉熵作为损失函数和使用KL散度作为损失函数在指导训练时是等价的这里将每个样本对应的和看做标量处理,如果为向量,如分类问题,则需要按前面交叉熵和负对数似然损失中的方式定义2.3.5KL散度PyTorchAPI2.3.6其他损失函数PyTorch也实现了nn.CTCLoss、nn.NLLLoss、nn.PoissonNLLLoss、nn.GaussianNLLLoss、nn.BCEWithLogitsLoss、nn.MarginRankingLoss、nn.HingeEmbeddingLoss、nn.MultiLabelMarginLoss、nn.HuberLoss、nn.SoftMarginLoss、nn.MultiLabelSoftMarginLoss、nn.CosineEmbeddingLoss、nn.MultiMarginLoss、nn.TripletMarginLoss、nn.TripletMarginWithDistanceLoss等损失函数PyTorch官方文档/docs/stable/nn.html中的LossFunctions部分《深度学习》第二章

全连接网络

第四节反向传播李欢南开大学

人工智能学院2.4反向传播基于梯度的优化算法(即一阶算法)是深度学习中最常用的训练算法二阶矩阵昂贵的计算和存储开销,使得二阶算法在深度学习中并不常用一阶优化算法的不足是求解高精度解需要较长时间,但机器学习一般不需要求解到高精度解训练太长时间可能会导致过拟合,甚至需要提前终止训练误差和测试误差有时并不一致,没必要把训练误差降得很低交叉熵v.s.错误率机器学习需要在较短时间求解一个合适精度的解,这是一阶优化算法的优势基于梯度的优化算法的核心开销是计算梯度反向传播:深度神经网络中计算梯度的高效方法注意:反向传播不是网络训练算法,仅是计算梯度的方法,SGD、Adam是网络训练算法2.4.1导数基础回顾当

均为标量时,

关于

的导数,记为

或或,定义为表示在点处的斜率,它表明当

变化时,的变化比例运算法则常数相乘加法乘法2.4.1导数基础回顾将导数由标量扩展到向量

为列向量,

为标量为行向量,其中

梯度

为列向量,与保持一致有文献将写成列向量,根据上下文而定2.4.1导数基础回顾将导数由标量扩展到向量

为标量,

为列向量则为列向量2.4.1导数基础回顾将导数由标量扩展到向量

为列向量,

为列向量

则为矩阵,矩阵的行数为

的元素个数,矩阵的列数为

的元素个数;该矩阵又称为Jacobian矩阵2.4.2链式法则

,由链式法则有链式法则就是将复合函数的导数分解为各个组成函数的导数的乘积2.4.2链式法则考虑令假设,则有写成矩阵形式或者(因为)所有的都受影响带入验证即可2.4.3标量形式的反向传播考虑流经输入层、隐藏层、输出层的信息都是标量的简化网络记训练过程中的目标函数为为了简化描述,本讲考虑只有一个样本的情形在随机梯度下降中,每次迭代随机选择一个小批量样本,计算梯度的平均如何计算和?其中2.4.3标量形式的反向传播前向传播指的是:从输入层到输出层按顺序计算和存储神经网络中每层的结果在前向传播中,只通过作用于最终的,又通过作用于最终的,由链式法则有同样只通过作用于最终的,

又通过作用于最终的,由链式法则有现在只需要计算2.4.3标量形式的反向传播前向传播指的是:按顺序(从输入层到输出层)计算和存储神经网络中每层的结果在前向传播中,只通过作用于最终的,

只通过作用于最终的,由链式法则有这样就把的计算转换为递归计算,递归初始时有2.4.3标量形式的反向传播标量形式的反向传播算法前向传播,存储每一个值和值初始化:for

endfor对所有,返回和反向传播:根据微积分中的链式规则,按相反的顺序从输出层到输入层遍历网络,计算神经网络损失函数关于参数的梯度2.4.3标量形式的反向传播PyTorch实现2.4.4梯度消失和梯度爆炸将递归形式的梯度计算写成连乘形式2.4.4梯度消失和梯度爆炸将递归形式的梯度计算写成连乘形式如果和对所有都比较小,那么累乘之后的在较小时可能会趋于0,这称为梯度消失使用sigmoid做激活函数时,sigmoid对大部分输入的导数都接近于0,即使最大值也只有1/4,因此很小,故sigmoid会导致梯度消失梯度消失使得优化算法训练缓慢每一次迭代前进很小改善梯度消失的方法改用ReLU做激活函数:当时,

,从而减缓梯度消失问题批量规范化或层规范化:对每一层做标准化操作,使每一层的输出稳定在合理范围内,从而即使是对于sigmoid,将其输入标椎化在0附近,其导数不会接近0ResNet中的旁支连接2.4.4梯度消失和梯度爆炸将递归形式的梯度计算写成连乘形式如果和对所有都比较大,那么累乘之后的在较小时可能会趋于无穷大,这称为梯度爆炸梯度爆炸使得优化算法不稳定解决梯度爆炸的方法

正则化/权重衰减:避免极端大梯度截断批量规范化或层规范化《深度学习》第二章

全连接网络

第五节计算图李欢南开大学

人工智能学院2.5计算图一般网络的BP算法涉及大量的矩阵微分,十分繁琐如果更改目标函数,或者激活函数,或者网络结构,需要重新推导针对任意网络结构的自动微分方法?解决办法:计算图计算图使用“图”这种数据结构建模前向传播过程,将变量(包括输入数据、网络参数、中间计算结果等)表示为图中的节点,变量之间的计算关系表示为图中的边,并基于计算图进行反向传播2.5.1前向传播—计算图构建考虑只有一个隐藏层的网络计算图构建过程和是函数的参数,和可以认为是输入数据,他们都是输入变量,每个输入变量一个节点,使用圆圈表示节点和相乘,得到中间变量,记为,并且分别画一条从和到的有向边,在旁边使用标记表示相乘……把的计算分解为一系列加减乘除

平方等最小的计算单元:

前向传播—计算图构建在构造计算图时,需要做一些额外的工作为了方便反向遍历计算图,在基于前向传播构造计算图时,记录每一个节点的创建顺序,一般把输入变量放在前面,中间计算变量放在中间,结果变量放在最后。对于前面例子,节点顺序为2.5.1前向传播—计算图构建在构造计算图时,需要做一些额外的工作为了方便通过链式法则计算梯度,对每一个节点使用集合记录它的所有子节点(有向边指向的下游节点)2.5.1前向传播—计算图构建在构造计算图时,需要做一些额外的工作对每个计算单元,编写输出值对输入值的求导法则。对于上面例子,求导如下:由于计算图的边表示基本的计算单元,因此只需要在程序中编写这些基本计算单元的求导法则,这也是为什么我们要把前向过程拆解到最小的计算单元2.5.2反向传播—计算图使用使用计算图进行反向传播,计算和基于构建计算图时记录的节点创建顺序反向遍历计算图,使用链式法则计算关于每个节点的导数2.5.2反向传播—计算图使用使用计算图进行反向传播,计算和关于的导数为1,根据链式法则,关于的导数,其中我们刚刚计算过,而是基

本计算单元中的输出关于输入的导数,可以直接带入编写的求导法则计算类似地,我们可以沿着与前向计算相反的方向逐步计算关于每个节点的导数2.5.2反向传播—计算图使用根据链式法则,有

对每个节点,在构建计算图时,的子节点总是在之后构建,因此在记录的节点构造顺序里,总是排在它的子节点的前面,从而使得在反向传播时,总是先遍历完的所有子节点再遍历在计算时,所有需要的都已经计算完毕,而可以使用已编写的求导法则直接计算,因此反向传播总是可以执行下去2.5.3基于计算图的反向传播2.5.4全连接网络反向传播—向量形式前向传播为了区分网络层数和向量及矩阵的元素索引,把网络层数索引放到右上角,向量及矩阵的元素索引放到右下角2.5.4全连接网络反向传播—向量形式前向传播:对每个计算单元,输出值对每个输入的导数:其中表示的第行元素构成的列向量,表示对角线元素为向量的对角矩阵2.5.4全连接网络反向传播—向量形式回顾:

不妨设2.5.4全连接网络反向传播—向量形式《深度学习》第二章

全连接网络

第六节亦或问题李欢南开大学

人工智能学院2.6多层的必要性:解决异或问题XOR函数(“异或”逻辑)是两个二进制值x1和x2的运算马文·闵斯基指出单个神经元无法学习异或问题多层网络是否可以学习异或问题?希望设计一个网络,在这四个点X={[0,0],[0,1],[1,0],[1,1]}上表现正确在这个简单的例子中,不考虑统计泛化,唯一的挑战是拟合训练集2.6

多层的必要性:解决异或问题输入层:隐藏层包含两个神经元,使用ReLU激活函数输出层包含一个神经元最终,整个网络表示为2.6

多层的必要性:解决异或问题给出XOR问题的一个解回顾输入4个样本的矩阵表示为将输入矩阵乘以第一层的权重矩阵加上偏置向量c,得到使用ReLU,得到最后乘以一个权重向量w,得到2.6

多层的必要性:解决异或问题为求解异或问题训练一个全连接神经网络,该网络包含一个输入层、一个隐藏层和一个输出层:

隐藏层使用ReLU作为激活函数,输出层不使用激活函数使用均方误差损失作为损失函数使用随机梯度法(StochasticGradientDescent,SGD)训练网络训练结果:总结介绍了深度前馈网络的基本形式常用的激活函数,包括ReLU、LeakyReLU、softplus、maxout、sigmoid、tanh损失函数:L2损失、L1损失、交叉熵损失、KL散度前向全连接网络的反向传播算法,以及针对任意网络结构的计算图上的BP算法两层非线性网络学习亦或问题第三章

卷积网络第一节卷积层从全连接到卷积全连接网络适合处理表格数据,其中行对应样本,列对应特征表格数据更适合建模特征之间的交互当数据中有先验结构时,全连接网络可能不适合示例:图像数据由二维像素网格组成,将图像数据展平成一维向量,再将数据送入一个全连接网络忽略了每个图像的空间结构信息,即左右相邻像素之间的相关性卷积网络是一种专门用来处理具有类似网格结构的数据的神经网络能够更好地处理数据中的空间结构示例:图像卷积神经网络的核心思想是利用卷积操作来提取输入数据的特征,它由多个卷积层、池化层和全连接层组成3.1卷积层卷积运算示例输入数据为4×4大小的矩阵,卷积核为2×2大小的矩阵,输出为2×2大小的矩阵。一般使用(宽度,高度)表示输入数据、卷积核和输出数据的大小。在本示例中,输入特征图大小为(4,4),卷积核和输出特征图大小为(2,2)。3.1.1

卷积运算下图为步幅等于1的卷积运算结果,其中卷积核大小为2×2,输入特征图大小为5×5,输出特征图大小为4×4,输出特征图左上角元素0为输入特征图左上角2×2区域的四个元素(0,0,0,0)与卷积核的卷积运算结果;将窗口向右移动一个元素,得到由元素(0,0,0,1)构成的2×2区域,与卷积核做卷积运算,即0×0+0×1+0×2+1×3,得到输出特征图第一行第二列的元素为3,以此类推,可以得到输出特征图的其它元素。步幅大小影响输出特征图的大小,一般而言,步幅越大,输出特征图越小。3.1.1

卷积运算步幅=1的卷积计算过程

3.1.1

卷积运算3.1.1

卷积网络:PyTorch实现importtorchimporttorch.nnasnnm=nn.Conv2d(16,33,3,stride=2)m=nn.Conv2d(16,33,(3,5),stride=(2,1),padding=(4,2))m=nn.Conv2d(16,33,(3,5),stride=(2,1),padding=(4,2),dilation=(3,1))input=torch.randn(20,16,50,100)output=m(input)in_channels:输入通道数;out_channels:输出通道数;kernel_size:卷积核大小,例如kernel_size=3表示3×3大小的卷积核,kernel_size=(3,5)表示3×5大小的卷积核;

stride:步幅,默认为1;padding:填充,填充位置包括图像的上下左右,例如padding=1使得32×32大小的图像填充为34×34,即上下各填充一行,左右各填充一列。默认设置为0,表示不填充;

dilation:卷积核中一个元素到相邻元素需要走过的距离,默认为1,大于1时表示使用空洞卷积,空洞卷积将在第3.2.2节介绍;groups:分组卷积中的组数,将在第3.2.3节介绍;bias:偏置,默认设置下使用偏置;padding_mode、device、dtype:使用默认设置即可。torch.nn.Conv2d(in_channels,out_channels,kernel_size,stride=1,padding=0,dilation=1,

groups=1,bias=True,padding_mode='zeros',device=None,dtype=None)卷积的三个重要思想局部连接权重共享平移不变性3.1.2

卷积的特点每个输出神经元只与输入数据的一个小区域相关,而不是与整个输入数据相关,即每个输出神经元只与部分输入神经元相连接,我们称该特性为局部连接。当卷积核远小于输入时,输出和输入之间的连接是稀疏的与全连接网络的全连接层相比,局部连接可以大幅减少网络的参数量,从而降低模型的训练难度,提高模型的泛化能力全连接

卷积3.1.2

卷积的特点-局部连接直观解释:当处理图像时,输入的图像可能有百万个像素点,但我们可以通过很小的卷积核来探测一些小的有意义的局部特征人脸识别,眼睛、鼻子、嘴巴等局部特征例如识别一张图像中是否包含一只鸟,我们往往会寻找图像中是否包含鸟嘴、鸟爪等显著特征,即重点关注图像的局部区域。卷积网络中,输出与输入之间的卷积映射对所有输出共享相同的参数,即每一层只使用一个卷积核以识别图像中的鸟为例,可以将卷积核看作是过滤器,使用该过滤器扫描图像的每个区域,检测是否有鸟嘴、鸟爪等显著特征。过滤器的参数不随扫描区域的变化而变化权重共享减少网络的参数量降低网络的训练难度降低模型复杂度,防止过拟合,提高模型泛化能力3.1.2

卷积的特点-权重共享平移不变性是指当输入数据发生移动时,卷积操作的输出也会相应地移动等变表示:先卷积,再移动=先移动,再卷积当图像发生平移变换,卷积后的特征图也发生对应的平移变换以识别图像中的鸟为例,鸟嘴可能位于图像的不同位置,但不管位于什么位置,我们都希望卷积核可以对其正确识别3.1.2

卷积的特点-平移不变性在数学中,两个函数之间的“卷积”被定义为一种积分变换卷积运算通常用星号表示在卷积神经网络的术语中,第一个参数(在这个例子中,函数f)叫做输入,第二个参数(函数w)叫做卷积核,输出有时被称作特征映射表示函数f和g的“叠加”程度在深度学习中,我们通常使用离散卷积而不是连续卷积作为一种强大的数学工具,卷积在深度学习领域具有广泛应用,它可以帮助我们从数据中提取有用的特征,并减少计算量3.1.2卷积的数学性《深度学习》张敬林南开大学

人工智能学院第三章

卷积网络第二节其它卷积类型上一节主要介绍了基本卷积运算,除此之外,针对不同任务会有其它类型的卷积相匹配。本小节将介绍几种典型的卷积:转置卷积空洞卷积分组卷积可分离卷积3.2其他卷积类型定义:转置卷积,又称反卷积或上采样卷积,通常用于将特征图恢复到原始输入大小,或者将特征图从低分辨率映射到高分辨率,后者称为上采样。转置卷积运算示意图转置卷积工作原理:与标准卷积类似,但在进行卷积操作之前需要对输入数据进行填充。如图所示,原始输入特征图大小为2×2,填充之后,将特征图扩大到6×6,然后与3×3大小的卷积核进行卷积运算,其中步幅设置为1,得到4×4大小的输出特征图。因此,转置卷积将2×2大小的输入特征图转化为4×4大小的输出特征图,从而完成上采样。在与卷积核进行卷积运算时,转置卷积首先需要对卷积核进行转置,即翻转180度,转置卷积中的卷积核一般是上一层中进行标准卷积运算的卷积核。转置卷积应用场景:图像处理任务:对特征图进行上采样,如图像分割、图像生成图像分割任务:实现像素级的分类或高精度的分割任务图像生成任务:将低分辨率的特征图上采样至高分辨率的特征图,以帮助生成更加真实且富含细节的图像上采样图像分割转置卷积:PyTorch实现定义:空洞卷积通过在卷积核中插入空洞或在输入特征图中加入跳跃的采样间隔来扩展卷积操作的感受野,而无需增加额外的参数量。感受野可以理解为卷积核能够覆盖的区域范围。常规感受野示例空洞卷积示例3.2.1空洞卷积空洞卷积的优缺点空洞卷积的优势:扩大感受野,在不显著增加参数量和计算负担的前提下,使得卷积核可以覆盖更大的输入区域。卷积核大小为3,空洞率为2的空洞卷积感受野示例空洞卷积的缺陷:1、空洞卷积通过在卷积核中插入空洞来扩大感受野范围,但这会导致卷积运算时跳过一些输入特征图的像素。这种跳跃可能丢失细节信息。2、可能导致网格效应,即由于跳过输入像素从而在输出特征图上形成网格状的伪影,这种效应会影响特征图的平滑性和一致性,进而影响模型的性能。空洞卷积:PyTorch实现定义:分组卷积是指将输入特征图按通道分成若干个组,每一组执行常规的卷积操作,最后将各组的结果合并,形成最终的输出特征图。如果输入特征图的通道数为C,分成G组,那么每一组含有C/G个通道。分组卷积示例,G=23.2.3分组卷积分组卷积的特点分组卷积减少模型参数量,一般来说,当分为G个组时,模型参数量可以减少到不分组时的1/G。节省计算资源,加快模型训练速度。分组卷积的应用场景广泛应用于各种轻量化模型:如手机等移动设备中的深度模型,用于在资源受限的情况下减少运算量和参数量。提取多种不同特征表示:每个小组内的卷积操作可以学习到不同的特征,从而增加网络的表征能力和对不同特征的感知能力。分组卷积:PyTorch实现定义:空间可分离卷积在宽度和高度两个维度对卷积运算进行简化。具体来说,该方法将二维卷积分解成两个一维卷积操作,分别在水平方向和垂直方向进行卷积运算。3.2.4可分离卷积(a)标准卷积(b)空间可分离卷积

3.2.4可分离卷积(a)分组卷积(b)1×1卷积可分离卷积:PyTorch实现《深度学习》张敬林南开大学

人工智能学院第三章

卷积网络第三节池化层池化(pooling)层(也叫汇聚层):使用某一位置的相邻元素的总体统计特征来作为该位置的输出最大池化(maxpooling):输出相邻矩形区域内的最大值平均池化(averagepooling):输出相邻矩形区域内的平均值与卷积层类似,池化层也是作用于输入的局部区域(局部连接)与卷积层不同的是,池化层不包含参数,不需要学习3.3池化层示例:池化窗口为(2,2),步幅为(2,2)默认情况下,池化层的步幅与池化窗口的大小相同。因此,如果使用大小为(2,2)的池化窗口,那么默认情况下,我们得到的步幅为(2,2),保证相邻的池化窗口没有交集,每个输入元素只作用一次池化操作最大池化

平均池化

3.3池化层定义:平均池化对池化区域内的元素值计算平均值。大小为2×2的池化核,将池化核以长度为2的步幅在输入特征图上滑动,滑动过程中覆盖到的输入区域即为池化区域,对每个池化区域内的元素值计算平均作为该区域的输出。3.3.1平均池化平均池化特点:减少模型参数量池化操作会缩小特征图的大小,从而减少后续卷积层的参数量和计算量,提高模型的效率和运行速度。提取平均特征平均池化操作提取了每个区域的平均特征值,有助于保留图像的整体结构信息,同时减小噪声的影响。降低过拟合风险平均池化操作可以减少模型的参数量,降低模型的复杂度,因此能够降低过拟合的风险。定义:将平均池化操作中对池化区域内的元素值计算最大值。大小为2×2的池化核,将池化核以长度为2的步幅在输入特征图上滑动,滑动过程中覆盖到的输入区域即为池化区域,对每个池化区域内的元素值计算最大值作为该区域的输出。3.3.2

最大池化最大池化特点:减少模型参数量与平均池化类似,最大池化也可以减少模型的参数量和计算量。提取显著特征最大池化操作通过计算最大值提取了每个池化区域内的最显著特征,利用这些特征对图像分类、使目标检测等任务具有重要意义。平移不变性最大池化中的计算最大值操作对输入的平移等变换具备一定的不变性。降低过拟合风险最大池化应用场景特点特征突出性要求高平移不变性要求高轻量级模型设计平均池化应用场景特点特征平滑性要求高

轻量级模型设计3.3.3最大池化和平均池化的区别平均池化和最大池化:PyTorch实现《深度学习》张敬林南开大学

人工智能学院第三章

卷积网络第四节卷积层与全连接层比较连接密集度:全连接层构成一个密集连接结构,卷积层构成稀疏连接结构参数共享情况:全连接层中的每条边都有自己的连接权重,而卷积层的卷积核处理不同输入区域时使用相同的权重。模型复杂度:卷积层的参数量远小于全连接层,从而使得卷积层的复杂度更低。特征提取能力:卷积操作能够更好地提取输入数据中的空间信息、局部特征以及不同层次的特征。而全连接层侧重于提取全局特征。输出形状:卷积层的输出通常是一个或者多个特征图,而全连接层的输出是一个一维向量。3.4卷积层与全连接层比较《深度学习》张敬林南开大学

人工智能学院第三章

卷积网络第五节经典网络结构LeNet:最早发布的卷积神经网络之一,由YannLeCun提出,目的是识别图像中的手写数字两个卷积块和三个全连接层每个卷积块包含一个卷积层,一个sigmoid激活函数(ReLU在那时还没出现),和一个平均池化层每一层的高度和宽度在减小,通道数在增加6个通道28*28输入5*5卷积核上下左右每侧填充228*28输出6个通道28*28输入2*2平均池化2*2步幅14*14输出16个通道14*14输入5*5卷积核无填充10*10输出16个通道10*10输入2*2平均池化2*2步幅5*5输出将5*5*16维张量拉成400维向量120*8484*103.5.1经典卷积网络结构:LeNetLeNet特点卷积和池化结构

LeNet首次将卷积和池化操作应用于图像识别任务中,这种结构有助于提取图像的局部特征,从而降低网络的参数数量激活函数

LeNet使用Sigmoid作为激活函数。Sigmoid是当时流行的激活函数,但相较于现在常用的ReLU激活函数,Sigmoid激活函数会导致梯度消失,使得模型训练缓慢全连接LeNet也包含全连接层,用于将卷积层提取的特征信息映射到类别空间,实现分类3.5.1经典卷积网络结构:LeNetAlexNet由AlexKrizhevsky、IlyaSutskever和图灵奖得主GeoffreyHinton于2012年提出在ImageNet挑战赛上以巨大优势获得冠军,标志着深度学习时代的来临AlexNet由5个卷积层、3个池化层和3个全连接层组成3.5.2经典卷积网络结构:AlexNetAlexNet特点更深的网络结构ReLU激活函数局部响应归一化Dropout数据增强使用GPUVGG由英国牛津大学的计算机视觉几何组提出,在2014年的大型视觉识别挑战赛中取得了优异的成绩VGG网络中的每个卷积层都使用了3×3的小卷积核,步幅为1,填充为1,从而使得输入特征图和输出特征图的大小保持一致。在卷积层之后使用窗口大小为2×2、步幅为2的最大池化层,以缩小特征图大小。最后,使用全连接层将前面各层提取的特征信息映射到类别空间,进行分类。3.5.3经典卷积网络结构:VGGVGG网络结构VGG网络结构特点:更深的网络结构:VGG网络非常深,VGG16有16层,VGG19有19层,更深的网络结构有助于提取更加丰富和复杂的特征。小尺寸的卷积核:VGG网络采用了3×3小尺寸卷积核,网络结构非常规整,并且可以通过多层卷积来模拟更大范围的感受野,提高网络的表征能力。重复堆叠:VGG网络使用了大量的重复结构,每个重复的VGG块都由连续的几个卷积层和一个池化层组成,这种设计简单而有效,易于理解和复现。3.5.3经典卷积网络结构:VGGGoogleNet,也叫作InceptionV1网络,由GoogleResearch团队于2014年提出,包括GoogleNet初始模块和带有降维的初始模块两个版本GoogleNet初始模块将多个不同大小的卷积核和池化层并行连接,形成多分支结构,每个分支提取不同尺度和层次的特征,然后将每个分支当中的特征图按通道拼接,形成最终的输出特征图图a所示模块包括4条并行路径,在滤波器串联操作中将不同路径的输出合并。带有降维的初始模块如图b所示,通过使用1×1的卷积减少每条路径的通道数,从而控制滤波器串联后的输出特征图的通道数3.5.4经典卷积网络结构:GoogLeNeta)GoogleNet初始模块b)GoogleNet带有降维的初始模块GoogleNet特点:使用多个不同大小的卷积核并行地提取特征,有助于模型捕捉不同尺度和层次的信息,增强了模型的表达能力3.5.4经典卷积网络结构:GoogLeNeta)GoogleNet初始模块b)GoogleNet带有降维的初始模块

残差网络模块3.5.5经典卷积网络结构:ResNet特点更深的网络结构ResNet具有非常深的网络结构,例如现在常用的ResNet-152有152层残差连

温馨提示

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

评论

0/150

提交评论