机器学习:5.深度学习

深度学习

深度学习(Deep Learning)是一种有着多个层次的表征学习方式,通过简单但非线性的模块,自动地将每个层次的特征(从原始输入开始)转变为更高级抽象的表征形式。它主要通过神经网络来实现。

一. 普世逼近定理

普世逼近定理为神经网络的强大拟合能力提供了数学基础保障。

  • 核心结论 :具有至少有一层隐藏层 、包含有限数量神经元 、且利用诸如 ReLU等非线性激活函数 的前馈神经网络,它可以以任意精度逼近任意一个定义在 Rn\mathbb{R}^nRn 的闭集里的连续函数。

二. 训练深度网络的难点与现代解决方案

在深度学习的早期,研究人员遇到了数据、算力、优化等多方面的阻碍,但这些难点在如今都已被针对性的技术逐一化解。

1. 缺乏大数据

  • 历史难点:以前缺乏足够的标注数据来驱动深层网络。
  • 解决方案 :现在我们处于"大数据"时代。
    • 图像领域 :拥有如 ImageNet(超过千万张图片)等海量数据。
    • 文本领域 :拥有如 Wikipedia(数百万篇文章)的无监督语料。
    • 行为领域 :如 Criteo Terabyte 用户点击日志推动了推荐系统。众包平台也极大提升了数据清理和标注的效率。

2. 缺乏计算资源

  • 历史难点:传统 CPU 算力不足以支撑极大规模参数的矩阵运算。
  • 解决方案 :基于 GPU 和 **HPC(高性能计算)**的普及。
    • GPU 的优势:CPU 优化的是延迟,而 GPU 优化的是带宽,具备大量并行计算核心,极其适合神经网络中的大规模张量运算和矩阵乘法。

3. 梯度消失与梯度爆炸

  • 历史难点 :层数越深,距离输出层越远的层越容易出现梯度消失 (梯度值在某层变为0,使得训练无进展)或梯度爆炸(梯度值变为无穷大)。
  • 解决方案
    • 更换激活函数:使用 ReLU 代替传统的 Sigmoid/Tanh。
    • 网络结构改进:采用 批标准化 (Batch Normalization)残差网络 (ResNet) 。ResNet 的残差构造块(引入 F(x)+xF(x) + xF(x)+x 的跳跃连接)使得超深层网络的训练成为可能。

4. 容易陷入局部最小值

  • 历史难点:深度学习面临的是复杂的非凸优化问题,寻找全局最优解极其困难。
  • 解决方案
    • 预训练 (Pre-training):如利用限制玻尔兹曼机(RBM)或深度信念网络(DBN)进行无监督学习,找到一个良好的初始化参数,然后再利用有标签数据微调。
    • 现代优化器 :使用 Adam优化器 。它结合了动量梯度下降法 (引入动量项减少震荡)和均方根传递 RMSProp(独立调整学习率)的优点,加速并稳定了收敛过程。

5. 正则化(防止过拟合)

  • 历史难点:传统的正则化方法在非凸曲面上处理可能十分危险且效果有限。
  • 解决方案 :使用 Dropout 方法
    • 原理:在每个小批量训练时,随机禁用(Drop)网络中的一部分节点连接,使得模型不再重度依赖于某几个特定的特征权重,从而提高了模型的泛化能力。
相关推荐
ZzT9 小时前
在 GitHub 上 @一下 claude,它自己把 issue 改成 PR
人工智能·开源
不加辣椒9 小时前
第15章 上下文窗口管理与长文本策略
人工智能
牛奶10 小时前
AI 能赚钱了——但赚的不是你
人工智能·ai编程·nvidia
凌杰10 小时前
AI 学习笔记:研究方法的演变
人工智能
半盏药香11 小时前
由于jinja2的starlette版本过高引发的问题:500 Server Error TypeError: unhashable type: 'dict'
人工智能
阿里云大数据AI技术11 小时前
MiniMax M3、Kimi K2.7 Code来啦!PAI已支持一键部署,开源前沿触手可及
人工智能·agent
百度Geek说11 小时前
AI Coding 的底层框架:一切优化都是在对抗熵增
人工智能
Java研究者11 小时前
AI智能体研发 | 什么是OpenAI API协议
人工智能·大模型·openai·api·agent·智能体
只是没名字12 小时前
Codex CLI Windows 新手安装教程:从 Node.js 到首次运行
人工智能
用户86306526961312 小时前
Krea 2 LoRA 训练全流程踩坑记录:从打标到双卡并行的 Windows 原生实战
人工智能