Facebook想教AI理解数学,这件事有多难?
2020-07-01 16:59

Facebook想教AI理解数学,这件事有多难?

本文来自微信公众号:学术头条(ID:SciTouTiao),作者: 曹绮桐,题图来自:电影《机械姬》


近年来,随着 AI 的崛起,神经网络一词也不断出现在人们的视线中。事实上,神经网络并不是什么新兴词汇。


早在 70 多年前,神经网络就被 AI 前沿的工作人员用来探索人类大脑的运作模式—— 人类大脑里有着数十亿的神经元相互连接,形成错综复杂的生物神经网络,负责处理各种感官数据,并作出相应的应激反应,使我们从不断尝试的反馈中总结经验,收获新知。同样,AI 中的“神经网络”也是通过相互连接的不同层面过滤处理大量的数据,通过自我学习,做出相应的预测或模式识别。


如何让AI理解数学?Facebook神经网络通过“语言翻译”解数学难题


由于神经网络在 AI 中的决定性地位,以及它面临各种棘手的问题时表现出的强大到几乎无所不能的潜力,神经网络被推崇成“无所不能”的存在。


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


模式识别,通过计算机技术自动地或半自动(人机交互)地实现人类的识别过程。这里,模式是这样定义的:为了能让机器执行识别任务,必须先将识别对象的有用信息输入计算机。为此,必须对识别对象进行抽象,建立其数学模型,用以描述和代替识别对象。


而模式识别是指对表征事物或现象的各种形式的(数值的、文字的和逻辑关系的)信息进行处理和分析,以对事物或现象进行描述、辨认、分类和解释的过程,是信息科学和人工智能的重要组成部分。


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


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


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


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


如何让AI理解数学?Facebook神经网络通过“语言翻译”解数学难题


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


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


解决数学问题的新途径——语言翻译


当然,快速发展、不断完善的神经网络并不容许它在数学问题上存在持续的缺陷。去年年底,两位 Facebook 人工智能研究小组的计算机科学家——Guillaume Lample 和 Francois Charton,成功地探索出了用神经网络解决符号数学问题的一种方法。


这个开发出的强大的新程序充分利用了神经网络的一个主要优势:它可以完善自己的隐式规则。


斯坦福大学(Stanford University)的心理学家杰伊·麦克莱伦德(Jay McClelland)曾说,“规则和例外之间没有区别”。在不断尝试“例外”的过程中,人们可以学习并总结出解决相似问题的通理通法,而将这种通法视为“规则”,并运用“规则”去解决更多的“例外”。在不断解决“例外”的过程中,“规则”也会随之完善。


而程序所构建的神经网络,只是模拟了人们在学习数学时在“规则”和“例外”之间不断转化的模式。这意味着程序在解决问题时,并不会遇到最难的积分,而是在不断解决常规问题时,总结出一套“规则”,从而在面对更难的题目时派上用场。


从理论上讲,神经网络或许可以推导出不同于数学家们的“规则”。这就好比那个跟自己下了三天三夜围棋就秒杀人类围棋高手的 AlphaGo Zero,它的棋法完全悖于传统,超乎了传统的认知。


如何让AI理解数学?Facebook神经网络通过“语言翻译”解数学难题


值得一提的是,他们的方法并不涉及数字运算或数值近似。相反,他们将复杂的数学运算问题重新编排,变成了神经网络的拿手好戏: 语言翻译。


传统的计算机是非常善于处理数字的。计算机的代数系统,就是将数十种或数百种算法与预置指令生硬地捆绑在一起,而计算机则是按部就班地按照指令进行运算,执行预设好的特定操作。一旦出现背离程序的操作,计算机就只能缴械投降。但对于许多符号问题,它们产生的数值解与工程和物理的实际应用非常接近。


而神经网络则截然不同,他们没有固定的规则。相反,他们可以训练大规模的数据集——越大越好——并利用训练得到的统计数据,对数值解进行很好的近似。在这个过程中,他们学习的是什么方法,什么模式能产生最完美的结果。


这在语言翻译方面表现的尤为出色:在训练过后,他们并不再是逐字逐句地翻译,而是能够协调地翻译文本中的短语。Facebook 的研究人员认为神经网络这种特性是解决象征性数学问题的一个优势,而并不是障碍。它赋予了程序一种解决问题的自由,不同于传统计算机的刻板。


而这种自由对于某些开放性的问题特别有用,比如积分问题。数学家中有句老话:“微分是门技术,而积分是门艺术”。换句话说,求函数的导数只需遵循一些定义明确的步骤;但是求积分通常需要一些别的东西,在判断积分方法以及寻找积分项时,它更需要一些接近人的直觉而不仅仅是计算的东西。


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


为了让神经网络像数学家一样处理数学符号,Charton 和 Lample 首先将数学表达式翻译成更有用的形式。通过“翻译”, 他们将复杂的数学表达式最终翻译成神经网络可以识别的有效的简化形式——树状图,来总括表达式里的运算符号和数字。


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


