- 深度学习的 Ups and Downs
- 概念区分
- 神经网络的构成
- 深度学习基本原理
- 深度学习的普遍近似定理
- 扩展:反卷积网络——可视化每一层提取的特征
深度学习的 Ups and Downs
- 1958:感知机(线性模型)
- 1969:感知机有局限性
- 1980s:多层感知机
和今天的深度神经网络没有显著区别 - 1986:反向传播
通常超过 3 层的隐藏层没有帮助 - 1989:1 层隐藏层就“足够好”,为什么要深层?
- 2006:RBM 初始化
- 2009:GPU
- 2011:开始在语音识别领域流行
- 2012:赢得 ILSVRC 图像竞赛
- 2015.2:图像识别超越人类水平
- 2016.3:Alpha GO 击败李世石
- 2016.10:语音识别系统达到人类水平
概念区分
深度学习属于机器学习,深度学习 本质上是一个三层或更多层的神经网络。这些神经网络试图模拟人脑(尽管远未达到其功能),支持从大量数据中进行"学习"。
神经网络是一种模仿生物神经系统的计算模型,它由多个神经元组成,每个神经元都可以接收、处理和传递信息。它模仿人脑的机制来解释数据,例如图像,声音和文本。神经网络可以有不同的结构和类型,例如 卷积神经网络、循环神经网络、生成对抗网络等。
深度学习是利用深层的神经网络来实现机器学习的目标,例如图像识别、自然语言处理、语音识别等。将模型处理得更为复杂,从而使模型对数据的理解更加深入。
神经网络的构成
典型的神经网络如下图所示:
可以看到,典型的神经网络由
- 输入层
- 中间层/隐层
- 输出层
共三层所构成。
- 神经元:表示输入、中间数值、输出数值点。例如:在图中的一个个小圆圈,分别表示不同的神经元。
- 权重:神经元传导时,要乘以一个系数,这个系数叫做权重值。例如:从上图中输入层的神经元要传导到隐层的神经元,输入层的神经元要乘以一个系数后到达隐层,即:隐层=输入层*权重。
深度学习基本原理
深度学习,是通过 一层又一层的隐层 实现了复杂的功能。
以图像识别为例,假设我们要识别一幅图像内的 语义信息。实现起来,具体为:
- 第 1 层:提取图像的 最基础的底层特征,包括 纹理、边缘、色彩等。
- 第 2 层:将第 1 层的特征排列组合,并找到有用的组合信息。此时会找到 曲线、轮廓等特征。
- 第 3 层:对第 2 层的特征排列组合,并找到有用的组合信息。此时,会找到 高级特征,例如 眼睛、鼻子、嘴等等。
- 第 4 层:对第 3 层的特征进行排列组合,并找到有用的组合信息。此时,会找到有用的 语义信息,例如 打电话、奔跑等语义信息。
该过程的简单示意如下图所示:
所以,深度学习的处理逻辑 就是:首先提取低级特征,然后对低级特征不断地在更高的级别上进行排列组合,并寻找组合后的有用信息。
深度学习的普遍近似定理
深度学习的普遍近似定理(Universal Approximation Theorem)表明,具有足够参数的深度神经网络(即深度学习模型)在理论上能够以任意精度逼近(拟合)任何连续函数。
这个定理的内容并非深度学习可以逼近任何函数,而是对于任何 连续函数,存在一个深度神经网络可以以足够精度近似它。
- 可以把深度学习看作是一种 函数的组合,每一层都是一个函数,它的输入是上一层的输出,它的输出是下一层的输入。
- 每一层的函数都有一些参数,比如权重(weight)和偏置(bias),它们可以通过训练来调整,使得整个网络的输出更接近目标函数的值。
- 每一层的函数还有一个特殊的成分,叫做 激活函数(activation function),它是一个非线性的函数,比如 sigmoid、tanh、ReLU 等,它的作用是 给网络增加非线性的能力,使得网络可以拟合更复杂的函数。
- 如果没有激活函数,那么无论网络有多少层,它都只能拟合线性的函数,因为线性函数的组合还是线性函数。
- 有了激活函数,网络就可以拟合非线性的函数,而且层数越多,拟合的能力越强,因为网络可以提取更高层次的特征,更好地适应数据的分布。
具体来说,Universal Approximation Theorem 的形式有点技术性,但大致的理解是:
在足够深、足够宽(指神经网络中有足够多的神经元)的情况下,深度神经网络具有足够的表达能力,可以逼近连续函数的任何形状。
这是 因为深度神经网络的层次结构允许它学习复杂的特征和表示。
扩展:反卷积网络——可视化每一层提取的特征
论文《Visualizing and Understanding Convolutional Networks》提供了一种有效的方法,来 可视化和理解卷积网络的内部工作机制,从而帮助我们设计和改进网络模型。
其中介绍的一种用于可视化和理解卷积网络的技术,叫做 反卷积网络(Deconvnet)。反卷积网络是一种与卷积网络相反的结构,它可以 将卷积网络的中间层的特征图映射回像素空间,从而展示出每一层所提取的特征和激活的模式。
通过反卷积网络,我们可以观察到 卷积网络的每一层都学习到了什么有用的知识,例如:
- 第一层:学习到了一些 简单的边缘和颜色 的检测器,类似于 传统的滤波器。
- 第二层:学习到了一些 由边缘和颜色组成的更复杂的形状和纹理 的检测器,例如 圆角、条纹、斑点等。
- 第三层:学习到了一些 由形状和纹理组成的更高级的特征 的检测器,例如 眼睛、鼻子、轮胎等。
- 第四层:学习到了一些 由高级特征组成的更具体的物体 的检测器,例如 狗、猫、人脸等。
- 第五层:学习到了一些 由具体物体组成的更抽象的类别 的检测器,例如 动物、汽车、飞机等。