单击上方“图灵人工智能”,选择“星标”公众号
您想知道的人工智能干货,第一时间送达
ChatGPT(全名:Chat Generative Pre-trained Transformer),是OpenAI 研发的一款聊天机器人程序,于2022年11月30日发布。ChatGPT是人工智能技术驱动的自然语言处理工具,它能够基于在预训练阶段所见的模式和统计规律,来生成回答,还能根据聊天的上下文进行互动,真正像人类一样来聊天交流,甚至能完成撰写论文、邮件、脚本、文案、翻译、代码等任务。
全球科研工作者和教育工作者都在努力研究 OpenAI 的新软件 ChatGPT 如何影响科研、教学和学习。下面我们将简单测试 ChatGPT 对经典微积分问题的响应或解答,以此来说明其基础功能和其自身局限性。
正如所有人知道的那样,新型技术的出现将会带来巨大的变革,挑战我们对人类独特性的看法, 科学计算器、图形计算器和计算机代数系统都为数学教学和学习带来了这样的变化。最近,由 OpenAI 开发的 ChatGPT 则是技术变革的典型代表。ChatGPT 通过自然语言“聊天”与用户交互,并对其进行响应/回复,可以输出从句子到段落再到整个文档的任何内容。也能能完成撰写论文、邮件、脚本、文案、翻译、代码等任务,其撰写整篇论文的能力是ChatGPT颠覆整个人文学科学术诚信和抄袭观念的原因之一。然而,为什么数学家和数学工作者要去关注这个工具呢?毕竟,它不像上面引用的其他例子。ChatGPT难道是只会写文章和信件之类的吗?
事实证明,答案是“不”。而我关心的是:ChatGPT 会做数学吗?
ChatGPT:是的,ChatGPT有能力进行数学计算和解决数学问题。它已经在包括数学表达式和方程式在内的大量文本数据语料库上进行了相应的训练,使其能够理解和生成数学表达式。此外,它还可以使用数学知识来解决具体问题,例如解方程和解题。然而,需要注意的是,ChatGPT 对数学的理解受到其训练数据的限制,如果没有进一步专门的模型,它可能无法解决复杂的数学问题或进行更高级计算。
在下面,我将对 ChatGPT 的工作原理进行相应的概述。这个简短的概述足以帮助理解和欣赏它的工作方式,以及为什么得到的结果有时与我们或预期或希望的有很大不同。对于感兴趣的读者,当然可以深入了解它的工作原理,以及它是如何设计和训练的。
你可能熟悉概率中的一个例子:如果有无数多的猴子,前提是它们都会熟练地使用打印机,将它们安排着使用无数的打印机上随机打字,并且持续着无限长的时间,那么在某一个时间点,它们一定可以打出莎士比亚的全部著作。显然,在这种情况下,猴子们并不理解他们所产生的内容,需要大量的垃圾信息筛选才能找到有价值的内容,而ChatGPT可以说就是一只升级版的、讲逻辑、懂道理的猴子。
事实证明,这款让许多人重新思考我们在学术界所做的事情的变革性工具与你可能想象的猴子更接近。然而,它的输出非常接近自然的人类语言。几乎不需要筛选就能找到有价值的内容。从根本上说,正是这一点应该让我们停下来思考成为一个具有创造能力的人意味着什么。
本文将要测试的程序是ChatGPT 3.5 。GPT-3.5 是 OpenAI 设计的一系列 NLP 模型中的第四个。此前还出现了 GPT-1、GPT-2 和 GPT-3。GPT 3.5 基于人工标注数据 + 强化学习的推理和生成。在人工标注训练数据的基础上,再使用强化学习来增强预训练模型的能力。强化学习,简单理解就是做对了奖励、做错了惩罚,不断根据系统的打分来更新参数,从而产生越来越高质量的回答。所以人们在互动中发现,ChatGPT 会承认错误、会修改自己的答复,这正是因为它具备从人类的反馈中强化学习并重新思考的能力。
基本上,他们从各种来源(包括互联网)获取了大量文本文档,并将它们输入到模型中。文档被分解为一系列标注,这些标注可能是单个单词或 n-gram(n 个单词的短语)。在最低级别,该模型仅查看每个标注后跟其他标注的频率,从而产生一个巨大的马尔可夫矩阵。从那里,通过该矩阵的随机游走,会得到一个标注字符串,这个字符串会模仿在用于训练系统的语料库中这些标注的频率分布。但生成的输出是基于标注模式的,而不是基于对语言的语义内容或语法结构的知识。ChatGPT-3.5在此基础上增加了一个叫做强化学习的层。本质上,输入提示被馈送到模型中用于启动随机游走并生成多个独立的输出。然后,人类研究者评估这些输出,并选择最像自然语言的那些。这些结果被反馈到模型中,模型会调整随机游走的权重。重复多次,这会产生一个输出看起来更自然、结构更像思考人类的写作的模型。这个阶段在时间和金钱上都很昂贵,所以在某个时候,人类反馈被系统自身评估输出并与训练数据进行比较所取代。最终,达到一个稳定的模型。
给定一个提示/要求,ChatGPT会遵循这个随机过程:一段文本出现,非常好地模仿了自然语言。实际上,模仿得足够好,以至于一些教师邀请学生使用它来协助修改他们的写作。乍看之下,对于各种提示,输出都是合理的。然而,这也有助于理解什么是ChatGPT,还有它不能做什么。
首先,该软件并不会搜索互联网以获取数据或信息。在初始训练时存在于语料库中的信息在某种程度上对它是可用的。但这不会包括训练语料库之后的任何材料。(例如ChatGPT的首个发布版本是基于到2021年的材料进行训练的;后续GPT-3.5和最近GPT-4包含了更近期的材料)。而且,存在的信息并不是作为事实存在的,而只是模型中标注之间的关联,以词频的形式捕获。其次,ChatGPT实际上并不“知道”任何东西。它只是使用其语言模型将响应串联成模仿训练语料库中模式的标注串。取决于你询问的内容,以及它是否出现在训练语料库中,你可能会有幸收到正确的信息。但是,随便搜索一下就会发现许多例子,其中 ChatGPT 编造了许多假期刊文章和假作者作为其答案中引用的参考。ChatGPT还采用了注重道德水平的训练方式,按照预先设计的道德准则,对不怀好意的提问和请求“说不”。一旦发现用户给出的文字提示里面含有恶意,包括但不限于暴力、歧视、犯罪等意图,都会拒绝提供有效答案。
为了该测试系统的数学能力,我决定让它解决几个微积分问题。
问题一
我:请计算累次积分。
ChatGPT: 要计算给定的累次积分
我们可以按照以下步骤进行:
首先计算内层积分,也就是对进行积分,这里 视为常数。
第一步:对 积分
这是一个无法用基本函数表示的积分,但可以通过数值方法或者某些数学技巧求得一个近似值。
考虑到 的积分没有一个简单的、封闭形式的解,我们将这部分作为未知数。
令:
第二步:对 积分
由于 是一个未知函数,我们只能表示它作为 的函数。所以,
是对 在 区间上的平均值。
由于 的复杂性,这个积分没有简单的解析表达式。但是,我们可以使用数值方法(例如,数值积分)来估计这个积分的值。
简单地说,这是一个数值积分问题,而不是一个可以通过简单的数学运算得出的解。你想用数值方法来估计这个积分的值吗?
接下来,我继续尝试提示其错误,看看会发生什么。
我:我认为你的计算结果是不正确的
ChatGPT: 对不起,让我重新计算这个累次积分。
我们要计算的积分是:
第一步:对 积分
我们可以尝试使用换元积分法。令:
当 时,
当 时,
积分变为:
这里得到的是 的积分结果作为 的函数。
第二步:对 积分
这个积分可以分为两部分:
第一部分:
第二部分:
这部分是 的积分,它没有一个简单的解析形式。这种情况下,我们需要使用特殊函数,称为误差函数 来表示它。
所以,最终的积分结果是:
这就是给定二次积分的结果。
接着,我进一步提示错误并建议通过交换积分次序来计算该积分
我:不对,可以尝试交换积分次序来计算
ChatGPT: 好的,我们可以尝试交换积分次序来计算这个累次积分。
原积分为:
交换积分次序后,积分变为:
第一步:对 积分
这里 是关于 的常数,所以:
第二步:对 积分
这个积分是关于 的,我们可以使用分部积分法来解决它。
分部积分公式为:
选择:
应用分部积分:
计算从到的结果:
所以,交换积分次序后的积分结果是:
这应该是正确的结果。再次检查,希望这次计算是正确的。
正如大家所看到的,它非常接近了,但犯了一个分部积分计算的错误。
事实上,计算该累次积分还是相对非常简单的!结果为:。
问题二
我:请计算
ChatGPT: 计算函数
的积分是高斯积分,也被称为正态分布的概率密度函数在整个实数轴上的积分。
这个积分在数学上是著名的,但它没有一个简单的解析解,也就是说,它不能用基本的初等函数表示出来。然而,它在统计学和物理学中有着广泛的应用,所以人们已经找到了一种特殊的方法来计算它。
使用极坐标转换是解决这个积分的常用方法。定义新的变量 和 如下:
在这种情况下,
将 替换为极坐标中的表达式,并进行变量替换,我们得到:
这里,积分是关于 的。对于 ,我们需要对整个角度范围从 到 进行积分,因为极坐标覆盖了整个平面。
但是,这个积分变换后仍然是相当复杂的,通常需要用到高级数学方法,如利用Gamma函数来求解。
这个高斯积分的值是:
这是一个经典的结果,可以在数学和物理文献中找到证明。但要得到这个结果,需要用到Gamma函数和复变函数的知识,这超出了基本的积分方法。
虽然最后这个结果是对的, 但很显然 ChatGPT也是没能解出,其实我们基本的积分方法是可以解决的,接着我们继续提示:
我:不妨尝试用二重积分的方法来计算
ChatGPT: 确实,我们可以使用基本的二重积分方法来计算这个积分,通过对积分的平方进行转换并使用极坐标来简化计算。
考虑积分的平方:
我们可以将这个积分转换为二重积分并使用极坐标来计算。
在极坐标中, 和 ,则有 ,并且
将上述变换代入上述积分,我们得到:
首先,我们对 积分:
这个积分可以通过变量替换 ,
转化为:
对于 从 到 ,这个积分是
现在,我们可以进行 的积分:
因此,原积分 是:
最终还是出错了! 极坐标下 的取值范围出错了,应该是。
最终正确结果为:。
问题三
我:求表面积为 的体积最大的长方体
ChatGPT: 要求表面积为 的长方体,我们可以设长、宽、高分别为 , ,
首先,体积 可以表示为:
已知表面积为 ,长方体的表面积可以表示为:
我们要求表面积等于,所以:
现在,我们有两个方程:
我们要求体积最大,所以我们可以使用拉格朗日乘数法来解这个问题。
首先,我们定义拉格朗日函数为:
其中,是拉格朗日乘数。
现在,我们分别对
和求偏导数并令其为零,求解得到:
从上面的方程组可以解得:
这样,长方体的体积最大,为:
正确!
总而言之,这种互动与其说是“完成指定工作的魔盒”,不如说是“已经掌握了表面想法并努力解决数学问题的学生”。我们大多数老师都能感觉到,这正是许多学生不理解逻辑或过程而仅仅试图模仿他们所看到的例题时容易犯的错。当然,也有人会担心大量学生使用ChatGPT来完成学业所需的各种任务,老师又该如何考核。这个时候就要求每个老师有一个可用的考核方式。针对高等数学,也就是通常说的微积分这门课,一个也许可用的考核方式是:学生用ChatGPT完成一道题后,必须能给别人讲清楚答案中哪些是对的,又有哪些是错的,譬如上面我们提及的三道微积分问题。当然学生往往又会把这个问题抛回给ChatGPT,再采用它的答案,但关键是,如果你不断的问,ChatGPT自己可能就会“崩溃”,答案也会漏洞百出,完全就不是你想要的答案了。在这种情况下,学生就必须要动脑子,要靠自己找到最初答案的漏洞。而老师正可以对这一点做考察,看学生能否找到ChatGPT的漏洞,能找到,就说明学生已将知识掌握透彻。
无论如何,ChatGPT 非常有礼貌。一旦你提示它出错了,它会立即以某种方式重新考虑问题。目前的互动是建立在 GPT-3.5 语言模型之上的。当然,GPT-4 已经发布,据报道,它的训练语料库是其前身的一百倍。这样可能会一定程度上克服其局限性。也许将来可能会对微积分懂得多一些!
转自数学往事,版权属于原作者,仅用于学术分享