南瓜书公式详解------第五章(反向传播、波尔兹曼机)

式5.2(感知学习参数更新)

Δ w i = η ( y − y ^ ) x i \Delta w_i=\eta(y-\hat{y})x_i Δwi=η(yy^)xi
给出的公式是在线性回归或神经网络权重更新中使用的梯度下降算法的基本形式。这个公式用于根据当前的预测误差调整权重 w i w_i wi

公式中的符号含义如下:

  • Δ w i \Delta w_i Δwi:权重 w i w_i wi 的变化量。
  • η \eta η:学习率(Learning Rate),一个超参数,用于控制权重更新的步长。
  • y y y:真实目标值。
  • y ^ \hat{y} y^:模型预测值。
  • x i x_i xi:输入特征值,与权重 w i w_i wi 相乘的值。

梯度下降算法的基本思想是最小化预测误差,即 y y y y ^ \hat{y} y^ 之间的差异。这个差异通常称为损失函数(Loss Function),可以是均方误差(Mean Squared Error, MSE)或其他度量预测误差的函数。

权重更新的公式是:

Δ w i = η ( y − y ^ ) x i \Delta w_i = \eta(y - \hat{y})x_i Δwi=η(yy^)xi

这个公式的含义是:

  1. 首先计算预测误差,即 y − y ^ y - \hat{y} yy^
  2. 将预测误差乘以学习率 η \eta η,得到一个标量乘积。
  3. 将这个标量乘积乘以特征值 x i x_i xi,得到权重 w i w_i wi 的变化量 Δ w i \Delta w_i Δwi

然后,使用这个变化量来更新权重:

w i : = w i + Δ w i w_i := w_i + \Delta w_i wi:=wi+Δwi

这个过程在每次迭代中重复执行,直到满足停止条件,例如损失函数的值不再显著减小,或者达到预设的迭代次数。

梯度下降算法是机器学习中用于优化问题的一种常用方法,特别是在训练线性模型和神经网络时。通过适当选择学习率和其他超参数,梯度下降算法可以帮助我们找到损失函数的最小值,从而训练出性能良好的模型。

式5.10 (反向传播1)

g j = − ∂ E k ∂ y ^ j k ⋅ ∂ y ^ j k ∂ β j = − ( y ^ j k − y j k ) f ′ ( β j − θ j ) = y ^ j k ( 1 − y ^ j k ) ( y j k − y ^ j k ) \begin{aligned} g_j&=-\frac{\partial {E_k}}{\partial{\hat{y}_j^k}} \cdot \frac{\partial{\hat{y}_j^k}}{\partial{\beta_j}} \\&=-( \hat{y}_j^k-y_j^k ) f ^{\prime} (\beta_j-\theta_j) \\&=\hat{y}_j^k(1-\hat{y}_j^k)(y_j^k-\hat{y}_j^k) \end{aligned} gj=y^jkEkβjy^jk=(y^jkyjk)f(βjθj)=y^jk(1y^jk)(yjky^jk)

给出的公式是神经网络中反向传播算法的一部分,用于计算损失函数 E k E_k Ek 关于第 j j j 个神经元第 k k k 层输出 y ^ j k \hat{y}_j^k y^jk 的梯度 g j g_j gj。这个梯度是权重 β j \beta_j βj 更新的关键部分。

公式中的符号含义如下:

  • g j g_j gj:第 j j j 个神经元在第 k k k 层的梯度。
  • E k E_k Ek:第 k k k 层的损失函数。
  • y ^ j k \hat{y}_j^k y^jk:第 j j j 个神经元在第 k k k 层的预测输出。
  • y j k y_j^k yjk:第 j j j 个神经元在第 k k k 层的真实输出或目标值。
  • β j \beta_j βj:第 j j j 个神经元的输入加权求和(不包括偏置项)。
  • θ j \theta_j θj:第 j j j 个神经元的阈值或偏置。
  • f ′ ( β j − θ j ) f'(\beta_j - \theta_j) f(βjθj):激活函数 f f f 对输入 β j − θ j \beta_j - \theta_j βjθj 的导数。

