深层神经网络:原理与传播机制详解
网络架构概述
本文探讨的深层神经网络结构如下:
- 输入层:3个神经元
- 第一隐藏层:5个神经元
- 第二隐藏层:5个神经元
- 第三隐藏层:3个神经元
- 输出层:1个神经元
数学符号定义
符号 | 含义 | 维度 |
---|---|---|
X X X | 输入数据 | 3 × 1 3 \times 1 3×1 |
W [ 1 ] W^{[1]} W[1] | 第一层权重 | 5 × 3 5 \times 3 5×3 |
b [ 1 ] b^{[1]} b[1] | 第一层偏置 | 5 × 1 5 \times 1 5×1 |
Z [ 1 ] Z^{[1]} Z[1] | 第一层线性输出 | 5 × 1 5 \times 1 5×1 |
A [ 1 ] A^{[1]} A[1] | 第一层激活输出 | 5 × 1 5 \times 1 5×1 |
W [ 2 ] W^{[2]} W[2] | 第二层权重 | 5 × 5 5 \times 5 5×5 |
b [ 2 ] b^{[2]} b[2] | 第二层偏置 | 5 × 1 5 \times 1 5×1 |
Z [ 2 ] Z^{[2]} Z[2] | 第二层线性输出 | 5 × 1 5 \times 1 5×1 |
A [ 2 ] A^{[2]} A[2] | 第二层激活输出 | 5 × 1 5 \times 1 5×1 |
W [ 3 ] W^{[3]} W[3] | 第三层权重 | 3 × 5 3 \times 5 3×5 |
b [ 3 ] b^{[3]} b[3] | 第三层偏置 | 3 × 1 3 \times 1 3×1 |
Z [ 3 ] Z^{[3]} Z[3] | 第三层线性输出 | 3 × 1 3 \times 1 3×1 |
A [ 3 ] A^{[3]} A[3] | 第三层激活输出 | 3 × 1 3 \times 1 3×1 |
W [ 4 ] W^{[4]} W[4] | 输出层权重 | 1 × 3 1 \times 3 1×3 |
b [ 4 ] b^{[4]} b[4] | 输出层偏置 | 1 × 1 1 \times 1 1×1 |
Z [ 4 ] Z^{[4]} Z[4] | 输出层线性输出 | 1 × 1 1 \times 1 1×1 |
A [ 4 ] A^{[4]} A[4] | 输出层激活输出 | 1 × 1 1 \times 1 1×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]) -
第二隐藏层:
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]) -
第三隐藏层:
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]) -
输出层:
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)
反向传播机制
反向传播通过链式法则计算损失函数对各参数的梯度,从输出层向输入层反向传播误差:
梯度计算公式
-
输出层梯度:
d Z [ 4 ] = A [ 4 ] − Y dZ^{[4]} = A^{[4]} - Y dZ[4]=A[4]−Y
d W [ 4 ] = 1 m d Z [ 4 ] ( A [ 3 ] ) T dW^{[4]} = \frac{1}{m} dZ^{[4]} (A^{[3]})^T dW[4]=m1dZ[4](A[3])T
d b [ 4 ] = 1 m ∑ d Z [ 4 ] db^{[4]} = \frac{1}{m} \sum dZ^{[4]} db[4]=m1∑dZ[4] -
第三隐藏层梯度:
d A [ 3 ] = ( W [ 4 ] ) T d Z [ 4 ] dA^{[3]} = (W^{[4]})^T dZ^{[4]} dA[3]=(W[4])TdZ[4]
d Z [ 3 ] = d A [ 3 ] ⊙ g [ 3 ] ′ ( Z [ 3 ] ) dZ^{[3]} = dA^{[3]} \odot g^{[3]\prime}(Z^{[3]}) dZ[3]=dA[3]⊙g[3]′(Z[3])
d W [ 3 ] = 1 m d Z [ 3 ] ( A [ 2 ] ) T dW^{[3]} = \frac{1}{m} dZ^{[3]} (A^{[2]})^T dW[3]=m1dZ[3](A[2])T
d b [ 3 ] = 1 m ∑ d Z [ 3 ] db^{[3]} = \frac{1}{m} \sum dZ^{[3]} db[3]=m1∑dZ[3] -
第二隐藏层梯度:
d A [ 2 ] = ( W [ 3 ] ) T d Z [ 3 ] dA^{[2]} = (W^{[3]})^T dZ^{[3]} dA[2]=(W[3])TdZ[3]
d Z [ 2 ] = d A [ 2 ] ⊙ g [ 2 ] ′ ( Z [ 2 ] ) dZ^{[2]} = dA^{[2]} \odot g^{[2]\prime}(Z^{[2]}) dZ[2]=dA[2]⊙g[2]′(Z[2])
d W [ 2 ] = 1 m d Z [ 2 ] ( A [ 1 ] ) T dW^{[2]} = \frac{1}{m} dZ^{[2]} (A^{[1]})^T dW[2]=m1dZ[2](A[1])T
d b [ 2 ] = 1 m ∑ d Z [ 2 ] db^{[2]} = \frac{1}{m} \sum dZ^{[2]} db[2]=m1∑dZ[2] -
第一隐藏层梯度:
d A [ 1 ] = ( W [ 2 ] ) T d Z [ 2 ] dA^{[1]} = (W^{[2]})^T dZ^{[2]} dA[1]=(W[2])TdZ[2]
d Z [ 1 ] = d A [ 1 ] ⊙ g [ 1 ] ′ ( Z [ 1 ] ) dZ^{[1]} = dA^{[1]} \odot g^{[1]\prime}(Z^{[1]}) dZ[1]=dA[1]⊙g[1]′(Z[1])
d W [ 1 ] = 1 m d Z [ 1 ] X T dW^{[1]} = \frac{1}{m} dZ^{[1]} X^T dW[1]=m1dZ[1]XT
d b [ 1 ] = 1 m ∑ d Z [ 1 ] db^{[1]} = \frac{1}{m} \sum dZ^{[1]} db[1]=m1∑dZ[1]
其中:
- ⊙ \odot ⊙ 表示逐元素乘法(Hadamard积)
- g ′ g^{\prime} g′ 为激活函数的导数
- m m m 为样本数量
激活函数导数
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)=1−tanh2(z)
3. ReLU导数
ReLU ′ ( z ) = { 1 if z > 0 0 otherwise \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 ) = { 1 if z > 0 0.01 otherwise \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 |
深层网络优势
- 表征能力:指数级增强的特征表示能力
- 层次抽象:自动学习从低级到高级的特征层次
- 模式识别:对复杂模式的识别能力远超浅层网络
- 通用性:适用于各种数据类型(图像、文本、语音)
传播过程总结
前向传播
反向传播
深层神经网络通过多层次的非线性变换构建强大的特征表示能力,前向传播实现复杂函数映射,反向传播通过链式法则高效计算梯度,二者协同工作使网络能够学习高度复杂的输入-输出关系。