神经网络学习笔记——神经网络基础(三)

神经网络学习笔记——神经网络基础(三)

六、正则化(Dropout丢弃层 )

在训深层练神经网络时,由于模型参数较多,在数据量不足的情况下,很容易过拟合。Dropout 就是在神经网络中一种缓解过拟合的方法。

原理
缓解过拟合的方式就是降低模型的复杂度,而 Dropout 就是通过减少神经元之间的连接,把稠密的神经网络神经元连接,变成稀疏的神经元连接,从而达到降低网络复杂度的目的。
将 Dropout 层的概率 p 设置为 0.8,此时经过 Dropout 层计算的张量中就出现了很多 0 , 概率 p 设置值越大,则张量中出现的 0 就越多。计算过程如下:

  1. 先按照 p 设置的概率,随机将部分的张量元素设置为 0
  2. 为了校正张量元素被设置为 0 带来的影响,需要对非 0 的元素进行缩放,其缩放因子为: 1/(1-p),上面代码中 p 的值为 0.8, 根据公式缩放因子为:1/(1-0.8) = 5
  3. 比如:第 3 个元素,原来是 5,乘以缩放因子之后变成 25。
    经过 Dropout 层之后有一些梯度为 0,这使得参数无法得到更新,从而达到了降低网络复杂度的目的。

dropout 层其作用用于控制网络复杂度,达到正则化的目的,类似于 L2 正则化对线性回归的作用。

七、批量归一化

1.mini batch

在数据量大的时候,只进行一次梯度下降叫做full batch。

例如我们把100万样本分成1000份, 每份1000个样本, 这些子集就称为mini batch。然后我们分别用一个for循环遍历这1000个子集。 针对每一个子集做一次梯度下降。 然后更新参数w和b的值。接着到下一个子集中继续进行梯度下降。 这样在遍历完所有的mini batch之后我们相当于在梯度下降中做了1000次迭代。 我们将遍历一次所有样本的行为叫做一个 epoch,也就是一个世代。 在mini batch下的梯度下降中做的事情其实跟full batch一样,只不过我们训练的数据不再是所有的样本,而是一个个的子集。 这样在mini batch我们在一个epoch中就能进行1000次的梯度下降,而在full batch中只有一次。 这样就大大的提高了我们算法的运行速度。
在这里插入图片描述

2.批量归一化

神经网络的学习其实在学习数据的分布,随着网络的深度增加、网络复杂度增加,一般流经网络的数据都是一个 mini batch,每个 mini batch 之间的数据分布变化非常剧烈,这就使得网络参数频繁的进行大的调整以适应流经网络的不同分布的数据,给模型训练带来非常大的不稳定性,使得模型难以收敛。

对每一个 mini batch 的数据进行标准化之后,数据分布就变得稳定,参数的梯度变化也变得稳定,有助于加快模型的收敛。
数据在经过 BN 层之后,无论数据以前的分布是什么,都会被归一化成均值为 β,标准差为 γ 的分布。
在这里插入图片描述
接口函数

torch.nn.BatchNorm2d(num_features, eps=1e-05, momentum=0.1, affine=True)

实验
掌握构建分类模型流程
代码和数据

https://blog.csdn.net/qq_38343151/article/details/102886304

相关推荐

  1. 学习笔记神经网络相关

    2024-04-01 06:44:03       36 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-01 06:44:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-01 06:44:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-01 06:44:03       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-01 06:44:03       20 阅读

热门阅读

  1. rust实现循环队列

    2024-04-01 06:44:03       20 阅读
  2. 如何调整Node内存限制

    2024-04-01 06:44:03       16 阅读
  3. OpenJudge - 16:忽略大小写的字符串比较

    2024-04-01 06:44:03       17 阅读
  4. pytorch-分类-检测-分割的dataset和dataloader创建

    2024-04-01 06:44:03       18 阅读
  5. JVM堆栈详解

    2024-04-01 06:44:03       15 阅读
  6. 20240323-2-决策树面试题DecisionTree

    2024-04-01 06:44:03       14 阅读
  7. ubuntu22.04忘记用户密码

    2024-04-01 06:44:03       16 阅读
  8. 【内网离线环境】搭建本地YUM源

    2024-04-01 06:44:03       17 阅读
  9. Excel中文显示问号

    2024-04-01 06:44:03       18 阅读
  10. 大型语言模型可以“在两年内彻底改变金融业”

    2024-04-01 06:44:03       17 阅读
  11. 【布式事务】分布式事务和分布式指导理论简介

    2024-04-01 06:44:03       16 阅读