🔮 深度学习

神经网络架构、训练方法与核心应用领域

什么是深度学习?

深度学习(Deep Learning)是机器学习的一个分支,核心思想是使用多层神经网络从数据中自动学习特征和规律。与传统机器学习需要人工设计特征不同,深度学习能直接从原始数据(像素、文本、音频)中端到端地学习。

💡 深度学习 vs 传统机器学习

传统 ML:人工特征提取 → 模型学习(如 SVM、随机森林);深度学习:原始数据 → 多层网络自动提取特征 → 输出。数据量越大、模型越深,深度学习优势越明显。

神经网络基础

神经元与感知机

神经网络的基本单元是神经元(Neuron),模拟生物神经元的工作方式:接收多个输入,加权求和后通过激活函数产生输出。

# 单个神经元的计算
output = activation(Σ(wi × xi) + b)

# wi: 权重(可学习参数)
# xi: 输入
# b: 偏置(可学习参数)
# activation: 激活函数(引入非线性)

激活函数

激活函数为网络引入非线性,使其能拟合复杂的函数关系:

反向传播与梯度下降

神经网络通过反向传播(Backpropagation)算法学习:计算损失函数对每个参数的梯度,然后用梯度下降更新参数。

# 训练循环伪代码
for epoch in range(num_epochs):
    for batch in data_loader:
        # 前向传播
        output = model(batch)
        loss = criterion(output, target)

        # 反向传播
        optimizer.zero_grad()    # 清空梯度
        loss.backward()          # 计算梯度
        optimizer.step()         # 更新参数

卷积神经网络(CNN)

CNN 是处理图像和视频的核心架构。通过卷积操作自动提取空间特征(边缘、纹理、形状等)。

核心组件

经典 CNN 架构演进

模型 年份 创新点 意义
LeNet-5 1998 首个成功的 CNN 手写数字识别
AlexNet 2012 ReLU、Dropout、GPU 训练 引爆深度学习革命
VGGNet 2014 小卷积核堆叠(3×3) 证明深度的重要性
ResNet 2015 残差连接(Skip Connection) 解决梯度消失,训练极深网络
EfficientNet 2019 复合缩放(深度×宽度×分辨率) 效率与精度最佳平衡
ConvNeXt 2022 现代化 CNN(借鉴 Transformer 设计) CNN 仍可匹敌 Transformer

PyTorch 实现示例

import torch
import torch.nn as nn

class SimpleCNN(nn.Module):
    def __init__(self, num_classes=10):
        super().__init__()
        self.features = nn.Sequential(
            nn.Conv2d(3, 32, 3, padding=1),   # 3→32 通道
            nn.BatchNorm2d(32),
            nn.ReLU(),
            nn.MaxPool2d(2),                   # 32×32 → 16×16
            nn.Conv2d(32, 64, 3, padding=1),   # 32→64 通道
            nn.BatchNorm2d(64),
            nn.ReLU(),
            nn.MaxPool2d(2),                   # 16×16 → 8×8
        )
        self.classifier = nn.Sequential(
            nn.Flatten(),
            nn.Linear(64 * 8 * 8, 256),
            nn.ReLU(),
            nn.Dropout(0.5),
            nn.Linear(256, num_classes),
        )

    def forward(self, x):
        x = self.features(x)
        x = self.classifier(x)
        return x

循环神经网络(RNN)

RNN 是处理序列数据(文本、时间序列、语音)的经典架构,具有记忆能力——当前输出依赖于当前输入和之前的隐藏状态。

RNN 的问题与改进

📌 RNN 的现状

在 NLP 领域,RNN/LSTM 已基本被 Transformer 取代(并行性更好、长距离依赖更强)。但在某些时间序列预测和边缘设备部署场景中,LSTM 仍有应用价值。

Transformer 架构

Transformer 是当前深度学习的核心架构,支撑了 GPT、BERT、ViT 等几乎所有 SOTA 模型。完全基于注意力机制,摒弃了 RNN 的序列依赖。

核心创新

Transformer 的三大分支

🔵 仅编码器

BERT、RoBERTa。双向理解上下文,适合分类、NER、语义相似度等理解任务。

🟢 仅解码器

GPT、Llama、Qwen。自回归生成,适合文本生成、对话、代码编写等任务。

🟠 编码器+解码器

T5、BART。Seq2Seq 架构,适合翻译、摘要等输入-输出任务。

计算机视觉(CV)

计算机视觉让机器能「看懂」图像和视频,是深度学习最成功的应用领域之一。

核心任务

Vision Transformer(ViT)

将 Transformer 直接应用于图像:把图像切分为固定大小的 patch(如 16×16),每个 patch 当作一个 token 输入 Transformer。在大数据集上预训练后,ViT 的性能超越 CNN,且扩展性更强。

自然语言处理(NLP)

NLP 让机器能理解和生成人类语言,是大模型(LLM)的直接基础。

NLP 发展脉络

规则方法 → 统计方法 → Word2Vec → ELMo → BERT → GPT → LLM

# 关键里程碑
2013  Word2Vec    词嵌入,开启分布式语义表示
2018  ELMo        上下文相关的词表示
2018  BERT        双向预训练,刷新 11 项 NLP 记录
2018  GPT-1       自回归预训练,展示生成能力
2020  GPT-3       175B 参数,涌现 Few-shot 能力
2022  ChatGPT     RLHF 对齐,对话能力爆发
2023  GPT-4       多模态,推理能力大幅提升

词嵌入(Word Embedding)

将离散的词映射为连续的稠密向量,语义相近的词在向量空间中距离更近:

# 经典词向量关系
king - man + woman ≈ queen
paris - france + japan ≈ tokyo

# 常用方法
# Word2Vec(2013):CBOW / Skip-gram
# GloVe(2014):全局共现矩阵分解
# FastText(2016):子词级别嵌入,支持形态学

训练技巧与优化

常用优化器

优化器 特点 适用场景
SGD + Momentum 经典,泛化好,但收敛慢 CNN 训练
Adam 自适应学习率,收敛快 通用,快速原型
AdamW Adam + 解耦权重衰减 Transformer 训练标配
LAMB / LARS 大 batch 训练优化 分布式预训练

防止过拟合

学习率调度

# 常用调度策略
Warmup + Cosine Decay    # Transformer 标配(先升后降)
Step Decay               # 每隔 N 个 epoch 降低学习率
One Cycle Policy         # 先升后降,一个周期
ReduceLROnPlateau        # 验证集 loss 不降时自动降低

生成模型

扩散模型(Diffusion Model)

当前图像和视频生成的主流架构。核心思想:逐步向数据添加高斯噪声(前向过程),再学习逆转去噪(反向过程)。

生成对抗网络(GAN)

由生成器和判别器对抗训练的模型。虽然逐渐被扩散模型取代,但在实时生成和风格迁移中仍有应用:

深度学习框架对比

框架 开发者 特点 使用场景
PyTorch Meta 动态图、调试友好、社区活跃 研究 + 工业界首选
TensorFlow Google 生态完善、部署能力强 移动端/边缘部署
JAX Google 函数式、自动微分、XLA 加速 大规模训练、科研
PaddlePaddle 百度 中文文档完善、产业级工具 国内企业应用

🚀 学习路线建议

先学 PyTorch 基础 → 实现经典 CNN(ResNet)→ 学习 Transformer 架构 → 阅读 BERT/GPT 论文 → 动手微调预训练模型 → 探索 CV/NLP 具体方向。动手实践比看论文更重要——用 Kaggle 竞赛和 Hugging Face 项目练手。