第7章 正则化与优化_第1页
第7章 正则化与优化_第2页
第7章 正则化与优化_第3页
第7章 正则化与优化_第4页
第7章 正则化与优化_第5页
已阅读5页,还剩94页未读 继续免费阅读

下载本文档

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

文档简介

第七章正则化与优化徐俊刚深度学习深度学习模型的训练与测试1参数范数正则化2数据增强3Bagging45目录ContentsDropout6提前终止归一化与优化7本章人物8正则化与优化3机器学习中的正则化方法可分为两类:狭义正则化和广义正则化。狭义正则化是指通过在模型的损失函数中增加惩罚项来增强模型泛化能力的方法。广义正则化是指可以减小模型过拟合并使得泛化误差显著降低的所有方法。本章讲述的是广义正则化,主要包括参数范数正则化、数据增强、Bagging、提前终止、Dropout和归一化等。优化4优化(Optimization)是指在给定约束的情况下求解目标函数的最大值或最小值。在深度学习中,深度神经网络的结构复杂、参数多,普遍存在梯度消失或梯度爆炸问题,优化起来非常困难,进而很难找到全局最优解。因此,深度学习算法需要选用合适的优化算法,才能使目标函数收敛。本章讲述的深度学习中的优化算法主要包括常见的梯度下降法和基于动量的方法。优化5深度学习模型的泛化性能非常重要,这意味着即使通过优化算法找到了训练集的近似最优解,仍然可能在测试集上得到很差的结果,即产生了过拟合。因此,在深度学习中,正则化与优化是需要结合来使用的。深度学习模型的训练与测试16深度学习中的数据集划分7在传统的机器学习中,数据集一般划分为训练集和测试集。在深度学习中,往往从训练集中划分出一部分数据样本作为验证集,可以用于调整模型的超参数和对模型的能力进行初步的评估。过拟合与欠拟合8与机器学习一样,深度学习中的过拟合(Over-fitting)是指深度学习模型能很好地拟合训练集样本,而无法很好地拟合测试集样本的现象。为防止“过拟合”,可以选择减少模型参数、降低模型复杂度和正则化等。深度学习中的欠拟合(Under-fitting)是指深度学习模型还没有很好地训练出数据的一般规律,模型拟合程度不高的现象。为防止“欠拟合”,可以选择增加模型参数、增加迭代深度、换用更加复杂的模型等。过拟合与欠拟合9图片来源于https://www.geeksforgeeks.org/regularization-in-machine-learning/数据集10

偏差11

偏差12偏差的计算过程如图所示。方差13

方差14方差的计算过程如图所示。方差15

噪声16噪声的计算过程如图所示。泛化误差17

泛化误差18泛化误差的计算过程如图所示。四者之间的关系19

四者之间的关系20

深度学习模型的训练与测试过程21参数范数正则化222参数范数正则化23

参数范数正则化24

参数范数正则化25

数据增强326数据增强的定义27深度学习的快速发展离不开大规模数据集的出现,但并不是所有任务都有足够的训练数据,如果不对已有数据进行扩充来进行模型训练,极有可能使得模型陷入过拟合。数据增强(DataAugmentation)可以简单的理解为对训练数据数量的扩充,利用已有的有限数据产生更多的有效数据。因此,在数据集数据量有限时,进行数据增强就显得很有必要,一方面可以尽可能地避免过拟合;另一方面随着训练数据的增多,也会在一定程度上提高模型的泛化性。数据增强方法28图像数据增强主要有两种常见的方法:空间变换和像素颜色变换。空间变换:如对图像进行随机翻转、旋转、平移和裁剪等操作。像素颜色变换:对图像像素值进行修改,如在原始图像上进行对比度扰动、饱和度扰动、颜色变换与噪声扰动等操作。可以利用OpenCV、PIL等图像处理库进行数据增强,同时在常用的深度学习框架(如Tensorflow、PyTorch和飞桨)中,都有相应的图像增强函数可供直接调用。数据增强方法29PyTorch中与图像数据增强相关的函数位于torchvision.transforms中,包括:颜色变换函数ColorJitter(brightness=0,contrast=0,saturation=0,hue=0):可以对输入图像的亮度(brightness)、对比度(contrast)、饱和度(saturation)和色调(hue)进行随机变换。灰度变换函数Grayscale(num_output_channels=1):直接将输入图像转换为灰度图像,channels=1是默认值,也可以指定其他值。灰度变换函数RandomGrayscale(p=0.1):在概率p下将输入图像转换为灰度图像,p=0.1是默认值,也可以指定其他值。数据增强方法30PyTorch中与图像数据增强相关的函数位于torchvision.transforms中,包括:随机旋转变换函数RandomRotation(degrees):参数degrees用于指定可以旋转的度数范围。随机水平翻转函数RandomHorizontalFlip(p=0.5):在概率p下将输入图像进行水平翻转,p=0.5是默认值,也可以指定其他值。随机垂直翻转函数RandomVerticalFlip(p=0.5):在概率p下将输入图像进行垂直翻转,p=0.5是默认值,也可以指定其他值。仿射变换函数RandomAffine(degrees,translate=None,scale=None,shear=None):对输入图像进行仿射变换,参数degrees指定旋转角度,translate设置平移区间,scale设置缩放比例,shear设置错切角度。数据增强示例31Bagging432Bagging33Bagging(BootstrapAggregating)是一种常见的集成学习方法。Bagging的主要思想:首先在原始数据集中采样不同的子数据集,然后基于这些子数据集分别训练多个不同的模型,最后将测试样本输入所有模型,将得到的多个结果进行平均或者投票得到测试样本的最终输出。Bagging的主要思想如图所示。Bagging34Bagging35

