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

神经网络中层与层之间的关联

目录

1. 层与层之间的核心关联:数据流动与参数传递

1.1 数据流动(Forward Propagation)

1.2 参数传递(Backward Propagation)

2. 常见层与层之间的关联模式

2.1 典型全连接网络(如手写数字分类)

2.2 卷积神经网络(CNN,如图像分类)

2.3 循环神经网络(RNN/LSTM,如文本生成)

2.4 Transformer(如机器翻译)

3. 层间关联的核心原则

3.1 数据传递的“管道”

3.2 参数的“接力更新”

3.3 层的“功能分工”

4. 图形化示意图(以CNN为例)

5. 常见问题解答

Q:为什么有些层之间需要“激活函数”?

Q:层之间如何决定“连接顺序”?

Q:层之间的参数如何共享?

6. 总结:层与层之间的关联是“数据流动 + 参数协同”


1. 层与层之间的核心关联:数据流动与参数传递

1.1 数据流动(Forward Propagation)
  • 流程:数据从输入层开始,逐层传递到输出层。
  • 关键点
    • 输入 → 隐藏层 → 输出层,每一层对数据进行变换。
    • 每层的输出是下一层的输入
1.2 参数传递(Backward Propagation)
  • 流程:训练时,通过反向传播更新参数(权重和偏置)。
  • 关键点
    • 从输出层反向回传误差,逐层计算梯度。
    • 梯度用于更新对应层的参数(如权重、偏置)。

2. 常见层与层之间的关联模式

以下是几种典型模型的分层结构及层间关联示例:

2.1 典型全连接网络(如手写数字分类)
 
输入层(像素) → 全连接层(隐藏层1) → 激活层(ReLU) → 全连接层(隐藏层2) → 输出层(Softmax)
  • 数据流动

    1. 输入层接收28x28像素的图像(784个输入)。
    2. 隐藏层1通过权重矩阵 W1W1​ 和偏置 b1b1​ 进行线性变换:

      z1=W1⋅输入+b1z1​=W1​⋅输入+b1​

    3. 激活层(ReLU)对 z1z1​ 进行非线性变换:ReLU(z1)ReLU(z1​)。
    4. 隐藏层2重复上述过程,最终输出层生成类别概率。
  • 参数关联

    • 每个全连接层的权重和偏置独立更新。
    • 后层的输入依赖前层的输出。

2.2 卷积神经网络(CNN,如图像分类)
 
输入层(图像) → 卷积层 → 激活层(ReLU) → 池化层 → 全连接层 → 输出层
  • 数据流动

    1. 卷积层用卷积核提取边缘、纹理等局部特征。

      特征图=卷积核∗输入图像+偏置特征图=卷积核∗输入图像+偏置

    2. 激活层(ReLU)增强非线性:max⁡(0,特征图)max(0,特征图)。
    3. 池化层(如最大池化)下采样,减少尺寸:

      输出=取窗口最大值输出=取窗口最大值

    4. 全连接层将特征展平后分类。
  • 参数关联

    • 卷积层的卷积核权重和偏置是参数。
    • 池化层无参数,仅执行固定规则。

2.3 循环神经网络(RNN/LSTM,如文本生成)
 
输入层(词向量) → 嵌入层 → LSTM层(时间步1) → LSTM层(时间步2) → 全连接层 → 输出层
  • 数据流动

    1. 嵌入层将单词映射为向量(如“猫”→[0.2, 0.5, ...])。
    2. LSTM层按时间步处理序列:
      • 当前输入前一时刻的隐藏状态共同决定当前状态。
      • 公式示例:

        ht=LSTM(xt,ht−1)ht​=LSTM(xt​,ht−1​)

    3. 全连接层将最终隐藏状态转化为输出。
  • 参数关联

    • LSTM的权重和偏置(如遗忘门、输入门的参数)在时间步间共享。

2.4 Transformer(如机器翻译)
 