梯度计算的步骤如下:

  1. 计算损失函数 E k E_k Ek 关于预测输出 y ^ j k \hat{y}_j^k y^jk 的偏导数,这是损失对输出的敏感度。

∂ E k ∂ y ^ j k = − ( y ^ j k − y j k ) \frac{\partial E_k}{\partial \hat{y}_j^k} = -(\hat{y}_j^k - y_j^k) y^jkEk=(y^jkyjk)

  1. 计算预测输出 y ^ j k \hat{y}_j^k y^jk 关于权重 β j \beta_j βj 的偏导数,这通常涉及激活函数 f f f 的导数。

∂ y ^ j k ∂ β j = f ′ ( β j − θ j ) \frac{\partial \hat{y}_j^k}{\partial \beta_j} = f'(\beta_j - \theta_j) βjy^jk=f(βjθj)

  1. 将两个偏导数相乘,得到损失函数 E k E_k Ek 关于权重 β j \beta_j βj 的梯度。

g j = − ∂ E k ∂ y ^ j k ⋅ ∂ y ^ j k ∂ β j g_j = -\frac{\partial E_k}{\partial \hat{y}_j^k} \cdot \frac{\partial \hat{y}_j^k}{\partial \beta_j} gj=y^jkEkβjy^jk

  1. 对于 Sigmoid 激活函数,其导数 f ′ ( x ) f'(x) f(x) y ^ ( 1 − y ^ ) \hat{y}(1 - \hat{y}) y^(1y^)。如果 y ^ j k \hat{y}_j^k y^jk 是 Sigmoid 函数的输出,那么 f ′ ( β j − θ j ) = y ^ j k ( 1 − y ^ j k ) f'(\beta_j - \theta_j) = \hat{y}_j^k(1 - \hat{y}_j^k) f(βjθj)=y^jk(1y^jk)

  2. 代入激活函数的导数,得到梯度的最终表达式:

g j = y ^ j k ( 1 − y ^ j k ) ( y j k − y ^ j k ) g_j = \hat{y}_j^k(1 - \hat{y}_j^k)(y_j^k - \hat{y}_j^k) gj=y^jk(1y^jk)(yjky^jk)

这个梯度 g j g_j gj 表示了在训练过程中如何调整权重 β j \beta_j βj 以减少损失函数 E k E_k Ek 的值。在实际应用中,这个梯度将用于更新权重,通过梯度下降或其变体进行优化。

式5.12(反向传播2)

Δ θ j = − η g j \Delta \theta_j = -\eta g_j Δθj=ηgj
给出的公式是神经网络中反向传播算法的一部分,用于更新第 j j j 个神经元的偏置项 θ j \theta_j θj。这个更新过程是梯度下降算法的应用,目的是通过最小化损失函数来优化神经网络的参数。

公式中的符号含义如下:

  • Δ θ j \Delta \theta_j Δθj:第 j j j 个神经元偏置项的更新量。
  • η \eta η:学习率(Learning Rate),一个超参数,用于控制更新步长的大小。
  • g j g_j gj:第 j j j 个神经元的梯度,通常计算为损失函数关于该神经元输出的导数。

偏置项更新的公式是:

Δ θ j = − η g j \Delta \theta_j = -\eta g_j Δθj=ηgj

这个公式的含义是:

  1. 计算第 j j j 个神经元的梯度 g j g_j gj,它反映了损失函数对神经元输出的敏感度。
  2. 梯度 g j g_j gj 乘以学习率 η \eta η,得到更新量 Δ θ j \Delta \theta_j Δθj
  3. 更新量与当前偏置值相减,更新偏置项:

θ j : = θ j + Δ θ j \theta_j := \theta_j + \Delta \theta_j θj:=θj+Δθj

在神经网络的训练过程中,每次迭代都会进行这样的参数更新,直到满足某个停止条件,如损失函数值下降到一个很小的值,或者达到预设的最大迭代次数。

