【深度学习】重要概念

发布时间:2023年12月17日

1. 前向传播、反向传播和计算图

  • 前向传播:按顺序(从输入层到输出层)计算和存储神经网络中每层的结果。
  • 计算图:可视化计算中操作符和变量的依赖关系的图形。其中正方形表示变量,圆圈表示操作符。 左下角表示输入,右上角表示输出。 注意显示数据流的箭头方向主要是向右和向上的。
  • 反向传播:指的是计算神经网络参数梯度的方法。简言之,该方法根据微积分中的链式规则,按相反的顺序从输出层到输入层遍历网络。 该算法存储了计算某些参数梯度时所需的任何中间变量(偏导数)。
  • 训练神经网络时,前向传播和反向传播相互依赖。 对于前向传播,我们沿着依赖的方向遍历计算图并计算其路径上的所有变量。 然后将这些变量用于反向传播,利用反向传播给出的梯度来更新模型参数。为了避免重复计算,我们需要保留中间值,直到反向传播完成。这也是训练比单纯的预测需要更多的内存(显存)的原因之一。 此外,这些中间值的大小与网络层的数量和批量的大小大致成正比。 因此,使用更大的批量来训练更深层次的网络更容易导致内存不足错误。

2. 数值稳定性和模型初始化

  • 梯度的计算受到数值下溢问题的影响而变得不稳定,不稳定梯度也威胁到我们优化算法的稳定性。
  • 梯度消失:参数更新过小,在每次更新时几乎不会移动,导致模型无法学习。当sigmoid函数的输入很大或是很小时,它的梯度都会消失,因此选择更稳定的ReLU系列函数。
  • 梯度爆炸:参数更新过大,破坏了模型的稳定收敛。深度网络的初始化的尺度如果太大,我们没有机会让梯度下降优化器收敛。
  • 参数对称性:如果参数初始化为相同的值, 那么小批量随机梯度下降永远不会打破对称性,我们可能永远也无法实现网络的表达能力。 隐藏层的行为就好像只有一个单元。但暂退法正则化可以打破对称性。
  • 如果我们不指定初始化方法, 框架将使用默认的随机初始化方法,对于中等难度的问题,这种方法通常很有效。
  • Xavier初始化:在不存在非线性的假设下,我们只需权重的分布满足均值为0,
    σ = 2 n i n + n o u t \begin{aligned} \sigma = \sqrt{\frac{2}{n_\mathrm{in} + n_\mathrm{out}}} \end{aligned} σ=nin?+nout?2? ??其中, n i n n_\mathrm{in} nin? n o u t n_\mathrm{out} nout?分别是输入输出的数量,就能使得输出的方差不受输入数量的影响,任何梯度的方差不受输出数量的影响。尽管“不存在非线性”的假设在神经网络中很容易被违反, 但Xavier初始化方法在实践中被证明是有效的。通常,Xavier初始化从高斯分布 N ( 0 , σ 2 ) ( σ 2 = 2 n i n + n o u t ) N(0, \sigma^2)( \sigma^2=\frac{2}{n_\mathrm{in} + n_\mathrm{out}}) N(0,σ2)(σ2=nin?+nout?2?)采样权重,也可从均匀分布 U ( ? 6 n i n + n o u t , 6 n i n + n o u t ) U\left(-\sqrt{\frac{6}{n_\mathrm{in} + n_\mathrm{out}}}, \sqrt{\frac{6}{n_\mathrm{in} + n_\mathrm{out}}}\right) U(?nin?+nout?6? ?,nin?+nout?6? ?)采样权重。

3. 环境和分布偏移

  • 数据分布突然改变时,模型在部署中会出现灾难性的失败。 更隐蔽的是,有时模型的部署本身就是扰乱数据分布的催化剂。通过将基于模型的决策引入环境,我们可能会破坏模型
  • 分布偏移的类型
    • 协变量偏移:假设虽然输入的分布可能随时间而改变, 但标签函数(即条件分布 P ( x ∣ y ) P(\mathbf{x}|y) P(xy))没有改变。
    • 标签偏移:假设标签边缘概率 P ( y ) P(y) P(y)可以改变, 但是类别条件分布 P ( x ∣ y ) P(\mathbf{x}|y) P(xy)在不同的领域之间保持不变。
    • 概念偏移:当标签的定义发生变化时,就会出现这种问题。
  • 分布偏移纠正
    • 真实风险是从真实分布中抽取的所有数据的总体损失的预期。然而,这个数据总体通常是无法获得的。经验风险是训练数据的平均损失,用于近似真实风险。在实践中,我们进行经验风险最小化。
    • 协变量偏移纠正:根据数据来自正确分布与来自错误分布的概率之比, 来重新衡量每个数据样本的权重,并实现加权经验风险最小化。需要目标分布中的每个数据样本在训练时出现的概率非零,否则相应的重要性权重会是无穷大。
    • 标签偏移纠正:将重要性权重将对应于标签似然比率,并实现加权经验风险最小化。
    • 概念偏移纠正:很难用原则性的方式解决, 除了从零开始收集新标签和训练,别无妙方。 幸运的是,在实践中这种极端的偏移是罕见的,通常情况下,概念的变化总是缓慢的,由此使用新数据更新现有的网络权重,而不是从头开始训练。
  • 学习问题的分类法
    • 批量学习:学习某一分布的批量数据,部署处理该分布下的新数据。
    • 在线学习:我们首先观测到 x i \mathbf{x}_i xi?, 然后我们得出一个估计值 f ( x i ) f(\mathbf{x}_i) f(xi?), 只有当我们做到这一点后,我们才观测到 y i y_i yi?。 然后根据我们的决定,我们会得到奖励或损失。
    • 老虎机问题:我们可以采取的行动是有限的,即函数 f f f是离散的。
    • 控制:环境会记住我们所做的事,而且它的反应将取决于之前发生的事情。 近年来,控制理论也被用于自动调整超参数。
    • 强化学习:强调如何基于环境而行动,以取得最大化的预期利益。
    • 考虑到环境:在静止环境中可能一直有效的相同策略, 在环境能够改变的情况下可能不会始终有效。环境变化的速度和方式在很大程度上决定了我们可以采用的算法类型。
  • 机器学习中的公平、责任和透明度:从考虑预测到决策的飞跃不仅提出了新的技术问题, 而且还提出了一系列必须仔细考虑的伦理问题。现实中,我们发现精度很少成为合适的衡量标准。
文章来源:https://blog.csdn.net/weixin_45725295/article/details/134878719
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。