Bagging36在多个采样数据集上训练得到k个模型,每个采样数据集之间所含样本的差异会导致k个模型之间也存在差异,因此在测试集上产生的误差也不相同,而这也是Bagging方法能够起作用的原因。Bagging37

Bagging38

提前终止539提前终止40在深度学习算法训练时,我们期望随着迭代次数的增加,训练损失或者说训练误差能逐步减小。但是如果同时观察训练过程中模型在验证集上的损失,会发现验证集损失通常会先下降然后在某个时刻又开始上升,如图所示。这可以认为在验证集损失开始上升的时刻,模型的训练已经表现的足够好了,如果再训练会导致模型的性能下降。而提前终止(EarlyStopping)的作用则在于找到这个上升的时间点,并及时终止模型的训练。提前终止41提前终止42提前终止算法Dropout643Dropout44Dropout是指在每个训练批次中,通过删掉部分神经元节点来减少过拟合现象。就是说在网络前向传播的时候,让某个神经元的激活值以一定的概率p输出为0,这样可以使模型的泛化能力更强,因为它不会太依赖某些局部特征。如图所示,可以看到未使用Dropout的神经网络(左图)和使用Dropout的神经网络(右图)的情况。

Dropout45Dropout46

Dropout47Dropout48

Dropout49

Dropout50Dropout51Dropout可以看作是一种高效的近似Bagging的集成方法,并且是共享隐层单元的集成方法。同时,Dropout减少了隐藏层神经元之间的复杂的共适应关系。因为Dropout使得两个隐藏层神经元不一定每次都在一个网络中出现,从而阻止了某些特征仅在其它特定特征存在时才有效果的情况,迫使网络去学习更加鲁棒的特征。

归一化与优化752归一化53由于样本不同特征的量纲或量纲单位不同,变化区间也处于不同数量级,使用原始样本训练机器学习或深度学习模型,不同特征对模型的影响会不同,这也导致训练所得的模型缺乏鲁棒性。归一化(Normalization)是一种常见的数据预处理方法,它将数据映射成[0,1]或者[-1,1]之间的小数,是的模型更容易收敛到最优解。因此,在构造机器学习或深度学习模型之前,需要将数据做归一化处理,这不仅会加快求解的速度,还有可能提高模型的精度。最大最小归一化54

最大最小归一化55最大最小归一化可以很好地将数据归一化到[0,1]之间,使数据具有相同的度量尺度。但是这种归一化方法容易受到离群点数据的影响,如果存在一个离群点数据的值过大或者过小,都会导致分母很大,这使得归一化后的数据失去意义。另外,最大最小归一化后的数据值都为正数,这导致机器学习模型的参数只能同时增大或同时减小,参数的更新路线可能不是最优路线。标准归一化56

标准归一化57标准归一化的分子得到的值有正有负,可以让不同的参数朝着不同方向调整直至到达最优解,减少迭代次数,使得更新尽可能沿着最优路径进行。标准归一化的分母用到了方差,方差衡量的是数据的离散程度,因此可以减小离群点数据的影响。批归一化58在神经网络装载数据时,通常将按批(Batch)输入,由于每批数据的分布并不相同,使模型训练起来比较困难。并且在训练深层神经网络时,激活函数会改变各层数据的分布和量级,随着神经网络的加深,这种改变会越来越大,从而导致模型不够稳定、不容易收敛,甚至可能出现梯度消失的问题。这些存在的问题可以通过批归一化(BatchNormalization,BN)来解决。批归一化59

