深层神经网络:原理与传播机制详解

网络架构概述

本文探讨的深层神经网络结构如下:

  • 输入层:3个神经元
  • 第一隐藏层:5个神经元
  • 第二隐藏层:5个神经元
  • 第三隐藏层:3个神经元
  • 输出层:1个神经元
输出层
隐藏层3
隐藏层2
隐藏层1
输入层
输出
神经元3.1
神经元3.2
神经元3.3
神经元2.1
神经元2.2
神经元2.3
神经元2.4
神经元2.5
神经元1.1
神经元1.2
神经元1.3
神经元1.4
神经元1.5
输入1
输入2
输入3

数学符号定义

符号 含义 维度
XXX 输入数据 3×13 \times 13×1
W[1]W^{[1]}W[1] 第一层权重 5×35 \times 35×3
b[1]b^{[1]}b[1] 第一层偏置 5×15 \times 15×1
Z[1]Z^{[1]}Z[1] 第一层线性输出 5×15 \times 15×1
A[1]A^{[1]}A[1] 第一层激活输出 5×15 \times 15×1
W[2]W^{[2]}W[2] 第二层权重 5×55 \times 55×5
b[2]b^{[2]}b[2] 第二层偏置 5×15 \times 15×1
Z[2]Z^{[2]}Z[2] 第二层线性输出 5×15 \times 15×1
A[2]A^{[2]}A[2] 第二层激活输出 5×15 \times 15×1
W[3]W^{[3]}W[3] 第三层权重 3×53 \times 53×5
b[3]b^{[3]}b[3] 第三层偏置 3×13 \times 13×1
Z[3]Z^{[3]}Z[3] 第三层线性输出 3×13 \times 13×1
A[3]A^{[3]}A[3] 第三层激活输出 3×13 \times 13×1
W[4]W^{[4]}W[4] 输出层权重 1×31 \times 31×3
b[4]b^{[4]}b[4] 输出层偏置 1×11 \times 11×1
Z[4]Z^{[4]}Z[4] 输出层线性输出 1×11 \times 11×1
A[4]A^{[4]}A[4] 输出层激活输出 1×11 \times 11×1

前向传播机制

前向传播是数据从输入层流向输出层的过程,计算步骤如下:

输入 X
计算 Z1 = W1·X + b1
激活 A1 = g1(Z1)
计算 Z2 = W2·A1 + b2
激活 A2 = g2(Z2)
计算 Z3 = W3·A2 + b3
激活 A3 = g3(Z3)
计算 Z4 = W4·A3 + b4
输出 A4 = σ(Z4)

数学公式表示

  1. 第一隐藏层
    Z[1]=W[1]X+b[1]Z^{[1]} = W^{[1]}X + b^{[1]}Z[1]=W[1]X+b[1]
    A[1]=g[1](Z[1])A^{[1]} = g^{[1]}(Z^{[1]})A[1]=g[1](Z[1])

  2. 第二隐藏层
    Z[2]=W[2]A[1]+b[2]Z^{[2]} = W^{[2]}A^{[1]} + b^{[2]}Z[2]=W[2]A[1]+b[2]
    A[2]=g[2](Z[2])A^{[2]} = g^{[2]}(Z^{[2]})A[2]=g[2](Z[2])

  3. 第三隐藏层
    Z[3]=W[3]A[2]+b[3]Z^{[3]} = W^{[3]}A^{[2]} + b^{[3]}Z[3]=W[3]A[2]+b[3]
    A[3]=g[3](Z[3])A^{[3]} = g^{[3]}(Z^{[3]})A[3]=g[3](Z[3])

  4. 输出层
    Z[4]=W[4]A[3]+b[4]Z^{[4]} = W^{[4]}A^{[3]} + b^{[4]}Z[4]=W[4]A[3]+b[4]
    A[4]=σ(Z[4])A^{[4]} = \sigma(Z^{[4]})A[4]=σ(Z[4])

其中:

  • g[1],g[2],g[3]g^{[1]}, g^{[2]}, g^{[3]}g[1],g[2],g[3] 为隐藏层激活函数(如ReLU, tanh)
  • σ\sigmaσ 为输出层激活函数(如sigmoid)

反向传播机制

反向传播通过链式法则计算损失函数对各参数的梯度,从输出层向输入层反向传播误差:

损失函数 J
dZ4 = A4 - Y
dW4 = dZ4·A3ᵀ
db4 = dZ4
dA3 = W4ᵀ·dZ4
dZ3 = dA3 * g3'(Z3)
dW3 = dZ3·A2ᵀ
db3 = dZ3
dA2 = W3ᵀ·dZ3
dZ2 = dA2 * g2'(Z2)
dW2 = dZ2·A1ᵀ
db2 = dZ2
dA1 = W2ᵀ·dZ2
dZ1 = dA1 * g1'(Z1)
dW1 = dZ1·Xᵀ
db1 = dZ1

