The Use of Deep Learning for Symbolic Integration——A Review of (Lample and Charton, 2019)论文解读

对于前一个用深度学习技术来计算符号积分的论文,本文对它的不足之处提出了一些批评。

比如,该系统只能处理Mathematica处理的问题的一个非常有限的子集,并且测试集具有明显的内置偏差。

1.符号积分

符号积分的问题是很有难度的:

因为判定初等函数的积分本身是否是初等的问题是不可判定的。即使在积分是初等的情况下,找到它也是非常困难的。尽管如此,用于符号积分的强大模块已经被整合到符号数学系统中,如Mathematica、Maple和Matlab。

简化符号表达式也是很困难的:

判定初等表达式是否同等于零的判定问题本身是不可判定的。符号数学平台包含强大的模块,但是构建一个高质量的系统是一项艰巨的任务。

那么验证初等函数f的积分是初等函数g的步骤包括:首先计算导数h = f ',然后确定表达式h−g化简为0。给定一个初等表达式f,寻找一个初等符号积分,一般来说是一个非常困难的问题。

2.LC的工作原理

在高层次上,LC的工作如下:

  • 通过生成随机的、复杂的符号表达式对及其推导式,合成了一个大型的示例语料库(8000万)。

  • 在语料库上训练seq2seq转换器模型。

  • 在测试时,给定一个要积分的函数g,执行模型,使用宽度为1、10或50的光束搜索。使用上述程序检查模型产生的答案f:将符号微分器应用于f,然后符号简化器测试f ' = g。

积分的过程本质上就是一个机器翻译的过程:源语言是被积者,目标语言是被积者。

上一篇论文提出了三种技术用于生成积分/导数对:向前生成(FWD)、反向生成(BWD)、分部积分(IBP)。

与Mathematica, Maple和Matlab的比较是完全基于BWD生成的项目进行的,他们发现LC能够比Mathematica, Maple或Matlab解决这个测试集的百分比要高得多。其中得分最高的Mathematica能够解决测试集中84%的问题,而在光束大小为1的情况下,LC的正确率为98.4%。

3.没有化简就没有积分

无论如何,基于规则的符号系统可以并且确实很容易地执行一系列转换来实现积分式的简化。

然而,在Lample和Charton的数据集中,几乎没有任何显著的复杂性的例子。BWD和IBP不可能产生,理论上,FWD可以产生,但被积数必须随机生成,这是很不可能的事情。事实上LC在这个阶段没有做简化,因此无法解决这些问题。这个问题其实很容易解决:他们可以在适当的步骤轻松地添加对简化器的调用,并且他们可以通过使用将简单表达式转换为等效复杂表达式的“复杂化器”自动为其语料库生成此类示例。但关键是,有一类问题的解决方案本质上需要高质量的简化器,而目前还没有进行测试。

总之,上面LC的测试数据集中缺乏一些需要化简的例子,化简是非常重要的。

4.对于微分方程

Lample和Charton开发的解决微分方程的整个过程基本上与积分相同:他们生成了大量的方程和解对语料库,并训练了一个seq2seq神经网络。在测试时,LC使用神经网络进行束搜索,生成候选对象;每个候选对象都接受了测试,看它是否是问题的解。

这里的结果更加复杂。对于一阶方程,光束尺寸为1的LC略微领先于光束尺寸为50的Mathematica(81.2%对77.2%),它的结果遥遥领先(97%)。对于二阶方程,光束尺寸为1的LC的效果不如Mathematica(40.8% ~ 61.6%),但光束尺寸为50的LC的效果达到81.0%。

5.对于特殊函数

像Mathematica, Maple和Matlab这样的系统能够象征性地解决许多符号积分问题和许多微分方程,其中的解是一个特殊的函数(即具有标准名称的非初等函数)。原则上,LC可以扩展来处理这些问题。在FWD中,这是一个包含被调用的自动积分器生成带有特殊函数的表达式的对的问题。在BWD中,这将是一个用特殊函数生成表达式并计算其导数的问题。

通过积分,对性能的影响可能很小;作为基本函数的积分的特殊函数大多是一元的,因此对状态空间的大小只有适度的影响。但是微分方程求解是另一回事:在求解微分方程时出现的许多函数都是二进制的,添加包含这些函数的表达式会成倍地扩展搜索空间。即当测试ODE求解器时,Mathematica要搜索包含特殊函数的解的空间,而LC仅限于包含初等函数的小得多的空间,测试的设计使解决方案总是在较小的空间中。因此,LC不具有完全公平的优势。

6.测试集的问题

它的测试集也有很大的问题。

与Mathematica的比较表明,LC只倾向于解决给定一个很长的表达式,恰好有一个更短的精确的符号积分这种问题。然而如果把一组随机的、极其复杂的积分集合放在一起,LC肯定会在几乎所有的测试中给出错误的答案,因为只有一小部分会有初等积分。当然,数学软件也会找不到积分,但它应该不会给出错误的答案。如果假定错误的答案比没有答案更糟糕,那么在这个测试集上,Mathematica将以巨大的优势击败LC。

7.总结

总之,论文的说法(LC在计算函数积分和求解微分方程方面都能表现得非常出色,优于Matlab或Mathematica)是非常夸张的。

关于积分,正确的说法是这样的:LC在计算单变量x的极复杂函数的符号不定积分方面优于Mathematica和Matlab,其积分必须是一个小得多的初等函数,且除了整数- 5到5之外没有常数符号。

LC对积分或导数甚至函数或数字的意义都没有理解。事实上,LC就像微积分课上最糟糕的学生:它不理解概念,不学习规则,不知道它所做的事情的重要性,但它已经看了8000万个例子,并且对被积函数和它们的积分有了感觉。

所以,LC的成功绝不是深度学习或其他类似方法足以在现实世界中进行高级推理的证据。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值