神经网络与深度学习第一周总结

一、深度学习的演进背景、应用与开发基础

1. 人工智能与深度学习的演进历程

人工智能经历了逻辑推理、知识工程,最终进入以数据、算法和计算平台(如 GPU 并行计算)为三大基石的机器学习与深度学习时代。深度学习的兴起并非一蹴而就,其发展历史中有几个关键节点:

  • 1943 年:McCulloch 和 Pitts 提出神经元数学模型(M-P 模型),为人工神经网络奠定基础。
  • 1958 年:Rosenblatt 提出感知机,实现联想学习。
  • 1969 年:Minsky 指出感知机无法解决 XOR 问题,神经网络研究陷入停滞。
  • 1986 年:Rumelhart 等人重新推广 误差反向传播(BP)算法,迎来复兴。
  • 2006 年:Hinton 提出“深度学习”概念,开启爆发期。
  • 2012 年:AlexNet 在 ImageNet 上大幅领先,确立深度学习在计算机视觉领域的统治地位。
  • 2015 年:ResNet 提出,解决了超深网络训练难题。
  • 2016 年:AlphaGo 击败李世石,引发全球关注。
  • 2020 年后:以 Transformer 为基础的大模型(如 GPT、BERT)和多模态模型走向成熟。

在处理图像等复杂数据时,传统机器学习高度依赖人工设计的特征提取方法(如 SIFT、HoG 等),在海量非结构化数据面前遭遇瓶颈。深度学习通过模拟生物视觉系统的分层处理机制,能够自动从像素级别的低级特征中,逐层抽象并组合出具备高级语义的特征表示。

2. 深度学习的主要应用领域

深度学习已广泛渗透到各个技术领域,典型应用包括:

  • 自然语言处理:机器翻译、智能问答、情感分析(如 Transformer、BERT)。
  • 计算机视觉:图像分类、目标检测、位姿估计、自动驾驶感知。
  • 多模态大模型:图文生成、视频理解(如 GPT-4V、Sora)。
  • 具身智能:人形机器人的环境感知与运动控制(结合深度强化学习)。

3. 开发基础:PyTorch 与张量计算图

在工程实践层面,课程推荐使用 PyTorch。它基于 Python,利用 张量(Tensor) 来运载多维数据,并通过 计算图(Computational Graph) 动态定义数据的数学计算走向,是目前学术界和工业界最主流的开发框架之一。


二、从线性模型到感知机的演进

深度学习的基础建立在参数优化之上。最基础的线性回归试图用直线拟合变量间的依赖关系,其目标是寻找一组参数 θ \theta θ,使得均方误差代价函数

J ( θ ) = 1 2 ∑ i = 1 N ( y ( i ) − h θ ( x ( i ) ) ) 2 J(\theta) = \frac{1}{2}\sum_{i=1}^{N}\left(y^{(i)} - h_\theta(x^{(i)})\right)^2 J(θ)=21i=1N(y(i)hθ(x(i)))2

最小化。在求解时,除了使用解析解 θ = ( X ⊤ X ) − 1 X ⊤ y \theta = (X^\top X)^{-1}X^\top y θ=(XX)1Xy,更普适的方法是梯度下降法,即通过

Δ θ k = − α ∇ θ J \Delta\theta_k = -\alpha \nabla_\theta J Δθk=αθJ

让参数沿着误差下降最快的梯度方向不断迭代更新。

为了处理二分类问题,模型中引入了 Sigmoid(S 型) 非线性激活函数

y = 1 1 + e − z , z = θ ⊤ x y = \frac{1}{1+e^{-z}}, \quad z = \theta^\top x y=1+ez1,z=θx

将线性输出映射为 ( 0 , 1 ) (0,1) (0,1) 之间的概率值,这便构成了对数回归模型,其代价函数也转变为交叉熵损失。如果扩展到多分类问题,则通过 Softmax 函数输出多个类别的概率分布。这些加入激活函数的线性分类器,在数学模型上与模拟生物神经元的 M-P 模型高度一致,构成了人工神经网络的最基本单元——单层感知机

三、多层前馈网络与误差反向传播(BP)机制

1. 多层感知机解决 XOR 问题

单层感知机有着天然的理论缺陷,即无法解决非线性的 XOR(异或) 问题,这曾一度导致神经网络研究停滞。为了突破线性不可分的限制,多层感知机(MLP) 在输入和输出层之间引入了隐含层。理论证明,只要隐含层节点足够,三层非线性网络就可以一致逼近任意的连续函数。

2. BP 算法原理与链式法则

