当前位置:   article > 正文

什么是深度学习?45分钟理解深度神经网络和深度学习 刘利刚教授_刘利刚深度学习

刘利刚深度学习

什么是深度学习?

45分钟理解深度神经网络和深度学习

 

刘利刚

中国科学技术大学图形与几何计算实验室

http://staff.ustc.edu.cn/~lgliu

 

【绪言】

近年来,人工智能(Artificial Intelligence, AI)和深度学习(Deep Learning, DL)非常火爆,在各个领域得到了广泛的应用。在笔者所从事的计算机图形学领域,也出现了越来越多的使用深度学习方法来解决各种问题的研究工作。2018年7月初,笔者首次在第七届中国科学技术大学《计算机图形学前沿》暑期课程上讲授和分享了笔者从数学(函数逼近论)的角度来对基于深度神经网络(Deep Neural Network, DNN)的深度学习的进行理解。之后,不断有学生来向笔者进一步询问和交流有关资料和问题。为了使学生们能够更好、更快理解和使用深度神经网络和深度学习,特撰写此文。

本文的目的是帮助非人工智能领域的学生(主要是计算机图形学领域的学生及笔者的学生)来搞懂深度学习(这里指狭义的深度学习,即基于DNN的深度学习)的基本概念和方法。笔者尝试用通俗的语言,从函数逼近论的角度来阐释深度神经网络的本质。由于笔者的主要研究领域为计算机图形学,而非人工智能领域,因此本文仅仅为笔者从外行的角度对基于DNN的深度学习的粗浅理解,而非人工智能领域对DNN和深度学习的权威解释。因而,笔者对其中的有些内容的理解是有限的,甚至是有误的。如有不当之处,还请读者指正!

 

一、   从数据拟合说起

 

在大学的《数学分析》、《微积分》或者《数值分析》中,大家都已学习并熟悉数据拟合问题及求解拟合问题的最小二乘法。

1.1.            数据拟合问题

在科学技术的各领域中,我们所研究的事件一般都是有规律(因果关系)的,即自变量集合与应变量集合之间存在的对应关系通常用映射来描述(特殊情况:实数集合到实数集合之间的映射称为函数)。这样能根据映射(函数)规律作出预测并用于实际应用。

有些函数关系可由理论分析推导得出,不仅为进一步的分析研究工作提供理论基础,也可以方便的解决实际工程问题。比如,适合于宏观低速物体的牛顿第二运动定律就是在实际观察和归纳中得出的普适性力学定律。

但是,很多工程问题难以直接推导出变量之间的函数表达式;或者即使能得出表达式,公式也十分复杂,不利于进一步的分析与计算。这时可以通过诸如采样、实验等方法获得若干离散的数据(称为样本数据点),然后根据这些数据,希望能得到这些变量之间的函数关系,这个过程称为数据拟合(Data fitting),在数理统计中也称为回归分析(Regression analysis)。

这里值得提一下,在实际应用中,还有一类问题是输出的结果是离散型的(比如识别图片里是人、猫、狗等标签的一种),此时问题称为分类(Classification)。

 

1.2.            数据拟合类型

我们先考虑最简单的情形,即实数到实数的一元函数。假设通过实验获得了个样本点。我们希望求得反映这些样本点规律的一个函数关系,如图1所示。

如果要求函数严格通过每个样本点,即

 

 ,

(1.1)

则求解函数的问题称为插值问题(Interpolation)。

一般地,由于实验数据带有观测误差,因此在大部分情况下,我们只要求函数反映这些样本点的趋势,即函数靠近样本点且误差在某种度量意义下最小,称为逼近问题(Approximation)。若记在某点的误差为

 

(1.2)

且记误差向量为。逼近问题就是要求向量的某种范数最小。一般采用欧氏范数(范数)作为误差度量的标准(比较容易计算),即求如下极小化问题:

 

.

(1.3)

图1. 数据拟合。左:输入的样本点;中:插值函数;右:逼近函数。

 

无论是插值问题还是逼近问题,一个首要的问题就是函数的类型的选择和表示问题,这是《函数逼近论》中的一个比较“纠结”的问题。

 