梯度计算公式

  1. 输出层梯度
    dZ[4]=A[4]−YdZ^{[4]} = A^{[4]} - YdZ[4]=A[4]Y
    dW[4]=1mdZ[4](A[3])TdW^{[4]} = \frac{1}{m} dZ^{[4]} (A^{[3]})^TdW[4]=m1dZ[4](A[3])T
    db[4]=1m∑dZ[4]db^{[4]} = \frac{1}{m} \sum dZ^{[4]}db[4]=m1dZ[4]

  2. 第三隐藏层梯度
    dA[3]=(W[4])TdZ[4]dA^{[3]} = (W^{[4]})^T dZ^{[4]}dA[3]=(W[4])TdZ[4]
    dZ[3]=dA[3]⊙g[3]′(Z[3])dZ^{[3]} = dA^{[3]} \odot g^{[3]\prime}(Z^{[3]})dZ[3]=dA[3]g[3](Z[3])
    dW[3]=1mdZ[3](A[2])TdW^{[3]} = \frac{1}{m} dZ^{[3]} (A^{[2]})^TdW[3]=m1dZ[3](A[2])T
    db[3]=1m∑dZ[3]db^{[3]} = \frac{1}{m} \sum dZ^{[3]}db[3]=m1dZ[3]

  3. 第二隐藏层梯度
    dA[2]=(W[3])TdZ[3]dA^{[2]} = (W^{[3]})^T dZ^{[3]}dA[2]=(W[3])TdZ[3]
    dZ[2]=dA[2]⊙g[2]′(Z[2])dZ^{[2]} = dA^{[2]} \odot g^{[2]\prime}(Z^{[2]})dZ[2]=dA[2]g[2](Z[2])
    dW[2]=1mdZ[2](A[1])TdW^{[2]} = \frac{1}{m} dZ^{[2]} (A^{[1]})^TdW[2]=m1dZ[2](A[1])T
    db[2]=1m∑dZ[2]db^{[2]} = \frac{1}{m} \sum dZ^{[2]}db[2]=m1dZ[2]

  4. 第一隐藏层梯度
    dA[1]=(W[2])TdZ[2]dA^{[1]} = (W^{[2]})^T dZ^{[2]}dA[1]=(W[2])TdZ[2]
    dZ[1]=dA[1]⊙g[1]′(Z[1])dZ^{[1]} = dA^{[1]} \odot g^{[1]\prime}(Z^{[1]})dZ[1]=dA[1]g[1](Z[1])
    dW[1]=1mdZ[1]XTdW^{[1]} = \frac{1}{m} dZ^{[1]} X^TdW[1]=m1dZ[1]XT
    db[1]=1m∑dZ[1]db^{[1]} = \frac{1}{m} \sum dZ^{[1]}db[1]=m1dZ[1]

其中:

  • ⊙\odot 表示逐元素乘法(Hadamard积)
  • g′g^{\prime}g 为激活函数的导数
  • mmm 为样本数量

激活函数导数

1. Sigmoid导数

σ′(z)=σ(z)(1−σ(z))\sigma'(z) = \sigma(z)(1 - \sigma(z))σ(z)=σ(z)(1σ(z))

2. Tanh导数

tanh⁡′(z)=1−tanh⁡2(z)\tanh'(z) = 1 - \tanh^2(z)tanh(z)=1tanh2(z)

3. ReLU导数

ReLU′(z)={1if z>00otherwise\text{ReLU}'(z) = \begin{cases} 1 & \text{if } z > 0 \\ 0 & \text{otherwise} \end{cases}ReLU(z)={10if z>0otherwise

4. Leaky ReLU导数

LeakyReLU′(z)={1if z>00.01otherwise\text{LeakyReLU}'(z) = \begin{cases} 1 & \text{if } z > 0 \\ 0.01 & \text{otherwise} \end{cases}LeakyReLU(z)={10.01if z>0otherwise

深层网络特性

1. 层次化特征学习

原始输入
低级特征
边缘/纹理
中级特征
部件/图案
高级特征
对象/概念
最终预测

2. 梯度传播挑战

  • 梯度消失:深层网络中梯度指数级减小
  • 梯度爆炸:深层网络中梯度指数级增大
  • 解决方案
    • 合适的权重初始化(Xavier, He)
    • 批归一化(Batch Normalization)
    • 残差连接(Residual Connections)

3. 参数规模分析

权重数量 偏置数量 总参数
输入→隐藏1 5×3=15 5 20
隐藏1→隐藏2 5×5=25 5 30
隐藏2→隐藏3 3×5=15 3 18
隐藏3→输出 1×3=3 1 4
总计 58 14 72

深层网络优势

  1. 表征能力:指数级增强的特征表示能力
  2. 层次抽象:自动学习从低级到高级的特征层次
  3. 模式识别:对复杂模式的识别能力远超浅层网络
  4. 通用性:适用于各种数据类型(图像、文本、语音)

传播过程总结

前向传播

W1,b1
g1
W2,b2
g2
W3,b3
g3
W4,b4
σ
输入X
线性变换Z1
激活输出A1
线性变换Z2
激活输出A2
线性变换Z3
激活输出A3
线性变换Z4
预测输出ŷ

反向传播

∂J/∂ŷ
∂J/∂W4
∂J/∂b4
∂J/∂A3
∂J/∂Z3
∂J/∂W3
∂J/∂b3
∂J/∂A2
∂J/∂Z2
∂J/∂W2
∂J/∂b2
∂J/∂A1
∂J/∂Z1
∂J/∂W1
∂J/∂b1
损失J
dZ4
权重梯度dW4
偏置梯度db4
激活梯度dA3
dZ3
权重梯度dW3
偏置梯度db3
激活梯度dA2
dZ2
权重梯度dW2
偏置梯度db2
激活梯度dA1
dZ1
权重梯度dW1
偏置梯度db1

深层神经网络通过多层次的非线性变换构建强大的特征表示能力,前向传播实现复杂函数映射,反向传播通过链式法则高效计算梯度,二者协同工作使网络能够学习高度复杂的输入-输出关系。

你可能感兴趣的:(深度学习,神经网络,人工智能,机器学习,深度学习)