梯度 g j g_j gj 的具体计算方法依赖于所使用的激活函数和损失函数。例如,在使用交叉熵损失函数和 Sigmoid 激活函数的情况下,梯度可以表示为:

g j = y ^ j ( 1 − y ^ j ) ( y j − y ^ j ) g_j = \hat{y}_j(1 - \hat{y}_j)(y_j - \hat{y}_j) gj=y^j(1y^j)(yjy^j)

这里, y ^ j \hat{y}_j y^j 是神经元的预测输出, y j y_j yj 是真实目标值。这个梯度反映了预测输出与目标值之间的差异,用于指导偏置项的更新。

式5.13(反向传播3)

Δ v i h = η e h x i \Delta v_{ih} = \eta e_h x_i Δvih=ηehxi
给出的公式是神经网络中反向传播算法的一部分,用于更新从输入层到隐藏层的权重 v i h v_{ih} vih。这个更新过程同样基于梯度下降算法,目的是通过减少网络的总体误差来优化权重。

公式中的符号含义如下:

  • Δ v i h \Delta v_{ih} Δvih:从输入单元 i i i 到隐藏单元 h h h 的权重的更新量。
  • η \eta η:学习率(Learning Rate),一个超参数,用于控制权重更新的步长。
  • e h e_h eh:隐藏单元 h h h 的误差项,通常计算为损失函数关于隐藏层输出的导数乘以隐藏层激活函数的导数。
  • x i x_i xi:输入层单元 i i i 的激活值或输入特征值。

权重更新的公式是:

Δ v i h = η e h x i \Delta v_{ih} = \eta e_h x_i Δvih=ηehxi

这个公式的含义是:

  1. 计算隐藏单元 h h h 的误差项 e h e_h eh,这通常是后向传播过程中计算得到的,反映了损失函数对隐藏层输出的敏感度。
  2. 将误差项 e h e_h eh 乘以学习率 η \eta η,得到一个标量乘积。
  3. 将这个标量乘积乘以输入值 x i x_i xi,得到权重 v i h v_{ih} vih 的更新量 Δ v i h \Delta v_{ih} Δvih
  4. 更新权重:

v i h : = v i h + Δ v i h v_{ih} := v_{ih} + \Delta v_{ih} vih:=vih+Δvih

在神经网络的训练过程中,这样的权重更新会在每次迭代中进行,目的是通过梯度下降或其变体来最小化损失函数。

误差项 e h e_h eh 的具体计算方法依赖于网络的架构和所使用的损失函数。在多层网络中,隐藏层的误差项通常由更高层(如输出层)的误差项通过链式法则逐层传递计算得到。这个过程涉及到对每个层的激活函数求导,并将这些导数相乘以传播误差。

式5.14(反向传播4)

Δ γ h = − η e h \Delta \gamma_h= -\eta e_h Δγh=ηeh
给出的公式是神经网络中反向传播算法的一部分,用于更新第 h h h 个隐藏单元的偏置项 γ h \gamma_h γh。这个更新过程旨在通过减少网络的总体误差来优化隐藏层的偏置参数。

公式中的符号含义如下:

  • Δ γ h \Delta \gamma_h Δγh:第 h h h 个隐藏单元偏置项的更新量。
  • η \eta η:学习率(Learning Rate),一个超参数,用于控制更新步长的大小。
  • e h e_h eh:第 h h h 个隐藏单元的误差项,通常计算为损失函数关于隐藏层输出的导数乘以隐藏层激活函数的导数。

偏置项更新的公式是:

Δ γ h = − η e h \Delta \gamma_h = -\eta e_h Δγh=ηeh

这个公式的含义是:

  1. 计算第 h h h 个隐藏单元的误差项 e h e_h eh,它反映了损失函数对隐藏层输出的敏感度。
  2. 将误差项 e h e_h eh 乘以学习率 η \eta η 的负值,得到更新量 Δ γ h \Delta \gamma_h Δγh
  3. 更新隐藏单元的偏置项:

γ h : = γ h + Δ γ h \gamma_h := \gamma_h + \Delta \gamma_h γh:=γh+Δγh