二、   函数逼近论简介

 

函数的表示是函数逼近论中的基本问题。在数学的理论研究和实际应用中经常遇到下类问题:在选定的一类函数中寻找某个函数,使它与已知函数(或观测数据)在一定意义下为最佳近似表示,并求出用近似表示而产生的误差。这就是函数逼近问题。称为逼近函数或拟合函数。

在函数逼近问题中,逼近函数的函数类可以有不同的选择;即使函数类选定了,在该类函数中确定的方式仍然是各式各样的;的近似程度(误差)也可以有各种不同的定义。我们分别对这些问题进行理解和讨论。

 

2.1.             逼近函数类

在实际问题中,首先要确定函数的具体形式。这不单纯是数学问题,还与所研究问题的运动规律及观测数据有关,也与用户的经验有关。一般地,我们在某个较简单的函数类中去寻找我们所需要的函数。这种函数类叫做逼近函数类。

逼近函数类可以有多种选择,一般可以在不同的函数空间(比如由一些基函数通过线性组合所张成的函数空间)中进行选择。如下是一些常用的函数类。

(1)   多项式函数类

次代数多项式,即由次数不大于的幂基的线性组合的多项式函数:

 

,

(2.1)

其中为实系数。

更常用的是由次Bernstein基函数来表达的多项式形式(称为Bernstein多项式或Bezier多项式):

 

,

(2.2)

其中Bernstein基函数

(2)   三角多项式类

阶三角多项式,即由阶数不大于的三角函数基的线性组合的三角函数:

 

,

(2.3)

其中为实系数。

 

这些是常用的逼近函数类。在逼近论中,还有许多其他形式的逼近函数类,比如由代数多项式的比构成的有理分式集(有理逼近);按照一定条件定义的样条函数集(样条逼近);径向基函数(RBF逼近);由正交函数系的线性组合构成的(维数固定的)函数集等。

 

2.2.            万能逼近定理

在函数逼近论中,如果一组函数成为一组“基”函数,需要满足一些比较好的性质,比如光滑性、线性无关性、权性(所有基函数和为1)、局部支集、完备性、正性、凸性等。其中, “完备性”是指,该组函数的线性组合是否能够以任意的误差和精度来逼近给定的函数(即万能逼近性质)?

对于多项式函数类,我们有以下的“万能逼近定理”:

【定理2.1 Weierstrass逼近定理)】上的任意连续函数,及任意给定的,必存在次代数多项式,使得

 

(2.4)

 

 

 

Weierstrass逼近定理表明,只要次数足够高,次多项式就能以任何精度逼近给定的函数。具体的构造方法有Bernstein多项式或Chebyshev多项式等,这里不详细展开。

类似地,由Fourier分析理论(或Weierstrass第二逼近定理),只要阶数足够高,阶三角函数就能以任何精度逼近给定的周期函数。这些理论表明,多项式函数类和三角函数类在函数空间是“稠密”的,这就保障了用这些函数类来作为逼近函数是“合理”的。

 

2.3.            逼近函数类选择的“纠结”

在一个逼近问题中选择什么样的函数类作逼近函数类,这要取决于被逼近函数本身的特点,也和逼近问题的条件、要求等因素有关。

在实际应用中,这里其实存在着两个非常“纠结”的问题。

第一,选择什么样的逼近函数类?一般地,需要用户对被逼近对象或样本数据有一些“先验知识”来决定选择具体的逼近函数类。比如,如果被逼近的函数具有周期性,将三角函数作为逼近函数是个合理的选择;如果被逼近的函数具有奇点,将有理函数作为逼近函数更为合理,等等。

第二,即使确定了逼近函数类,选择多高的次数或阶数?比如,如果选择了多项式函数类,根据Lagrange插值定理,一定能找到一个次多项式来插值给定的个样本点。但如果较大,则这样得到的高次多项式很容易造成“过拟合”(Overfitting)。而如果选择的过小,则得到的多项式容易造成“欠拟合”(Underfitting)。如图2所示。过拟合或欠拟合函数在实际应用中是没有用的,因为它们的预测能力非常差!