批归一化60

批归一化61批归一化使网络中每层输入数据的分布相对稳定,减少梯度消失和梯度爆炸问题,提高模型的稳定性,也使得神经网络更快地收敛到最优解。同时,它使模型对输入数据中的一些变化和扰动具有更好的鲁棒性,提高了模型的泛化能力。但是批归一化受到批大小影响较大。如果批大小过小,计算的均值和方差不足以代表整个样本数据的分布,批归一化的效果可能会下降;如果批大小过大,会超过内存容量,无法处理。此外,批归一化并不适合所有神经网络,如循环神经网络等动态网络,使用批归一化的效果并不好。层归一化62

层归一化63

层归一化64层归一化的最大优点是不依赖于批量数据的大小,甚至可以在单个样本上应用,另外它也不需要保存批的均值和方差,节省了存储空间。此外,层归一化适用于循环神经网络。但是,层归一化在批大小比较大时没有批归一化效果好。实例归一化65在图像风格变换任务中,生成图像的风格主要依赖于某个图像实例,因而实例归一化(InstanceNormalization)提出只对H、W维度进行归一化,即只让一个单独数据在H和W维度上求均值和方差。实例归一化66

组归一化67组归一化(GroupNormalization)用来解决当批大小较小时批归一化效果较差的问题。层归一化虽然不依赖批大小,但是在卷积神经网络中直接对当前层所有通道数据进行规一化也并不理想。组归一化将通道方向分组,然后在每个组内做归一化,使得一个数据样本在同一组内的所有通道的均值为0,方差为1。计算步骤与批归一化一样,但是不考虑批大小,即与批大小无关。组归一化68

组归一化69

权重归一化70

权重归一化71

权重归一化72权重归一化的归一化操作作用在了权值矩阵上,它可以带来更快的收敛速度,更强的学习率鲁棒性,能应用在循环神经网络等动态网络中。并且它与样本量无关,所以可以使用较小的批大小。但是权重归一化并没有对得到的特征范围进行约束的功能,所以对参数的初始值非常敏感。深度学习中的优化算法73深度学习中的优化算法是指在模型训练过程中,通过调整参数以最小化损失函数来提高模型性能的算法。深度学习中的优化算法选择直接影响了模型的收敛速度和性能。一个好的优化算法应该能够控制梯度下降的方向,避免局部最小值和鞍点,并能够加快学习的速度。梯度下降法74

梯度下降法75梯度下降的步骤如下:初始化参数值。计算当前参数下损失函数的梯度。按照梯度的方向和学习率对参数进行更新,学习率决定了每一步参数调整的大小。重复步骤2和3,直到达到预定的停止条件(如达到最大迭代次数或损失函数收敛到指定的值)。通过不断更新参数,梯度下降法能够使模型逐渐朝着更小的损失函数值移动,从而找到损失函数的局部最小值或全局最小值。梯度下降法76需要注意的是,梯度下降法可能会陷入局部最小值而无法到达全局最小值。为了解决这个问题,可以使用不同的改进方法,批量梯度下降法(BatchGradientDescent,BGD)随机梯度下降法(StochasticGradientDescent,SGD)小批量随机梯度下降法(Mini-batchStochasticGradientDescent,mini-batchSGD)批量梯度下降法77

随机梯度下降法78

随机梯度下降法79

动量法80

动量法81

动量法82NAG83

NAG84AdaGrad85

AdaGrad86

RMSProp87

ADADELTA88

ADAM89

ADAM90

NADAM91

本章人物892本章人物93IlyaSutskever博士前OpenAI联合创始人兼首席科学家,主持了GPT系列大模型的开发,ChatGPT和GPT4强大的人机对话功能超越了以往任何一个对话系统,引起了业界极大轰动。入选2015年“MIT评论35岁以下创新人物”。IlyaSutskever博士的主要贡献:(1)2012年,与AlexKrizhevsky、GeoffreyHinton教授共同设计了AlexNet卷积神经网络;(2)2013年,提出了动量(Momentum)梯度下降法,在优化算法领域有较大创新;(3)主导了GPT系列大模型的开发,在人机对话、生成式人工智能等领域取得了重大突破。个人主页:/~ilya/。中英文术语对照994中英文术语对照95正则化:Regularization优化:Optimization

温馨提示

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

最新文档

评论

0/150

提交评论