要训练这样复杂的多层网络,核心在于误差反向传播算法(BP 算法)。BP 算法的运行分为两个阶段:

  • 正向传播:输入数据逐层通过权值相乘和激活函数计算,最终在输出端产生预测结果并与真实标签比对得出误差。
  • 反向传播:将误差信号沿着网络的连接通路反向传回,利用微积分中的链式求导法则(例如 ∂ J ∂ w = ∂ J ∂ e ⋅ ∂ e ∂ a ⋅ ∂ a ∂ z ⋅ ∂ z ∂ w \frac{\partial J}{\partial w} = \frac{\partial J}{\partial e} \cdot \frac{\partial e}{\partial a} \cdot \frac{\partial a}{\partial z} \cdot \frac{\partial z}{\partial w} wJ=eJaezawz),逐层计算出每个连接权重对总误差的偏导数,从而指导权值的梯度下降更新。

3. 池化层的误差反向传播细节

在卷积神经网络中,池化层没有需要学习的参数,但误差仍需向前传播。不同类型池化层的反传方式不同:

  • 平均池化(Average Pooling):误差平均分配给池化窗口内的每个神经元,每个分配 1 窗口面积 \frac{1}{窗口面积} 窗口面积1
  • 最大池化(Max Pooling):误差只传给池化窗口内值最大的那个神经元,其余神经元误差为 0(需在前向传播时记录最大值的位置)。

4. BP 算法的局限性

虽然 BP 算法让多层网络具备了强大的自主学习能力,但它也存在固有缺陷:

  • 容易陷入局部极小值。
  • 收敛速度慢,学习率 α \alpha α 难以选择。
  • 网络结构(层数、节点数)设计缺乏理论指导。

四、卷积神经网络(CNN)与经典架构的突破

1. 卷积与池化基本概念

当我们将全连接网络直接应用于高维图像时,参数量会呈指数级爆炸(例如一个百万节点隐层会产生万亿级参数),极易导致计算灾难和严重过拟合。卷积神经网络(CNN) 创造性地引入了 “局部连接”“权值共享” 机制,完美化解了这一难题。CNN 的核心组件包括:

  • 卷积层:利用滤波器(卷积核)在图像上滑动提取特征,涉及步长(Stride)、填充(Padding)和多通道计算。
  • 池化层(Pooling):通过取局部最大值或平均值来降低特征维度,增强平移不变性。

2. LeNet-5:早期经典

LeNet-5 是早期用于手写数字识别的经典架构,其特点包括:

  • 采用平均池化和 Sigmoid/tanh 激活函数。
  • 网络较浅(约 6 万参数),结构为:Conv → Pool → Conv → Pool → FC → FC → Softmax。
  • 具体参数与连接数
    • C1 层:6 个 5×5 卷积核,输入 32×32 → 28×28,参数量 ( 5 × 5 + 1 ) × 6 = 156 (5\times5+1)\times6=156 (5×5+1)×6=156,连接数 156 × 28 × 28 = 122 , 304 156\times28\times28=122,304 156×28×28=122,304
    • S2 层:2×2 平均池化,无参数。
    • C3 层:16 个 5×5 卷积核,连接数约 151,600。
    • 总参数量约 6 万,总连接数约 34 万。

与后来的 AlexNet(6000 万参数)形成鲜明对比。

3. AlexNet:深度学习复兴的标志

AlexNet 在 2012 年 ImageNet 竞赛中大幅领先,其关键改进包括:

  • 首次在 CNN 中成功使用 ReLU 激活函数,大幅缓解梯度消失问题。
  • 采用 最大池化Dropout 正则化,减轻过拟合。
  • 应用 数据增强(随机裁剪、翻转、光照变换)。
  • 利用双 GPU 并行训练,参数规模达到约 6000 万。

4. VGG-16:规整结构的极致

VGG-16 通过极其规整的结构进一步加深了网络,证明了深度增加能直接提升表征能力:

  • 所有卷积层均使用 3×3 卷积核,步长 1,填充 1,保证卷积不改变尺寸。
  • 所有池化层使用 2×2 窗口,步长 2,实现尺寸减半。
  • 通道数在每次池化后翻倍(64 → 128 → 256 → 512),保持计算量大致恒定。
  • 这种设计使网络极易模块化堆叠,为后续 ResNet 等提供了基础。总参数量约 1.38 亿。

5. ResNet:残差学习与梯度消失的解决

随着网络不断加深,模型会出现难以训练的梯度消失/退化现象。其数学原因在于:

  • 使用 Sigmoid 激活函数时,其导数最大值仅为 0.25。
  • 反向传播中,梯度包含多个形如 w ⋅ σ ′ ( z ) w \cdot \sigma'(z) wσ(z) 的因子连乘。
  • 若权重初始值较小(如 <1),连乘结果会指数级衰减,导致浅层参数几乎不更新。

ResNet 创造性地引入了 “跳跃连接(Skip Connection)” 构成残差块,让输入信号可以直接跨层恒等映射到后方。这使得梯度可以沿捷径直接传播到浅层,避免了连乘衰减。该设计使得训练上百层的超深网络成为现实,确立了现代计算机视觉模型的基础标准。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