TL;DR

深度学习是机器学习的一个子集,使用多层神经网络从数据中学习复杂模式。本指南涵盖基础概念,包括神经网络架构、反向传播和梯度下降等训练算法、常见架构(CNN、RNN、GAN、VAE)以及过拟合和训练数据质量等实际考虑因素。

引言

深度学习彻底改变了人工智能,在图像识别、自然语言处理和生成式 AI 领域取得了突破性进展。理解这些基础知识对于使用现代 AI 系统的人来说至关重要。

在本指南中,你将学到:

  • 神经网络如何处理信息
  • 训练背后的数学原理(反向传播、梯度下降)
  • 不同的神经网络架构及其应用场景
  • 常见挑战及解决方法

神经网络基础

神经网络是一种受人脑启发的计算模型。它由按层组织的互连节点(神经元)组成:

code
输入层 → 隐藏层 → 输出层
  ↓        ↓        ↓
特征     处理      预测

神经元的工作原理

每个神经元执行简单的计算:

python
# 简化的神经元计算
def neuron(inputs, weights, bias):
    # 加权求和
    z = sum(x * w for x, w in zip(inputs, weights)) + bias
    # 激活函数
    output = activation(z)
    return output

激活函数引入非线性,使网络能够学习复杂模式。

训练神经网络

监督学习

在监督学习中,模型从标记的示例中学习:

  1. 前向传播:输入流经网络产生预测
  2. 损失计算:将预测与实际标签进行比较
  3. 反向传播:使用反向传播算法计算梯度
  4. 更新权重:使用梯度下降调整参数

反向传播

反向传播是计算每个权重对误差贡献程度的算法。它使用微积分的链式法则将梯度反向传播通过网络:

code
输出误差 → 最后一层的梯度 → ... → 第一层的梯度

这使得能够高效计算具有数百万参数的网络的梯度。

梯度下降

梯度下降是更新权重以最小化损失的优化算法:

python
# 梯度下降更新规则
for each weight w:
    w = w - learning_rate * gradient(loss, w)

变体包括:

  • 随机梯度下降(SGD):每个样本后更新
  • 小批量梯度下降:小批量后更新
  • Adam:每个参数的自适应学习率

常见架构

卷积神经网络(CNN)

CNN 专为处理网格状数据(如图像)而设计:

code
图像 → 卷积 → 池化 → 卷积 → ... → 全连接 → 输出

关键组件:

  • 卷积层:使用滤波器提取局部特征
  • 池化层:减少空间维度
  • 特征图:每层学习的表示

CNN 擅长:

  • 图像分类
  • 目标检测
  • 人脸识别

循环神经网络(RNN)

RNN 通过维护隐藏状态来处理序列数据:

code
Input[t] + Hidden[t-1] → Hidden[t] → Output[t]

变体:

  • LSTM:长短期记忆,处理长程依赖
  • GRU:门控循环单元,简化版 LSTM

应用场景:

  • 文本生成
  • 语音识别
  • 时间序列预测

生成对抗网络(GAN)

GAN 由两个相互竞争的网络组成:

code
生成器:随机噪声 → 假样本
判别器:样本 → 真还是假?

生成器通过尝试欺骗判别器来学习创建逼真的样本。应用包括:

  • 图像生成
  • 风格迁移
  • 数据增强

变分自编码器(VAE)

VAE 学习数据的压缩表示:

code
输入 → 编码器 → 潜在空间 → 解码器 → 重建

与普通自编码器不同,VAE 在潜在空间中学习概率分布,实现:

  • 样本之间的平滑插值
  • 可控生成
  • 异常检测

扩散模型

扩散模型通过学习逆转渐进加噪过程来生成数据:

code
数据 → 添加噪声(正向)→ 纯噪声
纯噪声 → 去除噪声(逆向)→ 生成的数据

它们驱动了 DALL-E 和 Stable Diffusion 等最先进的图像生成系统。

训练数据考虑因素

质量优于数量

训练数据质量显著影响模型性能:

  • 类别平衡:避免某些类别的过度代表
  • 干净标签:错误标签会混淆模型
  • 多样化样本:覆盖预期输入的全部范围

数据增强

通过变换人工扩展训练数据:

python
# 图像增强示例
augmented = [
    rotate(image, angle=15),
    flip_horizontal(image),
    adjust_brightness(image, factor=1.2),
    crop_and_resize(image)
]

常见挑战

过拟合

当模型记住训练数据而不是学习一般模式时,就会发生过拟合:

症状

  • 训练准确率高,测试准确率低
  • 模型在新数据上表现不佳

解决方案

  • 更多训练数据
  • 正则化(L1、L2、dropout)
  • 早停
  • 数据增强

欠拟合

模型太简单,无法捕获模式:

解决方案

  • 增加模型容量(更多层/神经元)
  • 训练更长时间
  • 减少正则化

梯度消失/爆炸

在反向传播过程中梯度变得太小或太大:

解决方案

  • 批量归一化
  • 残差连接(跳跃连接)
  • 谨慎的权重初始化
  • 梯度裁剪

实用工具

处理 AI 和机器学习数据时,可以考虑使用:

总结

深度学习基础包括:

  1. 神经网络:学习模式的互连神经元层
  2. 训练:反向传播和梯度下降优化权重
  3. 架构:CNN 用于图像,RNN 用于序列,GAN 用于生成
  4. 挑战:过拟合、数据质量和梯度问题

理解这些概念为使用现代 AI 系统和开发新应用提供了基础。

常见问题

机器学习和深度学习有什么区别?

深度学习是机器学习的一个子集,专门使用多层神经网络。传统机器学习通常需要手动特征工程,而深度学习自动从原始数据中学习特征。

我需要多少训练数据?

这取决于任务复杂性和模型大小。简单任务可能需要数千个样本,而图像生成等复杂任务可能需要数百万个。迁移学习可以通过从预训练模型开始来减少数据需求。

为什么神经网络需要激活函数?

没有激活函数,无论深度如何,神经网络都等同于线性变换。激活函数引入非线性,使网络能够学习数据中复杂的非线性模式。

什么导致过拟合,如何防止?

当模型学习训练数据中的噪声而不是一般模式时,就会发生过拟合。预防策略包括使用更多训练数据、应用正则化技术、实施 dropout 以及在训练期间使用早停。