继续谈泛函

2021-02-12  本文已影响0人  山岳之心

2.2 泛函的定义

泛函是函数定义的一种泛化,“泛化”是一种很学究的说法,实际上泛化就是推广的意思。函数定义了线性空间之间的映射。而泛函则推广了这个定义,它定义了映射空间到线性空间之间的映射。这看上去很难理解。举个例子:g(x)=sin(x),f[g(x)]=2g^{2}+3g+4
前面的g(x)是一个正弦函数,后面的f[g(x)]
则是一个泛函,它实际上等价于一个复合函数。实际上,泛函的意思其实很明确:它就是函数的函数。这在计算机编程中实际上是经常用到的概念,往往我们需要继承某个父函数(或者父类)的特性来定义出新的子函数(或者子类)。父函数(父类)实际上就是一个函数,而子函数(子类)则就代表一个泛函。但在计算机科学中,我们实际上一般只用到了泛函的定义。对于泛函的分析来说,则实质上还没有很大的发展。随后在本书的后续深入内容中,我们将看到,神经网络就是一种简单的泛函分析。

2.2.1 动态演化的核心[脚注:

在本小节,你将碰到很多计算机科学中不会接触的名词。你不需要害怕它们,我们将在本书中详细讨论它们。
]

一般而言,计算机科学中的算法都可以看作是泛函分析。但实际上,各种算法之间的差别很大。计算机解决的问题往往都是某种最优化规划。目前为止,绝大多数最优化规划问题都是对已知结果的近似。而这些结果往往都是静态预知的。这将导致拟合泛化能力不好甚至很差。因为这一类问题实际上可以看作是在固定状态(fixed
situation)也就是静态(static state)下的拟合。

在数学上,静态解往往无法表述动态变化的系统。这也就是为什么现在的人工智能算法无法实现真正的动态识别的原因。比如,计算机算法能够识别每张图片中的每一个物体,但计算机无法理解一个影片在表达什么意思。因为在真正的泛函分析处理的问题中,状态的演化(evolution)是至关重要的核心问题,而当前的人工智能更像是在练习素描画。

那么,先从泛函来看什么代表动态?动态根本意义就在于演化。演化和进化并不一样,演化是内在驱动的,进化是外在迫使的。比如一个物体从空中下落,在获得它当前所处的位置和速度后,通过空气阻力和重力的分析,我们可以准确的预测它未来某一时刻的速度和位置。这个预测就是基于物体本身的动力学做出的。但进化则不然,物种如果外在环境不改变,那么它就会基本不会发生进化,只会停留在适应当前环境的最优状态下。只有外在环境发生变化,才能迫使物种发生进化。从数学上来说,外在环境的变化是一种随时间变化的约束条件,它一般变化很慢(否则没有任何物种能够生存)。内在动力学则是一种快速的状态变化,它往往是连续快速的变化。

在使用计算机技术处理不同的大数据问题时,我们首先要了解问题的本质。如果要处理的数据是一种静态的问题,比如图像识别,最优化规划等等。那么就并不需要考虑演化的问题,只需要使用遗传或者基本的线性神经网络就可以处理。但如果是动态的问题,比如下围棋,天气预测,金融分析等等,那么光从基本线性神经网络或者遗传算法是无法得到很好的结果的。在这一类的问题中,一般需要使用强化学习算法。强化学习是利用反馈来激励的算法,它对应的一般是卷积神经网络。背后所蕴含的思想是离散马尔可夫链(discrete-time
Markov Chain)的思想。这是一种标准的动力学问题,物理上,它的内核就是是著名的几何布朗运动。本质上,它的革命性的思想在于引入了从时刻 t
到时刻 t+1 的概率性演化。

在计算机科学中,我们对于静态问题有很好的理解。它们往往容易从标准的算法就可以入手解决。但对于动力学问题,我们的理解还基本停留在几何布朗运动这个内核上。但是,需要注意的是,几何布朗运动不能代表所有的动力学演化过程。在数学和物理上,处理的动力学问题要复杂的多。几何布朗运动代表的仅仅是一种统计问题。它只能处理噪声环境下的自由问题。这其实是非常局限的动力学。如果我们要处理流体,散射,甚至是量子物理的动力学时候,我们需要构建完全不同的动力学模型。而构建所有这些动力学模型的基本方法就是通过泛函分析中的拉格朗日量,简称拉氏量。上文所述的几何布朗运动的拉格朗日量是著名的福克-普朗克(Fokk-Planck)拉氏量。这个量的意义就是引入了时间转移算法,也就是演化。

从泛函分析的观点来看,任何一个动力学问题都最终归结到如何引入合适的拉氏量。注意,在很多时候,我们也经常说哈密顿量(Hamiltonian),它和拉氏量本质上是相同的东西,两者之间数学上相差一个勒让德变换(Legendre
Transformation)。

上一篇下一篇

猜你喜欢

热点阅读