如何让AI理解数学?

作者: 曹绮桐

发布日期: 2020-07-01

本文探讨了神经网络在解决数学问题,尤其是符号数学问题方面的潜力和挑战。随着AI技术的发展,Facebook的研究小组开发出一种新方法,利用神经网络进行数学表达式的“语言翻译”,从而解决复杂的数学运算。尽管取得了一定的成功,但仍面临对神经网络理解能力的质疑,以及在处理复杂方程时的局限性。

近年来,随着AI的崛起,神经网络一词也不断出现在人们的视线中。事实上,神经网络并不是什么新兴词汇。早在70多年前,神经网络就被AI前沿的工作人员用来探索人类大脑的运作模式——人类大脑里有着数十亿的神经元相互连接,形成错综复杂的生物神经网络,负责处理各种感官数据,并作出相应的应激反应,使我们从不断尝试的反馈中总结经验,收获新知。

同样,AI中的“神经网络”也是通过相互连接的不同层面过滤处理大量的数据,通过自我学习,做出相应的预测或模式识别。

由于神经网络在AI中的决定性地位,以及它面临各种棘手的问题时表现出的强大到几乎无所不能的潜力,神经网络被推崇成“无所不能”的存在。其中,最具有代表性的问题就是模式识别(pattern recognition)问题。

或许你没听说过这个专业术语,但你一定熟悉通过模式识别衍生出许许多多功能强大的应用:比如,如何让AI给出地道而不是呆板的翻译,如何让手机相册自动识别并标记照片中反复出现的面孔,甚至包括让AI学习下围棋并战胜世界冠军等等,这些都离不开模式识别技术的强大助推。

模式识别,通过计算机技术自动地或半自动(人机交互)地实现人类的识别过程。

这里,模式是这样定义的:为了能让机器执行识别任务,必须先将识别对象的有用信息输入计算机。为此,必须对识别对象进行抽象,建立其数学模型,用以描述和代替识别对象。而模式识别是指对表征事物或现象的各种形式的(数值的、文字的和逻辑关系的)信息进行处理和分析,以对事物或现象进行描述、辨认、分类和解释的过程,是信息科学和人工智能的重要组成部分。

模式识别主要包括两种方法:

1. 数理统计方法。统计方法是发展较早的方法,也是应用最广泛的一种方法。是将被处理对象进行数字化,通过转化成计算机可以分析识别的数字信息,对样本进行特征值的抽取,将输入模式从对象空间映射到特征空间。这样一来,模式便可用特征空间中的一个点或者一个特征矢量表示。

2. 句法方法。其基本思想是把一个模式描述为较简单的子模式的组合,子模式又可描述为更简单的子模式的组合,最终得到一个树形的结构描述,在底层的最简单的子模式称为模式基元。

然而,看似功能强大、覆盖面广的模式识别在面对高数里复杂的数学符号时,比如微积分里的积分或常微分方程计算,却望而却步。

通过分析上述的模式识别的方法,我们可以简单推出,神经网络之所以在解决数学问题方面止步不前,主要障碍来源于数学问题的本质——数学需要的是精确的答案,而神经网络对信息的处理方面更擅长的是概率。

他们往往在给定的大量数据下进行模式识别——比如说在翻译时,在给定的多种的可能的翻译结果中,辨别哪种翻译的更接地气;或者在给定的不同的照片中,标记出人脸,对比相似度,圈出出现概率高的面孔——并根据这些高概率出现的结果,汇总出最有可能出现的模式,并将这种模式定义为新的模式。以其高概率出现的可能性,来进行对未来事件的可能预测。

当然,快速发展、不断完善的神经网络并不容许它在数学问题上存在持续的缺陷。

去年年底,两位Facebook人工智能研究小组的计算机科学家——Guillaume Lample和Francois Charton,成功地探索出了用神经网络解决符号数学问题的一种方法。这个开发出的强大的新程序充分利用了神经网络的一个主要优势:它可以完善自己的隐式规则。斯坦福大学的心理学家杰伊·麦克莱伦德曾说,“规则和例外之间没有区别”。

