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

网络架构概述

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

  • 输入层: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

数学符号定义

符号 含义 维度
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

前向传播机制

前向传播是数据从输入层流向输出层的过程,计算步骤如下:
输入 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. 输出层梯度
    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]

  2. 第三隐藏层梯度
    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]

  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]

  4. 第一隐藏层梯度
    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

深层网络优势

  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

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

相关推荐
PyAIExplorer23 分钟前
基于 OpenCV 的图像 ROI 切割实现
人工智能·opencv·计算机视觉
风口猪炒股指标26 分钟前
技术分析、超短线打板模式与情绪周期理论,在市场共识的形成、分歧、瓦解过程中缘起性空的理解
人工智能·博弈论·群体博弈·人生哲学·自我引导觉醒
ai_xiaogui1 小时前
一键部署AI工具!用AIStarter快速安装ComfyUI与Stable Diffusion
人工智能·stable diffusion·部署ai工具·ai应用市场教程·sd快速部署·comfyui一键安装
聚客AI2 小时前
Embedding进化论:从Word2Vec到OpenAI三代模型技术跃迁
人工智能·llm·掘金·日新计划
weixin_387545642 小时前
深入解析 AI Gateway:新一代智能流量控制中枢
人工智能·gateway
聽雨2372 小时前
03每日简报20250705
人工智能·社交电子·娱乐·传媒·媒体
二川bro3 小时前
飞算智造JavaAI:智能编程革命——AI重构Java开发新范式
java·人工智能·重构
acstdm3 小时前
DAY 48 CBAM注意力
人工智能·深度学习·机器学习
澪-sl3 小时前
基于CNN的人脸关键点检测
人工智能·深度学习·神经网络·计算机视觉·cnn·视觉检测·卷积神经网络
羊小猪~~3 小时前
数据库学习笔记(十七)--触发器的使用
数据库·人工智能·后端·sql·深度学习·mysql·考研