在神经网络的训练过程中,每次迭代都会进行这样的参数更新,目的是通过梯度下降或其变体来最小化损失函数。

误差项 e h e_h eh 的具体计算方法依赖于网络的架构和所使用的损失函数。在多层网络中,隐藏层的误差项通常由更高层(如输出层)的误差项通过链式法则逐层传递计算得到。这个过程涉及到对每个层的激活函数求导,并将这些导数相乘以传播误差。通过这种方式,网络可以学习如何调整其隐藏层的偏置项,以改善整体的预测性能。

式5.15(反向传播的误差项计算)

e h = − ∂ E k ∂ b h ⋅ ∂ b h ∂ α h = − ∑ j = 1 l ∂ E k ∂ β j ⋅ ∂ β j ∂ b h f ′ ( α h − γ h ) = ∑ j = 1 l w h j g j f ′ ( α h − γ h ) = b h ( 1 − b h ) ∑ j = 1 l w h j g j \begin{aligned} e_h&=-\frac{\partial {E_k}}{\partial{b_h}}\cdot \frac{\partial{b_h}}{\partial{\alpha_h}} \\&=-\sum_{j=1}^l \frac{\partial {E_k}}{\partial{\beta_j}}\cdot \frac{\partial{\beta_j}}{\partial{b_h}}f^{\prime}(\alpha_h-\gamma_h) \\&=\sum_{j=1}^l w_{hj}g_j f^{\prime}(\alpha_h-\gamma_h) \\&=b_h(1-b_h)\sum_{j=1}^l w_{hj}g_j \end{aligned} eh=bhEkαhbh=j=1lβjEkbhβjf(αhγh)=j=1lwhjgjf(αhγh)=bh(1bh)j=1lwhjgj

给出的公式描述了在神经网络中反向传播算法里,如何计算第 h h h 个隐藏单元的误差项 e h e_h eh。这个误差项用于在训练过程中更新隐藏层的权重和偏置。以下是公式的逐步解释:

  1. 误差项的定义
    e h = − ∂ E k ∂ b h ⋅ ∂ b h ∂ α h e_h = -\frac{\partial E_k}{\partial b_h} \cdot \frac{\partial b_h}{\partial \alpha_h} eh=bhEkαhbh
    这里, E k E_k Ek 是损失函数, b h b_h bh 是隐藏单元 h h h 的输出(在某些文献中可能用 y ^ h \hat{y}_h y^h 表示), α h \alpha_h αh 是隐藏单元 h h h 的输入加权和(不包括偏置), f ′ ( α h − γ h ) f'(\alpha_h - \gamma_h) f(αhγh) 是激活函数关于输入的导数。

  2. 链式法则应用
    e h = − ∑ j = 1 l ∂ E k ∂ β j ⋅ ∂ β j ∂ b h f ′ ( α h − γ h ) e_h = -\sum_{j=1}^l \frac{\partial E_k}{\partial \beta_j} \cdot \frac{\partial \beta_j}{\partial b_h} f'(\alpha_h - \gamma_h) eh=j=1lβjEkbhβjf(αhγh)
    这里, β j \beta_j βj 表示第 j j j 个输出单元的输入加权和(不包括偏置), l l l 是输出单元的数量。这步通过链式法则展开,其中 ∂ β j ∂ b h \frac{\partial \beta_j}{\partial b_h} bhβj 通常为 0 除非 b h b_h bh 直接影响 β j \beta_j βj

  3. 权重因子引入
    e h = ∑ j = 1 l w h j g j f ′ ( α h − γ h ) e_h = \sum_{j=1}^l w_{hj} g_j f'(\alpha_h - \gamma_h) eh=j=1lwhjgjf(αhγh)
    这里, w h j w_{hj} whj 是从隐藏单元 h h h 到输出单元 j j j 的权重, g j g_j gj 是输出单元 j j j 的梯度。

  4. 最终表达式
    e h = b h ( 1 − b h ) ∑ j = 1 l w h j g j e_h = b_h(1 - b_h) \sum_{j=1}^l w_{hj} g_j eh=bh(1bh)j=1lwhjgj
    这里,假设激活函数是 Sigmoid 函数,其导数 f ′ ( x ) f'(x) f(x) σ ( x ) ( 1 − σ ( x ) ) \sigma(x) (1 - \sigma(x)) σ(x)(1σ(x)),其中 σ ( x ) \sigma(x) σ(x) 是 Sigmoid 函数。因此, f ′ ( α h − γ h ) f'(\alpha_h - \gamma_h) f(αhγh) 可以写作 b h ( 1 − b h ) b_h(1 - b_h) bh(1bh)

