当前位置: 首页 > news >正文

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

网络架构概述

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

  • 输入层: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]=m1dZ[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]=m1dZ[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]=m1dZ[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]=m1dZ[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)=1tanh2(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. 参数规模分析

权重数量偏置数量总参数
输入→隐藏15×3=15520
隐藏1→隐藏25×5=25530
隐藏2→隐藏33×5=15318
隐藏3→输出1×3=314
总计581472

深层网络优势

  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

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

http://www.dtcms.com/a/267207.html

相关文章:

  • java的注解和反射
  • JVM的位置和JVM的结构体系
  • 交互式剖腹产手术模拟系统开发方案
  • 【openp2p】学习3:【专利分析】一种基于混合网络的自适应切换方法、装 置、设备及介质
  • C# 事件(事件访问器)
  • vue中添加原生右键菜单
  • [特殊字符]全面解锁远程运维新时代:CRaxsRat v7.4 工具实用指南(附推荐资源)
  • Oracle 高级 SQL 查询与函数详解:多表连接、子查询、聚合、分析函数
  • 冒泡和快速排序的区别
  • faster_lio 原理及代码
  • 【Oracle专栏】分区表增加分区
  • WPF学习笔记(25)MVVM框架与项目
  • spring-ai-alibaba 1.0.0.2 学习(十二)——聊天记忆扩展包
  • 深度学习的核心理论与技术
  • 11_架构演进:从单体到云原生的蜕变
  • 炸鸡派例程-ADC
  • RabbitMQ 4.1.1初体验-队列和交换机
  • 【AI论文】WorldVLA:迈向自回归动作世界模型
  • 第二章 简单程序设计
  • 盘式制动器的设计+说明书和CAD)【6张】+绛重
  • 一种结合双阶段注意力循环神经网络(DA-RNN)和卷积块注意力模块(CBAM)的滚动轴承故障诊断方法
  • Rust实用案例解析
  • 后端树形结构
  • Qt处理USB摄像头开发说明与QtMultimedia与V4L2融合应用
  • 【爬虫】逆向爬虫初体验之爬取音乐
  • 408第三季part2 - 计算机网络 - 物理层
  • 由coalesce(1)OOM引发的coalesce和repartition理解
  • 3dmax一键烘焙很多张贴图合并成一张贴图插件支持fbx/obj/blender多材质模型合并为一张贴图
  • OneCode自主UI设计体系:架构解析与核心实现
  • web前端面试-- MVC、MVP、MVVM 架构模式对比