电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>电子资料>PyTorch教程8.5之批量归一化

PyTorch教程8.5之批量归一化

2023-06-05 | pdf | 0.40 MB | 次下载 | 免费

资料介绍

训练深度神经网络很困难。让它们在合理的时间内收敛可能很棘手。在本节中,我们将介绍 批量归一化,这是一种流行且有效的技术,可以持续加速深度网络的收敛 Ioffe 和 Szegedy,2015 年连同残差块(稍后将在第 8.6 节中介绍),批量归一化使从业者可以例行地训练超过 100 层的网络。批量归一化的第二个(偶然的)好处在于其固有的正则化。

import torch
from torch import nn
from d2l import torch as d2l
from mxnet import autograd, init, np, npx
from mxnet.gluon import nn
from d2l import mxnet as d2l

npx.set_np()
from functools import partial
import jax
import optax
from flax import linen as nn
from jax import numpy as jnp
from d2l import jax as d2l
import tensorflow as tf
from d2l import tensorflow as d2l

8.5.1. 训练深度网络

在处理数据时,我们经常在训练前进行预处理。关于数据预处理的选择通常会对最终结果产生巨大影响。回想一下我们将 MLP 应用于预测房价(第 5.7 节)。我们处理真实数据的第一步是将我们的输入特征标准化为零均值 μ=0和单位方差 Σ=1across multiple observations ( Friedman, 1987 )至少,人们经常重新缩放它,使对角线是统一的,即 Σii=1. 另一种策略是将向量重新调整为单位长度,每次观察的均值可能为零。这可以很好地工作,例如,对于空间传感器数据。这些预处理技术以及更多技术有助于很好地控制估计问题。参见例如Guyon等人的文章。( 2008 )审查特征选择和提取技术。标准化向量还有一个很好的副作用,即限制作用于它的函数的函数复杂性。例如,支持向量机中著名的半径边界( Vapnik, 1995 )和感知器收敛定理( Novikoff, 1962 )依赖有界范数的输入。

直觉上,这种标准化与我们的优化器配合得很好,因为它先验地参数放在相似的范围内。因此,很自然地会问 深度网络中相应的规范化步骤是否可能没有好处。虽然这并不是导致批量归一化发明的原因 Ioffe 和 Szegedy,2015 年 ,但它是在统一框架内理解它及其堂兄层归一化Ba等人,2016 年的有用方法。

其次,对于典型的 MLP 或 CNN,在我们训练时,中间层中的变量(例如,MLP 中的仿射变换输出)可能采用幅度变化很大的值:沿着从输入到输出的层,跨同一层中的单元,随着时间的推移,由于我们对模型参数的更新。批量归一化的发明者非正式地假设,这种变量分布的漂移可能会阻碍网络的收敛。凭直觉,我们可能会推测,如果一层的可变激活是另一层的 100 倍,这可能需要对学习率进行补偿性调整。自适应求解器,例如 AdaGrad Duchi等人,2011 年、Adam Kingma 和 Ba,2014 年))、Yogi ( Zaheer et al. , 2018 )或 Distributed Shampoo ( Anil et al. , 2020 )旨在从优化的角度解决这个问题,例如,通过添加二阶方法的方面。另一种方法是通过自适应规范化来防止问题发生。

第三,更深层次的网络很复杂,而且往往更容易过度拟合。这意味着正则化变得更加关键。一种常用的正则化技术是噪声注入。这已经为人所知很长时间了,例如,关于输入的噪声注入( Bishop, 1995 )它还构成了第 5.6 节中 dropout 的基础 事实证明,批归一化带来了所有三个好处:预处理、数值稳定性和正则化。

批归一化应用于单个层,或者可选地应用于所有层:在每次训练迭代中,我们首先通过减去它们的均值并除以它们的标准差来归一化(批归一化的)输入,其中两者都是基于统计数据估计的当前的小批量。接下来,我们应用比例系数和偏移量来恢复丢失的自由度。批归一化正是由于这种 基于统计的归一化 而得名。

请注意,如果我们尝试对大小为 1 的小批量应用批量归一化,我们将无法学习任何东西。这是因为在减去均值后,每个隐藏单元的值为 0。正如您可能猜到的那样,由于我们将整个部分用于批量归一化,并且具有足够大的小批量,因此该方法被证明是有效且稳定的。这里的一个要点是,当应用批量归一化时,批量大小的选择甚至比没有批量归一化更重要,或者至少需要适当的校准,因为我们可能会调整它。

表示为B一个小批量并让 x∈B作为批量归一化的输入(BN). 在这种情况下,批量归一化定义如下:

(8.5.1)BN(x)=γ⊙x−μ^Bσ^B+β.

在(8.5.1)μ^B 是样本均值和σ^B是 minibatch 的样本标准差B. 应用标准化后,生成的小批量具有零均值和单位方差。单位方差的选择(相对于其他一些幻数)是一个任意选择。我们通过包含元素尺度参数来恢复这种自由度 γ转移参数 β具有相同的形状x. 两者都是需要在模型训练中学习的参数。

中间层的可变幅度在训练期间不能发散,因为批量归一化主动将它们居中并将它们重新缩放回给定的均值和大小(通过 μ^Bσ^B). 实践经验证实,正如在讨论特征重新缩放时所提到的,批量归一化似乎允许更积极的学习率。我们计算μ^Bσ^B(8.5.1)如下:

 

下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1山景DSP芯片AP8248A2数据手册
  2. 1.06 MB  |  532次下载  |  免费
  3. 2RK3399完整板原理图(支持平板,盒子VR)
  4. 3.28 MB  |  339次下载  |  免费
  5. 3TC358743XBG评估板参考手册
  6. 1.36 MB  |  330次下载  |  免费
  7. 4DFM软件使用教程
  8. 0.84 MB  |  295次下载  |  免费
  9. 5元宇宙深度解析—未来的未来-风口还是泡沫
  10. 6.40 MB  |  227次下载  |  免费
  11. 6迪文DGUS开发指南
  12. 31.67 MB  |  194次下载  |  免费
  13. 7元宇宙底层硬件系列报告
  14. 13.42 MB  |  182次下载  |  免费
  15. 8FP5207XR-G1中文应用手册
  16. 1.09 MB  |  178次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234315次下载  |  免费
  3. 2555集成电路应用800例(新编版)
  4. 0.00 MB  |  33566次下载  |  免费
  5. 3接口电路图大全
  6. 未知  |  30323次下载  |  免费
  7. 4开关电源设计实例指南
  8. 未知  |  21549次下载  |  免费
  9. 5电气工程师手册免费下载(新编第二版pdf电子书)
  10. 0.00 MB  |  15349次下载  |  免费
  11. 6数字电路基础pdf(下载)
  12. 未知  |  13750次下载  |  免费
  13. 7电子制作实例集锦 下载
  14. 未知  |  8113次下载  |  免费
  15. 8《LED驱动电路设计》 温德尔著
  16. 0.00 MB  |  6656次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935054次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537798次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420027次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234315次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191187次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183279次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138040次下载  |  免费