这个误差项 e h e_h eh 反映了输出层的误差如何通过网络传播回隐藏层,用于调整隐藏层的权重和偏置以减少整体的误差。在实际应用中,这个误差项会用于计算权重更新量 Δ w h j \Delta w_{hj} Δwhj 和偏置更新量 Δ γ h \Delta \gamma_h Δγh

式5.20(波尔兹曼机无向图能量)

E ( s ) = − ∑ i = 1 n − 1 ∑ j = i + 1 n w i j s i s j − ∑ i = 1 n θ i s i E(\boldsymbol{s})=-\sum_{i=1}^{n-1}\sum_{j=i+1}^{n}w_{ij}s_is_j-\sum_{i=1}^n\theta_is_i E(s)=i=1n1j=i+1nwijsisji=1nθisi

给出的公式 E ( s ) E(\boldsymbol{s}) E(s) 表示的是一个能量函数,通常用于描述物理系统、机器学习模型(如Ising模型或Potts模型)中的配置能量。这个特定的能量函数包含两部分组成:配对项和单点项。

公式中的符号含义如下:

  • E ( s ) E(\boldsymbol{s}) E(s):给定配置 s \boldsymbol{s} s 的能量。
  • n n n:系统中的粒子或站点数量。
  • w i j w_{ij} wij:粒子 i i i j j j 之间的相互作用权重或耦合强度。如果 i i i j j j 相邻,则 w i j w_{ij} wij 通常是非零的。
  • s i s_i si s j s_j sj:分别是粒子 i i i j j j 的状态或自旋,可以是离散的值(如 + 1 +1 +1 − 1 -1 1)。
  • θ i \theta_i θi:与粒子 i i i 相关的局部场或外磁场。
  • ∑ i = 1 n − 1 ∑ j = i + 2 n \sum_{i=1}^{n-1}\sum_{j=i+2}^{n} i=1n1j=i+2n:表示对所有可能的粒子对 ( i , j ) (i, j) (i,j) 求和,其中 j > i + 1 j > i+1 j>i+1 确保配对项不重复计算。

能量函数可以分解为:

  1. 配对项 − ∑ i = 1 n − 1 ∑ j = i + 2 n w i j s i s j -\sum_{i=1}^{n-1}\sum_{j=i+2}^{n}w_{ij}s_is_j i=1n1j=i+2nwijsisj,这部分计算了所有非相邻粒子对之间的相互作用能量。如果 s i s_i si s j s_j sj 相同,且 w i j w_{ij} wij 为正,则这对应于一个较低的能量状态;如果它们相反,则对应于较高的能量状态。

  2. 单点项 − ∑ i = 1 n θ i s i -\sum_{i=1}^n\theta_is_i i=1nθisi,这部分计算了每个粒子与其局部场的相互作用能量。如果 s i s_i si θ i \theta_i θi 同号,则这对应于较低的能量状态;如果它们异号,则对应于较高的能量状态。

在物理系统中,这个能量函数可以用来描述系统的平衡状态,其中系统倾向于最小化其能量。在机器学习中,特别是在无监督学习或玻尔兹曼机(Boltzmann Machines)中,这样的能量函数可以用来定义数据的概率分布,并通过随机梯度下降等方法进行优化。

式5.22(波尔兹曼机2)

