神经网络中层与层之间的关联
目录
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)
-
数据流动:
- 输入层接收28x28像素的图像(784个输入)。
- 隐藏层1通过权重矩阵 W1W1 和偏置 b1b1 进行线性变换:
z1=W1⋅输入+b1z1=W1⋅输入+b1
- 激活层(ReLU)对 z1z1 进行非线性变换:ReLU(z1)ReLU(z1)。
- 隐藏层2重复上述过程,最终输出层生成类别概率。
-
参数关联:
- 每个全连接层的权重和偏置独立更新。
- 后层的输入依赖前层的输出。
2.2 卷积神经网络(CNN,如图像分类)
输入层(图像) → 卷积层 → 激活层(ReLU) → 池化层 → 全连接层 → 输出层
-
数据流动:
- 卷积层用卷积核提取边缘、纹理等局部特征。
特征图=卷积核∗输入图像+偏置特征图=卷积核∗输入图像+偏置
- 激活层(ReLU)增强非线性:max(0,特征图)max(0,特征图)。
- 池化层(如最大池化)下采样,减少尺寸:
输出=取窗口最大值输出=取窗口最大值
- 全连接层将特征展平后分类。
- 卷积层用卷积核提取边缘、纹理等局部特征。
-
参数关联:
- 卷积层的卷积核权重和偏置是参数。
- 池化层无参数,仅执行固定规则。
2.3 循环神经网络(RNN/LSTM,如文本生成)
输入层(词向量) → 嵌入层 → LSTM层(时间步1) → LSTM层(时间步2) → 全连接层 → 输出层
-
数据流动:
- 嵌入层将单词映射为向量(如“猫”→[0.2, 0.5, ...])。
- LSTM层按时间步处理序列:
- 当前输入和前一时刻的隐藏状态共同决定当前状态。
- 公式示例:
ht=LSTM(xt,ht−1)ht=LSTM(xt,ht−1)
- 全连接层将最终隐藏状态转化为输出。
-
参数关联:
- LSTM的权重和偏置(如遗忘门、输入门的参数)在时间步间共享。
2.4 Transformer(如机器翻译)
输入层(词向量) → 嵌入层 → 位置编码 → 自注意力层 → 前馈网络 → 输出层
-
数据流动:
- 自注意力层计算词与词之间的关系权重:
注意力权重=Softmax(QKTd)注意力权重=Softmax(dQKT)
- 前馈网络(全连接层)进一步处理特征。
- 输出层生成目标语言的词概率。
- 自注意力层计算词与词之间的关系权重:
-
参数关联:
- 自注意力层的Q、K、V权重矩阵是参数。
- 前馈网络的权重和偏置逐层更新。
3. 层间关联的核心原则
3.1 数据传递的“管道”
- 层与层之间通过张量(Tensor)连接:
- 每个层的输出是一个张量(如矩阵或向量),直接作为下一层的输入。
- 形状必须匹配:例如,卷积层输出的特征图尺寸必须与池化层的输入尺寸一致。
3.2 参数的“接力更新”
- 反向传播时,误差从输出层向输入层反向传递:
- 计算输出层的误差(如交叉熵损失)。
- 计算上一层的梯度(如全连接层的权重梯度)。
- 逐层回传,直到更新输入层后的第一个隐藏层的参数。
3.3 层的“功能分工”
- 不同层负责不同任务:
- 输入层:接收原始数据。
- 隐藏层:提取特征、学习模式。
- 输出层:生成最终结果。
- 辅助层(如归一化、Dropout):优化训练过程。
4. 图形化示意图(以CNN为例)
输入层(图像) → 卷积层(提取特征) → 激活层(非线性) → 池化层(下采样) → 全连接层(分类) → 输出层(概率)
- 箭头方向:数据从左到右流动,参数在隐藏层中更新。
- 关键节点:
- 卷积层和全连接层有参数,池化层无参数。
- 激活层仅改变数据形状,不增加参数。
5. 常见问题解答
Q:为什么有些层之间需要“激活函数”?
- 原因:
- 线性变换(如 Wx+bWx+b)无法学习复杂模式。
- 激活函数(如ReLU)引入非线性,让模型能拟合曲线关系。
Q:层之间如何决定“连接顺序”?
- 经验法则:
- 图像任务:卷积层 → 池化层 → 全连接层。
- 文本任务:嵌入层 → LSTM/Transformer → 全连接层。
- 通用分类:全连接层堆叠(需注意过拟合)。
Q:层之间的参数如何共享?
- 示例:
- 卷积层:同一卷积核在所有位置共享权重(如检测边缘的卷积核)。
- RNN/LSTM:同一时间步的参数在所有时间步共享(如每个时间步的遗忘门权重相同)。
6. 总结:层与层之间的关联是“数据流动 + 参数协同”
- 数据流动:层间通过张量传递信息,形成从输入到输出的路径。
- 参数协同:所有可学习参数(权重、偏置)通过反向传播共同优化,使模型整体性能提升。