深度网络训练技巧|深度学习(李宏毅)(三)

简介: 深度网络训练技巧|深度学习(李宏毅)(三)

一、过拟合和欠拟合


  • 过拟合:训练集效果好,测试集效果不好。


  1. 提前停止
  2. 正则化
  3. Dropout


  • 欠拟合:训练集与测试集效果都不好。


  1. 切换激活函数
  2. 自适应学习率


二、 梯度消失问题


  问题:随着越来越多的激活函数加到神经网络中,损失函数的梯度趋近于0,使得网络结构很难训练。


  举个例子,如下图所示,神经网络使用sigmoid函数作为激活函数,由于sigmoid函数将函数的输入压缩到0和1之间,所以导致到浅层网络处的w变化很大时loss变化很小,即损失函数对w的梯度几乎为0。


QQ图片20220531180234.png


三、ReLU激活函数


  ReLU激活函数图像如下:


QQ图片20220531180231.png



  应注意ReLU激活函数不是线性函数。ReLU激活函数不像sigmoid函数那样压缩输入,可以有效地缓解梯度消失问题,但是ReLU也有可能产生梯度消失问题,在z小于0的时候,激活函数梯度为零,梯度消失,神经元不更新,变成了死亡节点。


  ReLU激活函数也有其他多个变种:


      1. Leaky ReLU


QQ图片20220531180228.png




      2. Parametric ReLU



QQ图片20220531180225.png


四、Maxout


  使用Maxout使得激活函数不是定义的激活函数,而是通过神经网络自己学习到的激活函数。在使用Maxout的隐藏层中将神经元进行分组,每组输出该组内神经元输出值的最大值作为Maxout层的输出。


  在下图中可以看到该种情况下(有一个神经元对应的权重和偏量均为零)相当于使用了ReLU作为激活函数。


QQ图片20220531180220.png



  当所有的神经元的权重和偏量值均不为零的时候就相当于激活函数是通过学习来得到的。下图展示了当组内神经元数为2或3时的激活函数的图像。


QQ图片20220531180218.png


五、自适应学习率


参考链接:回归|深度学习(李宏毅)笔记(一)


六、早停法



QQ图片20220531180215.png


七、正则化


QQ图片20220531180212.png


  L2正则化会在每次梯度更新时将权重乘以一个小于1但接近1的数实现权重衰减,权重越大则减得越多,而L1正则化则会在每次梯度更新时将权重减去一个固定大小的值。


八、Dropout


  在训练时设置每个神经元有p%的概率被丢掉,即将输出设置为零,相当于从神经网络中去掉该神经元。在测试时将每个权重乘以1-p%。


  Dropout相当于训练多个不同网络结构的神经网络,每一个mini-batch就会训练一种结构的神经网络,但是在这些不同的神经网络中参数是共享的。


QQ图片20220531180209.png



  关于测试时权重乘以1-p%的解释:QQ图片20220531180206.png

