这篇文章原刊登于《量子杂志》(Quanta Magazine),分析了机器学习在大数据中的一些数学原理和问题,作者Ingrid Daubechies是杜克大学数学、电子和计算机工程系的教授。《量子杂志》是由西蒙斯基金会独立编辑出版的一本杂志,旨在向公众介绍数学、物理和生命科学方面的最新进展。
几年前的一次晚餐上,杰出的微分几何学家 Eugenio Calabi 主动半开玩笑地和我聊起了纯粹数学家和应用数学家的区别。研究遇到难题时,纯粹数学家经常进一步窄化难题,避免障碍;但应用数学家会把卡壳视为信号——是时候学习更多数学知识,找出更好的解决办法了。
我一直觉得这个观点很赞;它解释了为什么应用数学家总是需要更为基础的数学领域研究出来的新概念和新结构。这在今天人们努力理解「大数据」(非常庞大和复杂,难以用传统数据处理技术进行理解的数据组)的过程中,显得尤为明显。
目前,从最理想的角度来说,我们对大数据变革中的中心技术的数学理解还不够。举个最简单的例子——监督式学习。巨头们已经将这项技术用于语音和图像识别,准确性趋近人类水平。起初,系统需要海量训练样本(数百万甚至数十亿的图片或者语音录音)用来训练深度学习网络,识别统计上的规律性。和机器学习其他领域一样,计算机有望通过吸收足够多数据来「学习」需要完成的任务。我们无需对决策所需细节步骤进行编程,计算机就能跟随算法的脚步,算法会逐渐引导它们关注相关模式。
用数学术语说,这些监督学习系统被给予了大量彼此对应的输入与输出数据;计算机的目标就是学习能可靠地将新输入转化为正确输出的函数。为此,计算机必须将这个神秘函数分解为许多层叫做sigmoid函数的未知函数。这些S形函数就像是马路牙子的轮廓线:它将一个层级光滑过渡到另一个层级,但是起始于哪一层、层间距离、转换区域的宽度都无法提前预知。
输入数据进入sigmoid函数的第一层后,会生成一些结果,这些结果在进入第二层sigmoid函数前可以组合起来,以此类推。这张正在生成函数的网就是神经网络里的「网络」。「深度」网络就是有许多层这样的网。
几十年前,研究人员证明,这些网络具有普适性,也就是说它们能够生成所有可能的函数。后来,其他研究人员证明,网络与它所产生的函数之间存在一些独特的对应关系,取得了一些理论成果。但是,这些成果都事先假设层级数量以及每层中的函数节点数量都极其庞大。但是,实践中,神经网络都是2层到20多层之间。由于这一局限性,没有一个经典结论能够解释为什么神经网络和深度学习能够做得这么好,这么引人注目。
许多应用数学家的指导原则是:如果某些数学方法运行良好,那么,肯定可以用数学来解释它,我们也应该能够理解其中原因。可是,在这个特殊例子中,我们甚至没有合适的数学框架可供理解。(或者,如果有,也还在纯粹数学领域,尚未传播到其他数学领域。)
机器学习使用的另一个技术是无监督学习,它用来找出大数据组背后的隐秘关联。比如,你是位研究人员,想要更多了解人类个性类型。你获得了大笔资金支持,可以找20万人做调查,每张人格调查问卷有500个问题,每道题的备选答案有10个。最终,你的数据规模是:500个虚拟「维度」,每个维度上有20万个数据点——每个维度代表原始问卷表里的一道人格测试题。这些点组合起来,在500维空间中构成了一个维度较低的「曲面」,就好比简单记录山脉区域某些点的海拔高度,就能用这些点在三维空间内构建出一个二维曲面一样。
作为研究人员,你要做的就是识别出这个维度较低的曲面,从而减少20万个被试者的人格画像,只留下本质特征——就像找出足以确定山脉表面任意一点的两个变量。或许,个性测试的这个曲面也能用简单的函数来表示,它所涉及的变量数大大小于500个。这种函数就有可能反映出数据背后的结构。
大约在过去15年里,研究人员已经发明了用来探索这些隐藏结构的几何模式的工具。比如,要建一个关于曲面的模型,首先需要拉近镜头,近距离观察许多不同的点。你可以在每一点上滴上虚拟的墨水,观察它们如何扩散。墨水会根据曲面在每个点的弯曲程度,向某些方向扩散,而不向其他方向扩散。如果把所有这些墨水点连接起来,你就会对曲面有个整体了解。此时,你手中握有的就不再是数据点的集合,而是曲面上的各种联系、有趣的循环、折叠以及弯曲。这将为你绘制出一幅探索这个曲面的地图。
这些方法已经产生了一些有趣有用的结果,不过,我们还需要更多技术。应用数学家还有很多功课要做。面对挑战,他们相信,许多「更加纯粹」的同事(指纯粹数学家——译者注)会保持开放的头脑,追随最新动态,帮助他们发现与其他已有数学分析框架之间的联系,甚至建造出新的数学框架。
来自 quantamagazine ,作者 Ingrid Daubechies 。机器之心编译出品。参与:微胖,汪汪。