图2. 用不同次数的多项式拟合样本点(蓝色点)。

左:欠拟合;中:合适的拟合;右:过拟合。

 

这里有个概念需要提及一下。一个逼近函数“表达能力”体现在该函数的未知参数(即公式(2.1)-(2.3)中的系数)与样本点个数的差,也称为“自由度”。如果逼近函数的未知参数越多,则表达能力越强。然而,在实际的拟合问题中,逼近函数的拟合能力并非越强越好。因为如果只关注样本点处的拟合误差的话,非常强的表达能力会使得样本点之外的函数值远远偏离期望的目标,反而降低拟合函数的预测性能,产生过拟合,如图2 (右)所示。

人们发展出各种方法来减缓(不能完全避免)过拟合。比如,剔除样本点中的噪声(数据去噪)、增加样本点数据量(数据增广)、简化预测模型、获取额外数据进行交叉验证、或对目标函数进行适当的正则化等。在此不详细叙述。

在实际应用中,如何选择拟合函数的数学模型(合适的逼近函数类及其阶数),并不是一开始就能选好,往往须通过分析确定若干模型后,再经过实际计算、比较和调整才能选到较好的模型。需要不断的试验和调试(称为“调参”过程),是个需要丰富经验的“技术活”。

 

2.4.            最小二乘法(Least Squares Method)

假设通过分析我们已经确定了逼近函数类及其次数。记基函数(一般线性无关)为。记为这些基函数所张成的线性空间(函数空间)。则逼近函数可记为

 

,

(2.5)

其中为待定权系数。

关于最小二乘法的一般提法是:对给定的一组样本点数据,要求在函数类中找一个函数,使误差的模的平方,即式(1.3),达到最小。

对于分析极小化误差(1.3),可得关于系数向量的法方程

 

,

(2.6)

从而可求得

 

.

(2.7)

由于法方程是一个线性方程组,因此基于最小二乘法的函数求解也称为线性回归。

另外,我们可在误差项中加个权,表示不同点处的数据比重不同,此时称为加权最小二乘方法(Weighted least squares, WLS)。另外,还有移动最小二乘法(Moving least squares, MLS)等其他最小二乘法的改进方法。此处不详细叙述。

 

三、   稀疏表达和稀疏学习

 

在实际应用中, 2.3节中所述的两个“纠结”问题时有发生。人们发展出不同的方法来尝试解决。

3.1.            岭回归(Ridge Regression)

当数据量较少的情况下,最小二乘法(线性回归)容易出现过拟合的现象,法方程的系数矩阵会出现奇异(非满秩),此时回归系数会变得很大,无法求解。

这时在最小二乘法的结果(式(2.7))中加一个小扰动,使原先无法求广义逆的情况变成可以求出其广义逆,使得问题稳定并得以求解,即

 

.

(3.1)

事实上,这个解对应于如下极小化问题的解:

 

.

(3.2)

其中,参数称为正则化参数(岭参数)。上述回归模型称为岭回归,其与最小二乘法的区别在于多了关于参数范数正则项。这一项是对的各个元素的总体的平衡程度,即限制这些权稀疏的方差不能太大。

实际应用中,如果岭参数选取过大,会把所有系数均最小化(趋向于0),造成欠拟合;如果岭参数选取过小,会导致对过拟合问题解决不当。因此岭参数的选取也是一个技术活,需要不断调参。对于某些情形,也可以通过分析选择一个最佳的岭参数来保证回归的效果,在此不详细叙述。

 

3.2.            Lasso回归(Least Absolute Shrinkage and Selection Operator)

Lasso回归的极小化问题为:

 

,

(3.3)

其中,正则项为范数正则项。Lasso回归能够使得系数向量的一些元素变为0(稀疏),因此得到的拟合函数为部分基函数的线性组合。

 

3.3.            稀疏表达与稀疏学习

根据Lasso回归的分析,我们可通过对回归变量施加范数范数为元素中非0元素的个数,在很多时候可以用

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/运维做开发/article/detail/906674
推荐阅读
相关标签
  

闽ICP备14008679号