输入层(词向量) → 嵌入层 → 位置编码 → 自注意力层 → 前馈网络 → 输出层
  • 数据流动

    1. 自注意力层计算词与词之间的关系权重:

      注意力权重=Softmax(QKTd)注意力权重=Softmax(d​QKT​)

    2. 前馈网络(全连接层)进一步处理特征。
    3. 输出层生成目标语言的词概率。
  • 参数关联

    • 自注意力层的Q、K、V权重矩阵是参数。
    • 前馈网络的权重和偏置逐层更新。

3. 层间关联的核心原则

3.1 数据传递的“管道”
  • 层与层之间通过张量(Tensor)连接
    • 每个层的输出是一个张量(如矩阵或向量),直接作为下一层的输入。
    • 形状必须匹配:例如,卷积层输出的特征图尺寸必须与池化层的输入尺寸一致。
3.2 参数的“接力更新”
  • 反向传播时,误差从输出层向输入层反向传递
    1. 计算输出层的误差(如交叉熵损失)。
    2. 计算上一层的梯度(如全连接层的权重梯度)。
    3. 逐层回传,直到更新输入层后的第一个隐藏层的参数。
3.3 层的“功能分工”
  • 不同层负责不同任务
    • 输入层:接收原始数据。
    • 隐藏层:提取特征、学习模式。
    • 输出层:生成最终结果。
    • 辅助层(如归一化、Dropout):优化训练过程。

4. 图形化示意图(以CNN为例)

 
输入层(图像) → 卷积层(提取特征) → 激活层(非线性) → 池化层(下采样) → 全连接层(分类) → 输出层(概率)
  • 箭头方向:数据从左到右流动,参数在隐藏层中更新。
  • 关键节点
    • 卷积层和全连接层有参数,池化层无参数。
    • 激活层仅改变数据形状,不增加参数。

5. 常见问题解答

Q:为什么有些层之间需要“激活函数”?
  • 原因
    • 线性变换(如 Wx+bWx+b)无法学习复杂模式。
    • 激活函数(如ReLU)引入非线性,让模型能拟合曲线关系。
Q:层之间如何决定“连接顺序”?
  • 经验法则
    • 图像任务:卷积层 → 池化层 → 全连接层。
    • 文本任务:嵌入层 → LSTM/Transformer → 全连接层。
    • 通用分类:全连接层堆叠(需注意过拟合)。
Q:层之间的参数如何共享?
  • 示例
    • 卷积层:同一卷积核在所有位置共享权重(如检测边缘的卷积核)。
    • RNN/LSTM:同一时间步的参数在所有时间步共享(如每个时间步的遗忘门权重相同)。

6. 总结:层与层之间的关联是“数据流动 + 参数协同”

  • 数据流动:层间通过张量传递信息,形成从输入到输出的路径。
  • 参数协同:所有可学习参数(权重、偏置)通过反向传播共同优化,使模型整体性能提升。

http://www.mrgr.cn/news/95075.html

相关文章:

  • C++ 各种map对比
  • C语言的内存函数
  • 动平衡仿真程序设计
  • 【链表】一文搞定链表算法:从基础到实战
  • 【PCB工艺】电流、电压与电阻的关系 以及 含有电容和电感的电路
  • JavaScript 金额运算精度丢失问题及解决方案
  • Can通信流程
  • vector容器以及deque
  • 指令系统1(数据传输指令)
  • java面试题,什么是动态代理?、动态代理和静态代理有什么区别?说一下反射机制?JDK Proxy 和 CGLib 有什么区别?动态代理的底层
  • Windows 图形显示驱动开发-WDDM 3.0功能- 硬件翻转队列(五)
  • 876.链表的中间节点
  • 图莫斯TOOMOSS上位机TCANLINPro使用CAN UDS功能时 编写、加载27服务dll解锁算法文件
  • 霍尔传感器与电流互感器的区别
  • 别让时光溜走!Kairos App 帮你抓住每一刻
  • SpringBoot3+Vue3实战(Vue3快速开发登录注册页面并对接后端接口)(4)
  • Lombok常用注解
  • 男女搭配(数学思维)
  • YOLO魔改之频率分割模块(FDM)
  • stm32第七天震动传感器