P ( v ∣ h ) = ∏ i = 1 d P ( v i   ∣   h ) P(\boldsymbol{v}|\boldsymbol{h})=\prod_{i=1}^dP(v_i\, | \, \boldsymbol{h}) P(vh)=i=1dP(vih)
给出的公式表示在给定隐藏变量 h \boldsymbol{h} h 的条件下,观测变量 v \boldsymbol{v} v 的概率分布。这种类型的概率表达式通常出现在概率图模型中,如贝叶斯网络或生成对抗网络(GANs)。

公式中的符号含义如下:

  • P ( v ∣ h ) P(\boldsymbol{v}|\boldsymbol{h}) P(vh):给定隐藏变量 h \boldsymbol{h} h 时,观测变量 v \boldsymbol{v} v 的联合概率。
  • d d d:观测变量的维度数。
  • v i v_i vi:观测变量中的第 i i i 个维度。
  • h \boldsymbol{h} h:隐藏变量的向量,可能影响观测变量的值。

公式本身是一个条件概率的乘积形式,表示为:

P ( v ∣ h ) = ∏ i = 1 d P ( v i   ∣   h ) P(\boldsymbol{v}|\boldsymbol{h}) = \prod_{i=1}^d P(v_i \, | \, \boldsymbol{h}) P(vh)=i=1dP(vih)

这个公式的含义是:

  • 对于观测变量向量 v \boldsymbol{v} v 中的每一个维度 v i v_i vi,我们计算在给定隐藏变量 h \boldsymbol{h} h 的条件下该维度的概率分布 P ( v i   ∣   h ) P(v_i \, | \, \boldsymbol{h}) P(vih)
  • 然后,我们把所有这些条件概率 P ( v i   ∣   h ) P(v_i \, | \, \boldsymbol{h}) P(vih) 相乘,得到整个观测变量向量在给定隐藏变量条件下的联合概率。

这种分解是条件独立性的一个应用,它假设在给定隐藏变量 h \boldsymbol{h} h 的情况下,观测变量的各个维度是相互独立的。这使得可以单独处理每个维度的概率分布,简化了计算过程。

在机器学习的应用中,这种类型的概率表达式可以用于:

  • 建模观测数据和潜在因素之间的关系。
  • 在生成模型中,如变分自编码器(VAEs)或GANs,生成观测数据。
  • 在贝叶斯网络中,进行概率推理和预测。

式5.23(波尔兹曼机3)

P ( h ∣ v ) = ∏ j = 1 q P ( h i   ∣   v ) P(\boldsymbol{h}|\boldsymbol{v})=\prod_{j=1}^qP(h_i\, | \, \boldsymbol{v}) P(hv)=j=1qP(hiv)
给出的公式表示在给定观测变量 v \boldsymbol{v} v 的条件下,隐藏变量 h \boldsymbol{h} h 的概率分布。这种类型的概率表达式通常出现在概率图模型中,特别是在处理隐变量模型或进行概率推理时。

公式中的符号含义如下:

  • P ( h ∣ v ) P(\boldsymbol{h}|\boldsymbol{v}) P(hv):给定观测变量 v \boldsymbol{v} v 时,隐藏变量 h \boldsymbol{h} h 的联合概率。
  • q q q:隐藏变量的维度数。
  • h i h_i hi:隐藏变量中的第 i i i 个维度。
  • v \boldsymbol{v} v:观测变量的向量。

公式本身是一个条件概率的乘积形式,表示为:

P ( h ∣ v ) = ∏ j = 1 q P ( h j   ∣   v ) P(\boldsymbol{h}|\boldsymbol{v}) = \prod_{j=1}^q P(h_j \, | \, \boldsymbol{v}) P(hv)=j=1qP(hjv)

这个公式的含义是:

  • 对于隐藏变量向量 h \boldsymbol{h} h 中的每一个维度 h j h_j hj,我们计算在给定观测变量 v \boldsymbol{v} v 的条件下该维度的概率分布 P ( h j   ∣   v ) P(h_j \, | \, \boldsymbol{v}) P(hjv)
  • 然后,我们把所有这些条件概率 P ( h j   ∣   v ) P(h_j \, | \, \boldsymbol{v}) P(hjv) 相乘,得到整个隐藏变量向量在给定观测变量条件下的联合概率。

