《深度学习入门》小结

Administrator 228 2023-04-04

摘抄自原书各个章节的小结部分,并做部分精简

第 2 章 感知机

本章我们学习了感知机。感知机是一种非常简单的算法,大家应该很快就能理解它的构造。感知机是下一章要学习的神经网络的基础,因此本章的内容非常重要。

本章所学的内容

  • 感知机是具有输入和输出的算法。给定一个输入后,将输出一个既定的值。
  • 感知机将权重偏置设定为参数。
  • 使用感知机可以表示与门和或门等电路。
  • 异或门无法通过单层感知机来表示。
  • 使用2层感知机可以表示异或门。
  • 单层感知机只能表示线性空间,而多层感知机可以表示非线性空间。
  • 多层感知机(理论上)可以表示计算机。

第 3 章 神经网络

本章介绍了神经网络的前向传播。本章的神经网络和上一章的感知机在信号的按层传递这一点上是相同的,但是,向下一个神经元发送信号时,改变信号的激活函数有很大差异。神经网络中使用的是平滑变化的sigmoid函数,而感知机中使用的是信号急剧变化的阶跃函数。这个差异对于神经网络的学习非常重要,我们将在下一章介绍。

本章所学的内容

  • 神经网络中的激活函数使用平滑变化的sigmoid函数或ReLU函数。
  • 通过巧妙地使用NumPy多唯数组,可以高效地实现神经网络。
  • 机器学习的问题大体上可以分为回归问题和分类问题。
  • 关于输出层的激活函数,回归问题中一般使用恒等函数,分类问题中一般用softmax函数。
  • 分类问题中,输出层的神经元的数量设置为要分类的类别数。
  • 输入数据的集合称为。通过以批为单位进行推理处理,能够实现高速的运算。

第 4 章 神经网络的学习

本章中,我们介绍了神经网络的学习。首先,为了能顺利进行神经网络的学习,我们导入了损失函数这个指标。以这个损失函数为基准,找出使它的值达到最小的权重参数,就是神经网络学习的目标。为了找到尽可能小的损失函数值,我们介绍了使用函数斜率的梯度法。

本章所学的内容

  • 机器学习中使用的数据集分为训练数据和测试数据。
  • 神经网络用训练数据进行学习,并用测试数据评价学习到的模型的泛化能力。
  • 神经网络的学习以损失函数为指标,更新权重参数,以使损失函数的值最小。
  • 利用某个给定的微小值的差分求导数的过程,称为数值微分。
  • 利用数值微分,可以计算权重参数的梯度。
  • 数值微分虽然费时间,但是实现起来很简单。下一章中要实现的稍微复杂一些的误差反向传播法可以高速地计算梯度。

第 5 章 误差反向传播法

本章我们介绍了将计算过程可视化的计算图,并使用计算图介绍了神经网络中的误差反向传播法,并以层为单位实现了神经网络中的处理。我们学过的层又ReLU层、Softmax-with-Loss层、Affine层、Softmax层等,这些层中实现了forward和backward方法,通过将数据正向和反向地传播,可以高效地计算权重参数的梯度。通过使用层进行模块化,神经网络中可以自由地组装层,轻松构建出自己喜欢的网络。

本章所学的内容

  • 通过使用计算图,可以直观地把握计算过程。
  • 计算图的节点是由局部计算构成的。局部计算构成全局计算。
  • 计算图的正向传播进行一般的计算。通过计算图的反向传播,可以计算各个节点的导数。
  • 通过将神经网络的组成元素实现为层,可以高效地计算梯度(反向传播法)。
  • 通过比较数值微分和误差反向传播法的结果,可以确认误差反向传播法的实现是否正确(梯度确认)。

第 6 章 与学习相关的技巧

本章我们介绍了神经网络学习中的几个重要技巧。参数的更新方法、权重初始值的赋值方法、Batch Normalization、Dropout等,这些都是现代神经网络中不可或缺的技术。另外,这里介绍的技巧,在最先进的深度学习中也被频繁使用。

本章所学的内容

  • 参数的更新方法,除了SGD之外,还有Momentum、AdaGrad、Adam等方法。
  • 权重初始值的赋值方法对进行正确的学习非常重要。
  • 作为权重初始值,Xavier初始值、He初始值等比较有效。
  • 通过Batch Normalization,可以加速学习,并且对初始值变得健壮。
  • 抑制过拟合的正则化技术有权值衰减、Dropout等。
  • 逐渐缩小"好值"存在的范围是搜索超参数的一个有效方法。

第 7 章 卷积神经网络

本章介绍了CNN。构成CNN的基本模块的卷积层和池化层虽然有些复杂,但是一旦理解了,之后就是如何使用它们的问题了。本章为了使读者在实现层面上理解卷积层和池化层,花了不少时间进行介绍。在图像处理领域,几乎毫不例外地都会使用CNN。请扎实理解本章的内容,然后进入最后一章的学习。

本章所学的内容

  • CNN在此之前的全链接层的网络中新增了卷积层和池化层。
  • 使用im2col函数可以简单、高效地实现卷积层和池化层。
  • 通过CNN的可视化,可知随着层次变深,提取的信息愈加高级。
  • LeNet和AlexNet是CNN的代表网络。
  • 在深度学习的发展中,大数据和GPU做出了很大的贡献。

第 8 章 深度学习

本章我们实现了一个(稍微)深层的CNN,并在手写数字识别上获得了超过99%的高识别精度。此外,还讲解了加深网络的动机,指出了深度学习在朝更深的方向前进。之后,又介绍了深度学习的趋势和应用案例,以及对高速化的研究和代表深度学习未来的研究案例。
深度学习领域还有很多尚未揭晓的东西,新的研究正一个接一个地出现。今后,全世界的研究者和技术专家也将继续积极从事这方面的研究,一定能实现目前无法想象的技术。

本章所学的内容

  • 对于大多数的问题,都可以期待通过加深网络来提高性能。
  • 在最近的图像识别大赛ILSVRC中,基于深度学习的方法独占鳌头,使用的网络也在深化。
  • VGG、GoogleNet、ResNet等是几个著名的网络。
  • 基于GPU、分布式学习、位数精度的缩减,可以实现深度学习的高速化。
  • 深度学习(神经网络)不仅可以用于物体识别,还可以用于物体检测、图像分割。
  • 深度学习的应用包括图像标题的生成、图像的生成、强化学习等。最近,深度学习在自动驾驶上的应用也备受期待。