相关文章
|
27天前
|
机器学习/深度学习 人工智能 算法
AI 基础知识从 0.6 到 0.7—— 彻底拆解深度神经网络训练的五大核心步骤
本文以一个经典的PyTorch手写数字识别代码示例为引子,深入剖析了简洁代码背后隐藏的深度神经网络(DNN)训练全过程。
420 56
|
5月前
|
机器学习/深度学习 存储 算法
NoProp:无需反向传播,基于去噪原理的非全局梯度传播神经网络训练,可大幅降低内存消耗
反向传播算法虽是深度学习基石,但面临内存消耗大和并行扩展受限的问题。近期,牛津大学等机构提出NoProp方法,通过扩散模型概念,将训练重塑为分层去噪任务,无需全局前向或反向传播。NoProp包含三种变体(DT、CT、FM),具备低内存占用与高效训练优势,在CIFAR-10等数据集上达到与传统方法相当的性能。其层间解耦特性支持分布式并行训练,为无梯度深度学习提供了新方向。
206 1
NoProp:无需反向传播,基于去噪原理的非全局梯度传播神经网络训练,可大幅降低内存消耗
|
7月前
|
机器学习/深度学习 数据可视化 算法
PyTorch生态系统中的连续深度学习:使用Torchdyn实现连续时间神经网络
神经常微分方程(Neural ODEs)是深度学习领域的创新模型,将神经网络的离散变换扩展为连续时间动力系统。本文基于Torchdyn库介绍Neural ODE的实现与训练方法,涵盖数据集构建、模型构建、基于PyTorch Lightning的训练及实验结果可视化等内容。Torchdyn支持多种数值求解算法和高级特性,适用于生成模型、时间序列分析等领域。
352 77
PyTorch生态系统中的连续深度学习:使用Torchdyn实现连续时间神经网络
|
5月前
|
机器学习/深度学习 人工智能 运维
AI“捕风捉影”:深度学习如何让网络事件检测更智能?
AI“捕风捉影”:深度学习如何让网络事件检测更智能?
129 8
|
6月前
|
机器学习/深度学习 数据采集 算法
基于MobileNet深度学习网络的MQAM调制类型识别matlab仿真
本项目基于Matlab2022a实现MQAM调制类型识别,使用MobileNet深度学习网络。完整程序运行效果无水印,核心代码含详细中文注释和操作视频。MQAM调制在无线通信中至关重要,MobileNet以其轻量化、高效性适合资源受限环境。通过数据预处理、网络训练与优化,确保高识别准确率并降低计算复杂度,为频谱监测、信号解调等提供支持。
|
6月前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的【害虫识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
害虫识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了12种常见的害虫种类数据集【"蚂蚁(ants)", "蜜蜂(bees)", "甲虫(beetle)", "毛虫(catterpillar)", "蚯蚓(earthworms)", "蜚蠊(earwig)", "蚱蜢(grasshopper)", "飞蛾(moth)", "鼻涕虫(slug)", "蜗牛(snail)", "黄蜂(wasp)", "象鼻虫(weevil)"】 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Djan
364 1
基于Python深度学习的【害虫识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
|
6月前
|
机器学习/深度学习 存储 算法
基于MobileNet深度学习网络的活体人脸识别检测算法matlab仿真
本内容主要介绍一种基于MobileNet深度学习网络的活体人脸识别检测技术及MQAM调制类型识别方法。完整程序运行效果无水印,需使用Matlab2022a版本。核心代码包含详细中文注释与操作视频。理论概述中提到,传统人脸识别易受非活体攻击影响,而MobileNet通过轻量化的深度可分离卷积结构,在保证准确性的同时提升检测效率。活体人脸与非活体在纹理和光照上存在显著差异,MobileNet可有效提取人脸高级特征,为无线通信领域提供先进的调制类型识别方案。
|
7月前
|
机器学习/深度学习 文件存储 异构计算
YOLOv11改进策略【模型轻量化】| 替换骨干网络为EfficientNet v2,加速训练,快速收敛
YOLOv11改进策略【模型轻量化】| 替换骨干网络为EfficientNet v2,加速训练,快速收敛
777 18
YOLOv11改进策略【模型轻量化】| 替换骨干网络为EfficientNet v2,加速训练,快速收敛
|
7月前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的【蘑菇识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
蘑菇识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了9种常见的蘑菇种类数据集【"香菇(Agaricus)", "毒鹅膏菌(Amanita)", "牛肝菌(Boletus)", "网状菌(Cortinarius)", "毒镰孢(Entoloma)", "湿孢菌(Hygrocybe)", "乳菇(Lactarius)", "红菇(Russula)", "松茸(Suillus)"】 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Django框架搭建了一个Web网页平台可视化操作界面,
523 11
基于Python深度学习的【蘑菇识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
|
7月前
|
机器学习/深度学习 数据可视化 API
DeepSeek生成对抗网络(GAN)的训练与应用
生成对抗网络(GANs)是深度学习的重要技术,能生成逼真的图像、音频和文本数据。通过生成器和判别器的对抗训练,GANs实现高质量数据生成。DeepSeek提供强大工具和API,简化GAN的训练与应用。本文介绍如何使用DeepSeek构建、训练GAN,并通过代码示例帮助掌握相关技巧,涵盖模型定义、训练过程及图像生成等环节。

热门文章

最新文章