网络结构
神经网络的结构决定了其处理信息的方式。从简单的全连接到复杂的Transformer,不同的架构适用于不同类型的数据和任务。
学习难度:入门·阅读时间:约12分钟
架构概述
什么是网络结构
网络结构定义了:
- 神经元的组织方式
- 层与层之间的连接模式
- 信息流动的路径
- 参数的数量和分布
结构的重要性
- 决定模型能学习什么样的模式
- 影响计算效率和内存占用
- 关系到训练的难易程度
- 决定对不同数据的适用性
常见架构类型
- 全连接网络:最基础的架构
- 卷积网络:处理图像数据
- 循环网络:处理序列数据
- Transformer:现代NLP主流
全连接网络
基本结构
多层感知机(MLP)的特点:
- 每个神经元与上一层的所有神经元相连
- 相邻层之间全连接
- 同一层内的神经元不连接
信息流动
- 输入层接收特征
- 隐藏层进行变换
- 输出层产生预测
适用场景
- 表格数据的分类/回归
- 作为其他架构的组件
- 特征维度固定的任务
局限性
- 参数量随输入维度增长快
- 无法处理空间/时序结构
- 缺乏归纳偏置
卷积神经网络
核心思想
CNN利用卷积操作提取局部特征:
- 局部连接:每个神经元只连接局部区域
- 权重共享:同一个卷积核扫描整个输入
- 层次化特征:低层提取边缘,高层提取语义
基本组件
卷积层
使用卷积核提取特征,参数量取决于卷积核大小和数量。
池化层
降采样,减少空间维度,增加不变性。
归一化层
BatchNorm等,加速训练,提高稳定性。
经典架构
- LeNet:早期的成功CNN
- AlexNet:深度学习革命的起点
- VGG:小卷积核的深度网络
- ResNet:残差连接,解决深层网络训练
循环神经网络
处理序列数据
RNN通过隐藏状态处理时序信息:
- 每个时间步接收一个输入
- 隐藏状态传递历史信息
- 理论上可以处理任意长度序列
基本形式
h[t] = f(W_h × h[t-1] + W_x × x[t] + b)
变体
- LSTM:长短期记忆,解决长序列问题
- GRU:门控循环单元,更简单
- 双向RNN:同时考虑过去和未来
局限性
- 串行计算,难以并行化
- 长距离依赖处理困难
- 逐渐被Transformer取代
Transformer
革命性架构
Transformer改变了NLP领域:
- 完全基于注意力机制
- 并行处理整个序列
- 能够捕捉长距离依赖
核心组件
自注意力
序列中每个位置与所有位置计算相关性。
多头注意力
多个注意力头并行,捕获不同类型的关系。
位置编码
注入位置信息,弥补注意力机制的位置不变性。
编码器-解码器结构
- 编码器:理解输入序列(BERT)
- 解码器:生成输出序列(GPT)
- 完整结构:翻译等序列到序列任务(T5)
架构设计原则
根据数据类型选择
- 图像:CNN或Vision Transformer
- 文本:Transformer
- 音频:CNN + RNN或Transformer
- 表格数据:MLP或决策树
设计考虑因素
- 数据规模和特征
- 任务类型(分类、生成、序列标注等)
- 计算资源限制
- 实时性要求
现代趋势
- Transformer的统一化:处理多种模态
- 预训练+微调范式
- 效率优化:稀疏注意力、混合专家