在不断尝试“例外”的过程中,人们可以学习并总结出解决相似问题的通理通法,而将这种通法视为“规则”,并运用“规则”去解决更多的“例外”。在不断解决“例外”的过程中,“规则”也会随之完善。

而程序所构建的神经网络,只是模拟了人们在学习数学时在“规则”和“例外”之间不断转化的模式。这意味着程序在解决问题时,并不会遇到最难的积分,而是在不断解决常规问题时,总结出一套“规则”,从而在面对更难的题目时派上用场。从理论上讲,神经网络或许可以推导出不同于数学家们的“规则”。这就好比那个跟自己下了三天三夜围棋就秒杀人类围棋高手的AlphaGo Zero,它的棋法完全悖于传统,超乎了传统的认知。

值得一提的是,他们的方法并不涉及数字运算或数值近似。相反,他们将复杂的数学运算问题重新编排,变成了神经网络的拿手好戏:语言翻译。传统的计算机是非常善于处理数字的。计算机的代数系统,就是将数十种或数百种算法与预置指令生硬地捆绑在一起,而计算机则是按部就班地按照指令进行运算,执行预设好的特定操作。一旦出现背离程序的操作,计算机就只能缴械投降。

但对于许多符号问题,它们产生的数值解与工程和物理的实际应用非常接近。

而神经网络则截然不同,他们没有固定的规则。相反,他们可以训练大规模的数据集——越大越好——并利用训练得到的统计数据,对数值解进行很好的近似。在这个过程中,他们学习的是什么方法,什么模式能产生最完美的结果。这在语言翻译方面表现的尤为出色:在训练过后,他们并不再是逐字逐句地翻译,而是能够协调地翻译文本中的短语。

Facebook的研究人员认为神经网络这种特性是解决象征性数学问题的一个优势,而并不是障碍。它赋予了程序一种解决问题的自由,不同于传统计算机的刻板。而这种自由对于某些开放性的问题特别有用,比如积分问题。数学家中有句老话:“微分是门技术,而积分是门艺术”。

换句话说,求函数的导数只需遵循一些定义明确的步骤;但是求积分通常需要一些别的东西,在判断积分方法以及寻找积分项时,它更需要一些接近人的直觉而不仅仅是计算的东西。

Facebook的研究小组认为,这种直觉可以通过AI的模式识别模拟。“积分是数学中最类似于模式识别的问题之一,”Charton表示。因此,即使神经网络可能不知道函数是什么或变量是什么意思,它们也会根据大量数据训练发展出一种本能,即神经网络也会开始感觉怎么样计算可以得到答案。

为了让神经网络像数学家一样处理数学符号,Charton和Lample首先将数学表达式翻译成更有用的形式。

通过“翻译”,他们将复杂的数学表达式最终翻译成神经网络可以识别的有效的简化形式——树状图,来总括表达式里的运算符号和数字。其中,运算符号例如加减乘除成为了树状图的枝,而表达式里的参数(变量和数字)则变成了叶子。通过转化成树状图,这能让复杂的数学表达式转化成树状图层层嵌套的简单运算中,从而可以让神经网络识别和运算相应的简化式子,并得到最终的精确结果。

Lample表示,这个过程与人们解决积分问题,甚至是所有数学问题的过程大体类似。都是通过在复杂数学表达式中,根据经验将他们简化为神经网络以前解决过的子问题。在构建好这个结构以后,研究人员使用一组初等函数生成了几个训练数据集,总计约2亿(树形)方程和解。然后他们将训练数据给神经网络,让神经网络在训练数据集中对这样树状图的方程解法有一个初步的认知。

训练结束后,该看看神经网络现在可以做什么了。

计算机科学家给了它一个包含5000个方程的测试集,这个测试数据是没有答案的。令人惊讶的是,神经网络成功地通过了测试:它成功地为绝大多数问题找到了正确的解决方案,并且方程解具有很高的精度。它尤其擅长于积分,解决了几乎100%的测试问题。但是,在解决常微分方程时,神经网络表现欠佳。对于几乎所有的问题,实验构造的程序都可以在不到1秒的时间内生成正确的解决方案。

