重点摘要
1. 神经网络正在通过其从数据中学习的能力革新机器学习
机器学习在数据中寻找响应,发现模型,并基于此呈现一个故事。
数据驱动的方法。 神经网络代表了一种从传统基于规则的编程到直接从数据中学习模式的范式转变。这使得它们能够解决一些难以通过显式编程解决的复杂问题,如图像识别和自然语言处理。
端到端学习。 神经网络可以直接从原始输入数据中学习层次表示,消除了手动特征工程的需要。这使得它们能够自动发现相关特征和模式,通常优于手工制作的方法。
泛化能力。 通过从大数据集中学习,神经网络可以泛化到新的、未见过的例子。这种提取底层模式并将其应用于新情况的能力是其关键优势,使其在从医疗诊断到自动驾驶等各个领域都有应用。
2. 感知器构成了神经网络的基础,能够表示复杂的函数
感知器在这里的工作是SGD。参数由优化器变量更新。
基本构建块。 感知器是最简单形式的人工神经元,受生物神经元的启发。它们接受多个输入,应用权重,并基于激活函数产生输出。
逻辑操作。 感知器可以表示基本的逻辑操作,如AND、OR和NOT门。通过组合多个感知器,可以近似更复杂的函数:
- AND门:两个输入都必须为高,输出才为高
- OR门:至少一个输入为高,输出才为高
- NOT门:反转输入
局限性。 单层感知器仅限于线性可分问题。这一限制导致了多层网络的发展,以克服这一限制并表示更复杂的非线性函数。
3. 多层神经网络实现了强大的非线性表示
多层感知器有时被称为多层感知。
克服线性限制。 通过堆叠多个神经元层,多层网络可以近似复杂的非线性函数。这使得它们能够解决单层感知器无法解决的问题,如XOR问题。
通用函数逼近。 理论上,一个具有足够数量神经元的单隐藏层神经网络可以以任意精度逼近任何连续函数。然而,更深的网络通常学习效率更高:
- 输入层:接收原始数据
- 隐藏层:提取和转换特征
- 输出层:产生最终预测
激活函数。 非线性激活函数如ReLU、sigmoid和tanh引入了网络中的非线性,使其能够学习复杂的模式:
- ReLU(修正线性单元):f(x) = max(0, x)
- Sigmoid:f(x) = 1 / (1 + e^-x)
- Tanh:f(x) = (e^x - e^-x) / (e^x + e^-x)
4. 反向传播高效地训练深度神经网络
反向传播发生在步骤2。在前一章中,我们使用数值微分来获得梯度。
基于梯度的学习。 反向传播是一种高效的算法,用于计算神经网络中的梯度。它通过使用微积分的链式法则逐层向后传播误差。
计算图。 将神经网络表示为计算图有助于可视化和理解前向和后向传递期间的信息流:
- 前向传递:计算输出和损失
- 后向传递:计算梯度并更新权重
自动微分。 现代深度学习框架实现了自动微分,使开发者能够专注于设计网络架构,而无需手动推导梯度。这大大加速了该领域的研究和开发。
5. 卷积神经网络(CNN)在图像识别任务中表现出色
因此,CNN可以有效地理解形状数据,如图片。
专门的架构。 CNN被设计用于处理网格状数据,如图像。它们使用专门的层来利用输入的空间结构:
- 卷积层:应用学习到的滤波器以检测特征
- 池化层:减少空间维度并引入不变性
- 全连接层:结合高级特征进行分类
参数共享。 卷积层在整个输入中使用相同的一组权重,与全连接网络相比显著减少了参数数量。这使得CNN更高效且不易过拟合。
层次特征学习。 CNN学习输入的层次表示:
- 低层:检测简单特征如边缘和角点
- 中层:将简单特征组合成更复杂的模式
- 高层:识别高级概念和对象
6. 像SGD和Adam这样的优化技术加速了神经网络的训练
神经网络训练的目标是寻找能够最小化损失函数值的参数。
梯度下降变体。 各种优化算法被开发出来以改进基本的随机梯度下降(SGD):
- 动量:加速收敛并减少振荡
- AdaGrad:为每个参数调整学习率
- Adam:结合了动量和自适应学习率的思想
学习率调度。 在训练期间调整学习率可以提高收敛性和最终性能:
- 阶梯衰减:在固定间隔减少学习率
- 指数衰减:持续减少学习率
- 循环学习率:在低和高学习率之间振荡
批量归一化。 在小批量内归一化激活有助于稳定训练,允许更高的学习率和更快的收敛。在某些情况下,它还起到了正则化作用,减少了对dropout的需求。
7. 更深的网络实现了更高的准确性,但在训练中面临挑战
网络越深,识别性能越好。
增加的表达能力。 更深的网络可以用更少的参数表示更复杂的函数。这使得它们能够学习输入数据的层次表示。
训练挑战。 非常深的网络在训练中面临问题:
- 梯度消失/爆炸:梯度变得太小或太大
- 退化问题:性能随着深度的增加而饱和和退化
架构创新。 为了解决这些挑战,研究人员开发了新的架构:
- ResNet:引入跳跃连接以允许梯度直接流动
- DenseNet:将每一层连接到前向传播中的每一层
- Transformer:用注意力机制取代序列任务中的递归
8. 迁移学习和数据增强在有限数据集上提升性能
如果你能够利用数据增强来增加图像数量,你可以应用深度学习来提高识别准确性。
利用预训练模型。 迁移学习允许在大数据集上训练的网络通过微调用于特定任务,数据有限的情况下显著减少训练时间并提高性能。
数据增强技术。 通过变换人工增加训练数据集的大小:
- 几何变换:旋转、缩放、翻转、裁剪
- 颜色调整:亮度、对比度、饱和度调整
- 噪声注入:向输入添加随机噪声
- 混合:结合多个训练样本
少样本学习。 开发能够从极少样本中学习的模型是一个活跃的研究领域,适用于标注数据稀缺或昂贵的领域。
9. 深度学习正在变革计算机视觉、自然语言处理和强化学习等领域
深度学习也被称为端到端学习。
计算机视觉突破。 深度学习革新了以下任务:
- 图像分类:识别图像中的对象
- 目标检测:定位和分类多个对象
- 语义分割:对图像区域进行像素级分类
- 图像生成:从文本描述创建逼真的图像
自然语言处理(NLP)进展。 基于Transformer的模型在以下方面取得了最先进的性能:
- 机器翻译:在语言之间翻译
- 文本摘要:生成较长文本的简明摘要
- 问答系统:从上下文中提取相关信息
- 语言生成:生成类似人类的文本
强化学习。 将深度学习与强化学习结合在以下方面取得了令人印象深刻的成果:
- 游戏:掌握复杂的游戏如围棋和星际争霸
- 机器人:学习机器人操作的控制策略
- 自动驾驶:开发车辆的决策系统
Last updated:
评论
空