网络结构

神经网络的结构决定了其处理信息的方式。从简单的全连接到复杂的Transformer,不同的架构适用于不同类型的数据和任务。

学习难度:入门·阅读时间:约12分钟

架构概述

什么是网络结构

网络结构定义了:

  • 神经元的组织方式
  • 层与层之间的连接模式
  • 信息流动的路径
  • 参数的数量和分布

结构的重要性

  • 决定模型能学习什么样的模式
  • 影响计算效率和内存占用
  • 关系到训练的难易程度
  • 决定对不同数据的适用性

常见架构类型

  • 全连接网络:最基础的架构
  • 卷积网络:处理图像数据
  • 循环网络:处理序列数据
  • Transformer:现代NLP主流

全连接网络

基本结构

多层感知机(MLP)的特点:

  • 每个神经元与上一层的所有神经元相连
  • 相邻层之间全连接
  • 同一层内的神经元不连接

信息流动

  1. 输入层接收特征
  2. 隐藏层进行变换
  3. 输出层产生预测

适用场景

  • 表格数据的分类/回归
  • 作为其他架构的组件
  • 特征维度固定的任务

局限性

  • 参数量随输入维度增长快
  • 无法处理空间/时序结构
  • 缺乏归纳偏置

卷积神经网络

核心思想

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的统一化:处理多种模态
  • 预训练+微调范式
  • 效率优化:稀疏注意力、混合专家
----