维度灾难与降维

本文将分析和讨论人类智能应对维度灾难的解决方案,应对维度灾难的核心解决方案是降维,那么如何降维,降维的信息如何利用从而来完成智能任务呢?降维作为一个通用的处理原则,它反映在智能处理的各个方面,下面让我为您一一道来。

维度灾难是传统算法在完成智能任务时面对的巨大挑战,而在自然界,生物所面临的世界是极度复杂的,理论上的输入维度可以无穷大,面对维度灾难,具有强烈适应性的生物一般都具有自己的处理方案,随着处理方式的简单到复杂反映了智力的从低到高,人类之所以成为万物之首,究其原因是在应对复杂局面时有更高级的应对办法,这就是高级智能的结果。通过分析这些适者生存的各类生物的生存能力,我们会发现,在整个生物链上,越是低等的动物,他们的脑越小,意味着能够处理的信息能力有限,因为在面对这个复杂的世界时,会尽力减少输入的信息量,只选择对自己最有价值的信息,如参考资料[1]中提到的,不真实性问题就是对降维的观察,想象一下带有触角的昆虫,触角将整个世界的可能输入转变为两个触角的探测,这远比视觉的输入维度要低的多。当然,并不是所有的感觉输入都是降维的,听觉系统就是一个典型的升维操作,通过耳蜗分频使得大脑可以处理复杂的序列信息,升维的目的在于提高输入信息的丰富性,这是因为高维信息隐藏在低维表示中,值得一提的是,大脑皮层似乎没有升维能力,必须借助特定的器官才行。

一、降维的本质——损失信息带来的价值
显而易见,降维的本质是通过损失一些不关心的信息以使得一个模块处理起来更加容易,信息损失带来的结果是源信息的不可恢复性,对于分类问题而言,这一点并不重要,但是对于观察类问题,这会引发问题,所以,智能任务的处理中,一定不是单纯的降维这么简单,但无论如何,我们可以方便地将降维本身独立开来,从而架构上,将其与其他智能处理方法解耦开来。

二、降维的方式
所有的降维都可以描述为 y = h(x), x为原始输入,y为降维后的输出,但是我一直强调的观点是,虽然这个数学公式很简单,但是他不能解决结构上的问题,因为h本身奥妙极深,我们下面列举三种降维方式,看看其中的不同。
1. 检测器
最为普遍的降维器,如各种生物感受器,激光测距雷达,ON-OFF细胞,简单细胞,大多数神经网络中的细胞都是以检测器的形态存在的,不同的细胞用于检测不同的特征,检测器简单暴力地降输入降到一维上,这里不将时间看做一个维度。

2. 差值比例计算器
将绝对信息转换为相对信息进行表示,一般来说可以降低一个维度,比如相对音高变化,亮度对比关系。这种方式之所以典型存在与脑中,是因为该方式对于自然界的去变化性非常有效,差值比例关系是抽取线性变化十分有效的方式,比如一个物体在移动、旋转等等变化时,他的关键点之间的距离关系比是不变的,比如人脸的两眼之间的距离与鼻尖到两眼中线距离的比例关系是不变的,或者说在变化过程中两眼与鼻尖形成的三角形们相互之间是相似三角形。
诸位可以思考一下,如果有更高阶的信息不变性抽取会变成什么样呢?比如,一个事物在变化过程中始终遵循相对位置关系变化的加速度比例关系相同会怎样呢?

3. 注意模型
还有一种很特别的降维方式是基于注意模型的,如顶叶的一个功能就是特别强烈的刺激,强的刺激更容易引发注意的关注,在大量输入中选取感兴趣的一部分输入,从而间接地实现了降维。注意模型是为了串行处理的需要,如果有其他的模块为了自己的需要,也可以从大量输入中选取自己感兴趣的信息,这个模型就推广到了过滤器模型。

但过滤器模型只是各种模型中的一个组成要件,注意模型和检测器模型都可以包含一个过滤器。

三、降维的缺陷
只降维的系统的缺陷是显而易见的,丢失了一些细节信息使得其他依赖这些细节信息的智能任务无法完成,所以严格的层次化结构是不合理的,网状结构更加合理一些,不同的降维器形成的新输入可以被其他模块接收用于下一步处理,而同时该模块也可以获取原始输入用于处理,所以降维的目的是为了更有效地发现重要信息,而不是丢弃信息。如果希望开发一个完美的目标识别系统,需要充分考虑降维的同时,还要好好考虑如何结合非降维,如果实现超级智能,可以好好考虑升维的问题。

[1] 眼见为实?https://www.ted.com/talks/donald_hoffman_do_we_see_reality_as_it_is?language=zh-cn#t-802774