为ML带来拓扑学基础,Nature子刊提出拓扑数据分析方法

从数学理论的角度来理解并提升机器学习方法,这也是近来非常有潜力的研究方向。不论是以前通过常微分方程或偏微分方程形式化神经网络,还是这一篇从拓扑学的角度强化神经网络的鲁棒性,也许当更多的数学基础被赋予机器学习时,它的发展与创新就会变得更加有「规律」。

  • 论文地址:https://www.nature.com/articles/s42256-019-0087-3

  • 实现地址:https://zenodo.org/record/3264851#.XW3P7lwzaUk

本文介绍了这种基于拓扑学的数学方法,因为具体的推导与证明非常复杂,我们只简要介绍主体思想与实验,更多详细内容可查阅原论文。

目前的 ML 有什么缺陷

ML 有很多缺陷。首先,机器学习系统的鲁棒性一直备受质疑。例如,在识别目标时,如果目标发生旋转,则 ML 系统不能识别这一目标。此外,研究者提到,即使 ML 系统在性能方面表现良好,人们依然不知道模型内部发生了什么。

这两大问题促使研究者探究——是否可以将知识在训练前输入模型中,使其在一个更为有限的空间内进行搜索,而不是考虑搜索空间中所有的可能,哪怕是那些在现实中从来不可能出现的。

「我们想要控制模型学习到的特征所在空间,」论文一作 Mattia Bergomi 表示,「这有点像平庸和大师级象棋选手的差别,前者看到了所有可能的棋路,但是后者只看到那些好的路子。」

据研究者们介绍,他们的研究只集中解决一个问题:「训练识别路标的深度神经网络时,如何告诉网络只需要关注三角形、环形等简单的几何形状即可。」

可以识别图像旋转的「机器」。

怎样解决?

对此,研究者提出了一种名为拓扑数据分析(Topological Data Analysis: TDA)的方法。TDA 可以被视为是一种搜索拓扑特征这一内部结构的工具,根据拓扑特征,任意复杂的目标都能表示为一大组数字。而种拓扑特征只需要通过特定的「镜头」,或者过滤器,来对数据进行浏览就能得到。

例如,对于人脸数据来说,使用 TDA 可以教会神经网络在没有多种角度的人脸数据的情况下进行人脸识别。

为了测试这种方法,研究人员设置了一个教会神经网络学习识别手写数字的实验。根据手写数字的人的不同,写出的数字可能是两个一样的,或者看起来很不一样但实际上是一个数字的情况。研究者构建了一系列他们认为有意义的先验特征,并要求机器从这些不同的「镜头」中选择,并处理图像。

研究人员从数学角度介绍了这种通用型框架。他们表示,TDA 是一种可以在数据集上进行运算的算子集合。

具体而言,拓扑学数据分析方法用于描述群等不变非扩张算子(group equivariant nonexpansive operators: GENEO)的空间。GENEO 是函数空间和变换之间的映射。研究人员研究了 GENEO 的拓扑和度量性质,用于评价它们的近似率,并设置了用于初始化的泛化策略。在结合了算子后,研究人员最终将它们以树状结构连接,用于组成算子网络。

研究人员发现,用于识别数字 5 和数字 7 的 TDA 增强神经网络所需要的训练数据量和训练时间都相当程度地减少了。

实验结果

在这一部分中,研究者测试了该方法在分类数据集中的效果。首先作者构建了一种算法以允许选择并采样 GENEO,从而通过一种标注函数学习在数据集上归纳的度量。随后作者定义了 GENEO 将要使用的目标类别,它们都是 MNIST、fashion-MNIST 和 CIFAR-10 数据集中的类别。

选择和采样会用于逼近一个智能体,从而允许表达这些数据集潜在的度量标准,这只要观察每类别 20 到 40 个样本就可以完成。最后,研究者可以将选择和采样的 GENEO 注入到神经网络的知识中。

图 2: 整个实验的 Pipeline。

图 3: 在 MNIST 数据集上选定的 IENEO。 通过考虑在 GENEO 空间上定义的度量,我们可以选择能识别 MNIST 数据集的运算子。

图 4: 通过 IENEO 选择和采样的度量学习。 其中 A 为从 MNIST 数据集中采样的「7」和「5」,B、C、D 表示层级聚类结果。 其中层级聚类通过使用不同维度的 IENEO 来度量验证样本属于「7」和「5」的距离。

图 5: IENEO 在 fashion-MNIST 和 CIFAR-10 上的度量学习。

参考链接:

https://cosmosmagazine.com/mathematics/novel-maths-could-bring-ai-to-next-level
https://www.eurekalert.org/pub_releases/2019-09/ccft-nmc082919.php