尤其是在积分问题上,它在速度和精度上都优于目前流行的软件Mathematica和Matlab中的一些内置包。Facebook团队报告说,就连证两个软件无法解决的一些数学问题,神经网络都可以给出答案。

当然,这也只是一个对未来的展望而已。但毋庸置疑,这个团队回答了一个存在了几十年的问题——人工智能能做符号数学吗?而答案是肯定的。他们在AI探索符号数学的道路上迈出了显著的一步。麦克莱伦德说:“他们确实成功地构建了神经网络,并且可以解决超出机器系统规则范围的问题。”

尽管得出了这些结果,Mathematica开发公司Wolfram的负责人,数学家罗杰·格蒙森还是提出了异议,他表示,实验中只是拿了Mathematica的部分功能和神经网络作了简单粗暴的比较。

这种比较局限于Mathematica特定的指令,比如“integrate”指令被用于求取积分,“DSolve”指令被用于解决微分方程——但事实上,Mathematica用户还可以使用其他上百种的方法和指令去解决一个较为复杂的方程。Germundsson还注意到,尽管实验中所给的训练数据集非常庞大,但是所包含的方程都只有一个单一的变量,并且只是设计初等函数的运算。

“这种方程在可能涉及到的方程运算中只能占到极小的部分,”他说。这个神经网络没有测试物理和金融中经常使用的更复杂的函数,比如误差函数或贝塞尔函数。(对此,Facebook团队表示,在之后的测试中,可能只需要在训练神经网络时,给训练集做几次非常简单的修改。)

加州大学圣巴巴拉分校的数学家弗雷德里克·吉布研究过用神经网络求解偏微分方程的方法,他并不认为Facebook小组的神经网络是绝对可靠的。

“研究人员需要有信心,如果神经网络可靠,它就可以解决任何形式的方程。”也有其他批评者指出,Facebook小组的神经网络并没有真正理解数学,这更像是一种特别的猜想,而非实际的解决方法。尽管如此,反对者还是承认新方法是有用的。Germundsson和Gibou相信神经网络将在下一代符号数学求解工具中占有一席之地——但它也可能只是一席之地而已。

“我认为它将只是众多工具中的一个,”Germundsson表示。

另一个尚未解决的问题是:没有人真正了解它们是如何工作的,这也是神经网络发展最令人不安的一方面。在模式识别中,我们只需要将训练数据集在一段输入,相应的预测数据集就会在另一端输出,但是并没有人知道这中间发生了什么,让神经网络成为了一个完美的学习者。它理解输入的公式和算法吗?还是只是按部就班的按照指令处理数字?

对此,Charton表示:“我们知道数学是如何工作的,通过使用特定的数学问题作为测试,看看神经网络在哪里成功,在哪里失败,我们就可以了解神经网络是如何工作的。”他和Lample计划将数学表达式输入到他们的神经网络中,并跟踪程序对表达式中的微小变化的响应方式。映射输入中的变化如何触发输出中的变化,可能有助于揭示神经网络的操作方式。

神经网络探索的另一个可能的方向,是自动定理生成器的开发。

数学家们正越来越多地研究使用人工智能来生成新的定理和证明的方法,尽管“这种技术还没有取得很大进展,”Lample说,“这是我们正在研究的东西。”Charton描述了他们的方法至少有两种方法可以推动人工智能定理的发现。首先,它可以作为一种数学家的助手,通过识别已知猜想的模式来帮助解决存在的问题;其次,这台机器可能会生成一个列表,列出数学家们漏掉的可能可证明的结果。

“我们相信,如果你能做集成,你就应该能做证明。”他说。

UUID: a892c4fa-2564-4c20-91d6-c9d0ecc5df2b

原始文件名: /home/andie/dev/tudou/annot/AI语料库-20240917-V2/AI语料库/学术头条公众号-pdf2txt/学术头条2020年-下/2020-07-01_如何让AI理解数学?Facebook神经网络通过“语言翻译”求解数学难题.txt

是否为广告: 否

处理费用: 0.0197 元