这种分解是条件独立性的一个应用,它假设在给定观测变量 v \boldsymbol{v} v 的情况下,隐藏变量的各个维度是相互独立的。这使得可以单独处理每个维度的概率分布,简化了计算过程。

在机器学习的应用中,这种类型的概率表达式可以用于:

  • 推断给定观测数据的潜在因素或状态。
  • 在隐变量模型中,如隐马尔可夫模型(HMMs)、动态贝叶斯网络(DBNs)或隐变量图形模型中,进行概率推理。
  • 在贝叶斯推断中,根据观测数据更新对隐藏变量的信念或估计。

通过这种方式,可以处理复杂的数据依赖关系,并在给定观测数据的情况下推断出隐藏变量的分布。然而,需要注意的是,上述公式在实际中可能并不总是成立,因为它假设了隐藏变量的所有维度在给定观测数据时都是条件独立的,这在现实中可能并不适用。在许多情况下,可能需要使用更复杂的方法来计算 P ( h ∣ v ) P(\boldsymbol{h}|\boldsymbol{v}) P(hv),例如使用贝叶斯网络中的条件概率表或通过求解边缘化和条件化问题。

通过这种方式,可以更有效地处理复杂的数据生成过程,并在给定一些观测数据的情况下推断出隐藏变量的分布。

式5.24

Δ w = η ( v h T − v ’ h ’ T ) \Delta w=\eta(\boldsymbol{v}\boldsymbol{h}^\mathrm{T}-\boldsymbol{v}’\boldsymbol{h}’^{\mathrm{T}}) Δw=η(vhTvhT)

给出的公式用于描述权重更新 Δ w \Delta w Δw 的一种方法,这在某些机器学习算法中,特别是那些涉及向量 v \boldsymbol{v} v h \boldsymbol{h} h 的算法中使用。这个公式可能用于调整权重,以使得预测输出更接近期望的输出。

公式中的符号含义如下:

  • Δ w \Delta w Δw:权重的更新量。
  • η \eta η:学习率,一个超参数,用于控制更新的步长。
  • v \boldsymbol{v} v:通常表示输入向量或观测向量。
  • h \boldsymbol{h} h:通常表示隐藏层的输出向量或状态向量。
  • v ′ \boldsymbol{v}' v h ′ \boldsymbol{h}' h:分别表示调整后的输入向量和隐藏层输出向量,或者可以理解为更新后的目标向量和相应的隐藏层输出。

权重更新的公式是:

Δ w = η ( v h T − v ′ h ′ T ) \Delta w = \eta(\boldsymbol{v}\boldsymbol{h}^\mathrm{T} - \boldsymbol{v}'\boldsymbol{h}'^\mathrm{T}) Δw=η(vhTvhT)

这个公式的含义是:

  1. 计算当前权重下,输入向量 v \boldsymbol{v} v 和隐藏层输出向量 h \boldsymbol{h} h 的外积(或称为Kronecker积),这代表了权重矩阵的一个候选更新。
  2. 计算调整后的输入向量 v ′ \boldsymbol{v}' v 和隐藏层输出向量 h ′ \boldsymbol{h}' h 的外积,这代表了理想情况下的权重更新。
  3. 从当前权重更新量中减去理想情况下的权重更新量,得到权重的实际更新量 Δ w \Delta w Δw
  4. 将学习率 η \eta η 乘以这个差值,得到最终的权重更新量。

然后,可以使用这个更新量来调整权重矩阵:

w : = w + Δ w w := w + \Delta w w:=w+Δw

这个过程在每次迭代中重复执行,目的是通过梯度下降或其变体来最小化损失函数。

需要注意的是,这个公式在不同的上下文中可能有不同的解释,具体取决于 v \boldsymbol{v} v h \boldsymbol{h} h 的具体含义以及学习算法的类型。在某些情况下, v ′ \boldsymbol{v}' v h ′ \boldsymbol{h}' h 可能代表了更新后的权重或经过某种优化策略处理的向量。

  • 12
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值