Lample 表示,这个过程与人们解决积分问题,甚至是所有数学问题的过程大体类似。都是通过在复杂数学表达式中,根据经验将他们简化为神经网络以前解决过的子问题。


如何让AI理解数学?Facebook神经网络通过“语言翻译”解数学难题


在构建好这个结构以后,研究人员使用一组初等函数生成了几个训练数据集,总计约 2 亿(树形)方程和解。然后他们将训练数据给神经网络,让神经网络在训练数据集中对这样树状图的方程解法有一个初步的认知。


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


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


对于几乎所有的问题,实验构造的程序都可以在不到1秒的时间内生成正确的解决方案。尤其是在积分问题上,它在速度和精度上都优于目前流行的软件 Mathematica 和 Matlab 中的一些内置包。Facebook 团队报告说,就连证两个软件无法解决的一些数学问题,神经网络都可以给出答案。


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


新型模式初探的局限性和展望


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


这种比较局限于 Mathematica 特定的指令,比如“integrate”指令被用于求取积分,“DSolve”指令被用于解决微分方程——但事实上,Mathematica 用户还可以使用其他上百种的方法和指令去解决一个较为复杂的方程。


Germundsson 还注意到,尽管实验中所给的训练数据集非常庞大,但是所包含的方程都只有一个单一的变量,并且只是设计初等函数的运算。“这种方程在可能涉及到的方程运算中只能占到极小的部分。”他说。这个神经网络没有测试物理和金融中经常使用的更复杂的函数,比如误差函数或贝塞尔函数。(对此,Facebook 团队表示,在之后的测试中,可能只需要在训练神经网络时,给训练集做几次非常简单的修改。)


加州大学圣巴巴拉分校(University of California, Santa Barbara)的数学家弗雷德里克·吉布(Frederic Gibou)研究过用神经网络求解偏微分方程的方法,他并不认为 Facebook 小组的神经网络是绝对可靠的。“研究人员需要有信心,如果神经网络可靠,它就可以解决任何形式的方程。”


也有其他批评者指出,Facebook 小组的神经网络并没有真正理解数学,这更像是一种特别的猜想,而非实际的解决方法。


如何让AI理解数学?Facebook神经网络通过“语言翻译”解数学难题


尽管如此,反对者还是承认新方法是有用的。Germundsson 和 Gibou 相信神经网络将在下一代符号数学求解工具中占有一席之地——但它也可能只是一席之地而已。“我认为它将只是众多工具中的一个。”Germundsson 表示。


另一个尚未解决的问题是:没有人真正了解它们是如何工作的,这也是神经网络发展最令人不安的一方面。


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


对此,Charton 表示:“我们知道数学是如何工作的,通过使用特定的数学问题作为测试,看看神经网络在哪里成功,在哪里失败,我们就可以了解神经网络是如何工作的。”


他和 Lample 计划将数学表达式输入到他们的神经网络中,并跟踪程序对表达式中的微小变化的响应方式。映射输入中的变化如何触发输出中的变化,可能有助于揭示神经网络的操作方式。


Zaremba 认为这是在测试和确定神经网络是否具有理性,以及是否真正理解它们所回答的问题上的积极探索。“数学问题中很容易变换参数或者其它部分——我们可以通过观察神经网络在面对改动后的方程后作出的反应来窥测它的运行方式。我们可能会真正了解其中的原因,而不仅仅只是方程的解。”


神经网络探索的另一个可能的方向,是自动定理生成器的开发。“数学家们正越来越多地研究使用人工智能来生成新的定理和证明的方法,尽管这种技术还没有取得很大进展。”Lample 说,“这是我们正在研究的东西。”


Charton 描述了他们的方法至少有两种方法可以推动人工智能定理的发现。首先,它可以作为一种数学家的助手,通过识别已知猜想的模式来帮助解决存在的问题;其次,这台机器可能会生成一个列表,列出数学家们漏掉的可能可证明的结果。“我们相信,如果你能做集成,你就应该能做证明。”他说。


参考资料:
Ornes, S. (n.d.). Symbolic Mathematics Finally Yields to Neural Networks. Quanta Magazine. Retrieved May 27, 2020, from https://www.quantamagazine.org/symbolic-mathematics-finally-yields-to-neural-networks-20200520/模式识别. (n.d.). 边肇祺、张学工编著. 模式识别(第二版). 清华大学出版社, 2004. Retrieved May 27, 2020, from http://www.intsci.ac.cn/ai/pr.html


本文来自微信公众号:学术头条(ID:SciTouTiao),作者: 曹绮桐                

本内容为作者独立观点,不代表虎嗅立场。未经允许不得转载,授权事宜请联系hezuo@huxiu.com
如对本稿件有异议或投诉,请联系tougao@huxiu.com
正在改变与想要改变世界的人,都在 虎嗅APP
赞赏
关闭赞赏 开启赞赏

支持一下   修改

确定