分享

光、极限、付立叶变换与万能逼近定理:揭秘深度学习的基本理论

 北欧模式 2023-12-14 发布于陕西

很多人在学习深度学习的时候,都会陷入一定的困惑之中,那就是:深度学习到底是不是一门科学,亦或仅仅是在经历了大量数据的洗礼之后的参数优化?

不仅是普通的深度学习研究者,就连大牛Ali Rahimi,在获得 NIPS 2017 Test-of-time Award后的演讲中,也直指深度学习是一种“炼金术(Alchemy)。随后深度学习的领军人物,Facebook AI 研究总监 Yann LeCun 在普林斯顿高等研究所进行了一次演讲,题为《深度学习认识论》,重点讨论了深度学习思想的早期历史和动态,强调理论理解在深度学习研究中的重要意义。反驳了Ali的炼金术说法,而是认为,深度学习在一定程度上是一门“工程科学”,人们通过经验去调节参数,最终获得在工程应用上效果不错的“工件”,但是理解深度学习,在一定程度上是“物理科学”,需要理解这个工件的一般属性。

这个很像是普朗克发现量子力学的过程。很多阅读过科普读物的同学都知道普郎克的这个故事,当年在他在研究黑体辐射问题的时候,他面对着两个热辐射的公式,瑞利-金斯公式只在低频范围符合,而另一个维恩公式(维恩位移定律)只在高频范围符合。为了解决这问题,1900年10月下旬,马克斯·普朗克在《德国物理学会通报》上发表了一篇只有三页纸的论文,题目是《论维恩光谱方程的完善》,第一次提出了黑体辐射公式。在这条公式里,他使用了一种熵列式内插的数学方法,使这个公式从形式上,在高频范围内符合了维恩公式,而在低频范围内又符合了瑞利-金斯公式。而为了解释他这个公式的合理性,他只能假设:物质辐射(或吸收)的能量不是连续地、而是一份一份地进行的,只能取某个最小数值的整数倍,这个最小数值就叫量子。从而开启了人类通往量子力学的大门。

类似的例子还有很多,科学家们不断通过各种研究,来逐渐揭示人们司空见惯的自然界现象背后的各种科学原理。而这往往意味着把我们熟知的某种东西,或是元素,分解成其本质。

就像古老的中国,曾经把金木水火土,作为组成世界的基本元素。然后我们发现他们都可以进一步分解。比如说水本质上是两个氢原子和一个氧原子组成的化合物。

再比如说万物生长所信赖的太阳光,在牛顿的三棱镜折射过程中,成功分解成为了七色的彩虹。

这种分解,在高等数学领域体现出了一种具有真理性的美感。这就是极数的收敛和函数的展开。

人们发现,一些写成某种固定形式的级数,无穷加下去,最终会得到一个固定的值,例如说交错调和级数:

最终加起来的结果趋近于(收敛于)ln2。

人们还发现了很多类似的级数收敛性。例如:

这些数学上的成果,给了我们将一些难以计算的函数,展开成易于计算的初等数学运算,展开到一定程度之后,忽略掉后面很小的一部分,从而进行近似计算的可能性。

于是人们很快发明了多种将函数展开的方法,也就是用一些具有普遍形式的通项的和的形式,把一个函数表示出来。

比如说将函数展开成幂的形式,即为泰勒级数:

再比如说将函数展开成正弦波和余弦波的形式,即为付立叶级数:

当人们发现了付立叶级数的时候,一扇新的大门就被打开了。

人们发现,原来任何连续测量的信号,都可以表示为不同频率的正弦波信号的无限叠加,也就是说,我们以为随时间变化的各种非周期信号,比如说声音、图像等,其实只不过是在静态的频域中,一组无限的周期正余弦的叠加。

付立叶变换,给科技打开了一扇新的大门,就像当年牛顿通过一块三棱镜,将我们眼里的太阳光,分解成七色的彩虹一样。把混沌而无规律的信号,变成了一个个静止的音符。

到了深度学习大发展的时代,我们开始试图解析我们的思维了。

虽然没有人能够说清楚,人的意识是如何产生的,但是可以把人对于事物的反应看成是一个函数,接受一个刺激,比如说看到一盘水果,给出一个输出,吃一口水果。

那么,人们是如何做出这个反应的,这一个反应的过程,是否可以分解呢?

或许我们可以做一个简单的分解:

第一步,接受输出,看到水果。

第二步,根据经验数据得出结论,能吃。

第三步,审视自身状态,得到状态信息,饿了,或馋了。

第四步,确定水果归属,得到信息,吃了不会挨揍。

第五步,输出结果,拿起水果吃起来。

可以简单地认为,从看到水果到拿起水果吃起来,是这五个步骤的线性组合。

万能近似定理(Universal Approximation Theorem),给出了这种组合的数学模拟。该定理最早由George Cybenko于1989年首次提出,后来由Kurt Hornik在1991年进行了进一步的证明。

该定理表明,对于一个具有至少一层具有任何一种“挤压”性质激活函数的隐藏层的前馈神经网络,只要该隐藏层具有足够多数量的神经元,该神经网络可以以任意精度来逼近任何函数。其实质即为,使用一个足够大的、具有足够多神经元的隐藏层,神经网络可以模拟任意一个从有限维空间到另一个有限维空间的Borel可测函数。

这就意味着,一个人的思考方式,本质上或许可以用一个函数来表达,而足够多的参数,将能够模拟这个人的思考方式。

比如说一个简单的人,他能够接受到的信号只有食物的颜色和味道,而输出只有吃或不吃,那么在有限的组合之内,他总是会有一个必然的反应,例如红色辣的不吃,绿的甜的吃之类的。

深度学习,本质上就是从已知的数据中,学习到各种参数的值。比如说不吃辣的,但是吃绿的,那么对于一个绿的辣的,吃的概率有多少,那就要学习到这个人之前吃过多少次绿的辣的,如果一共十次面对绿的辣的,其中七次吃了,三次没吃。那么在不考虑其它因素影响的情况下,再来一个绿的辣的食物,那这个人吃的概率就是70%,不吃的概念就是30%。

当前,我们可能只能从工程经验数据上,判断这个人吃或不吃的经验概率。但是,或许有一天,我们会有某种方法,来直接判断这些参数的数值,那个时候,或许,我们就不需要从大量数据中来学习一个模型,而是直接根据想要的条件,设定模型了。

我们期待那一天的到来!

喜欢本文的话,欢迎关注活在信息时代哦:)

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多