PyTorch深度学习项目Week1:深度学习动机与历史发展
深度学习的崛起彻底改变了人工智能领域的面貌。本文将带您回顾深度学习的发展历程,剖析其核心思想,并介绍监督学习与反向传播等关键技术。
深度学习的历史脉络
深度学习的概念最早可以追溯到20世纪40年代的控制论时期。当时的研究者们从生物神经系统获得灵感,试图构建人工神经网络模型。
早期神经网络模型
1943年,McCulloch和Pitts提出了第一个神经元数学模型,这个模型具有以下特点:
- 神经元被视为可开关的阈值单元
- 通过连接神经元可以构建布尔电路
- 采用二元激活方式(开启或关闭)
1947年,Donald Hebb提出了著名的Hebb学习规则:
- 同时激活的神经元间连接增强
- 不同时激活的神经元间连接减弱
这一规则至今仍是许多神经网络学习算法的基础。
感知机时代
1957年,Frank Rosenblatt提出了感知机模型,这是第一个可以学习的神经网络。感知机采用两层结构:
- 第一层(联想层):固定权重,通常随机初始化
- 第二层:可训练权重
然而,60年代神经网络研究陷入低谷,主要原因包括:
- 二元神经元不可微分,无法使用梯度下降
- 当时计算机浮点运算能力有限,连续神经元计算成本过高
深度学习的复兴
1985年反向传播算法的出现标志着深度学习的复兴。这一算法解决了多层神经网络的训练问题。但90年代中期,神经网络再次被机器学习社区冷落。
直到2010年左右,深度学习在以下领域取得突破性进展:
- 2010年:语音识别
- 2013年:计算机视觉
- 2016年:自然语言处理
这些成功主要得益于:
- 强大的GPU计算能力
- 大规模数据集
- 改进的算法和网络结构
监督学习:深度学习的基石
约90%的深度学习应用采用监督学习范式。其核心思想是:
- 收集输入-输出对组成训练集
- 模型根据输入预测输出
- 比较预测与真实输出的差异
- 通过调整参数减小差异
梯度下降优化
优化过程可类比为在山中寻找最低点:
- 计算当前位置的梯度(最陡方向)
- 沿梯度反方向移动一小步
- 重复直到收敛
实际应用中更常用的是随机梯度下降(SGD),它:
- 每次使用小批量样本计算梯度
- 收敛更快
- 泛化能力更好
反向传播:深度学习的引擎
反向传播是训练深度神经网络的核心算法,本质上是链式法则的巧妙应用。其计算过程分为两部分:
状态梯度计算
$$ \frac{\partial C}{\partial \boldsymbol{x}_{i-1}} = \frac{\partial C}{\partial \boldsymbol{x}i} \frac{\partial f_i(\boldsymbol{x}{i-1}, \boldsymbol{w}i)}{\partial \boldsymbol{x}{i-1}} $$
权重梯度计算
$$ \frac{\partial C}{\partial \boldsymbol{w}_i} = \frac{\partial C}{\partial \boldsymbol{x}i} \frac{\partial f_i(\boldsymbol{x}{i-1}, \boldsymbol{w}_i)}{\partial \boldsymbol{w}_i} $$
反向传播之所以强大,是因为它能高效计算损失函数对网络中任意参数的梯度,无论网络有多深。
视觉处理的启示
神经科学研究为深度学习架构提供了重要灵感。视觉皮层的层次化处理机制特别值得关注:
- 视网膜首先进行对比度归一化等预处理
- 视觉信号分层处理
- 特定神经元对特定模式(如边缘方向)产生响应
- 前馈结构支持快速识别
这些发现直接影响了卷积神经网络(CNN)的设计理念。
总结
深度学习的发展经历了多次起伏,最终在计算能力、算法改进和大数据的共同推动下取得了突破。理解这段历史有助于我们把握深度学习的本质,并为未来的创新奠定基础。在后续学习中,我们将深入探讨各种网络架构及其实现细节。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考