> 文章列表 > 动手学深度学习第4.8章某公式推导

动手学深度学习第4.8章某公式推导

动手学深度学习第4.8章某公式推导

这个公式是在计算神经网络中某个隐藏层神经元的输出 oio_ioi​ 的期望值 E[oi]E[o_i]E[oi​] 和方差 Var[oi]\\mathrm{Var}[o_i]Var[oi​]。为了简化讨论,我们假设前一层神经元的输出 xjx_jxj​ 和权重 wijw_{ij}wij​ 之间是独立的,并且它们的期望值为零,即 E[xj]=0E[x_j] = 0E[xj​]=0 和 E[wij]=0E[w_{ij}] = 0E[wij​]=0。同时,我们假设权重 wijw_{ij}wij​ 的方差为 σ2\\sigma^2σ2,前一层神经元输出 xjx_jxj​ 的方差为 γ2\\gamma^2γ2。

现在我们来看这个公式的推导过程:

  1. 首先计算输出 oio_ioi​ 的期望值 E[oi]E[o_i]E[oi​]:
    E[oi]=∑j=1ninE[wijxj]=∑j=1ninE[wij]E[xj]=0,\\begin{aligned} E[o_i] & = \\sum_{j=1}^{n_\\mathrm{in}} E[w_{ij} x_j] \\\\ & = \\sum_{j=1}^{n_\\mathrm{in}} E[w_{ij}] E[x_j] \\\\ & = 0, \\end{aligned} E[oi​]​=j=1∑nin​​E[wij​xj​]=j=1∑nin​​E[wij​]E[xj​]=0,​
    这里我们使用了独立随机变量的期望值乘法规则:E[XY]=E[X]E[Y]E[XY] = E[X]E[Y]E[XY]=E[X]E[Y]。

  2. 接下来计算输出 oio_ioi​ 的方差 Var[oi]\\mathrm{Var}[o_i]Var[oi​]:
    Var[oi]=E[oi2]−(E[oi])2=∑j=1ninE[wij2xj2]−0=∑j=1ninE[wij2]E[xj2]=ninσ2γ2.\\begin{aligned} \\mathrm{Var}[o_i] & = E[o_i^2] - (E[o_i])^2 \\\\ & = \\sum_{j=1}^{n_\\mathrm{in}} E[w^2_{ij} x^2_j] - 0 \\\\ & = \\sum_{j=1}^{n_\\mathrm{in}} E[w^2_{ij}] E[x^2_j] \\\\ & = n_\\mathrm{in} \\sigma^2 \\gamma^2. \\end{aligned} Var[oi​]​=E[oi2​]−(E[oi​])2=j=1∑nin​​E[wij2​xj2​]−0=j=1∑nin​​E[wij2​]E[xj2​]=nin​σ2γ2.​
    在这里,我们首先使用了方差的定义 Var[X]=E[X2]−(E[X])2\\mathrm{Var}[X] = E[X^2] - (E[X])^2Var[X]=E[X2]−(E[X])2。然后,我们再次应用了独立随机变量的期望值乘法规则:E[X2Y2]=E[X2]E[Y2]E[X^2 Y^2] = E[X^2]E[Y^2]E[X2Y2]=E[X2]E[Y2]。最后,由于所有权重 wijw_{ij}wij​ 和神经元输出 xjx_jxj​ 的方差分别相等(分别为 σ2\\sigma^2σ2 和 γ2\\gamma^2γ2),我们可以将求和转化为 ninσ2γ2n_\\mathrm{in} \\sigma^2 \\gamma^2nin​σ2γ2。

所以,这个公式中的 ninσ2γ2n_\\mathrm{in} \\sigma^2 \\gamma^2nin​σ2γ2 是通过计算神经元输出 oio_ioi​ 的方差 Var[oi]\\mathrm{Var}[o_i]Var[oi​] 推导出来的。