数学吧 关注:916,309贴子:8,836,542

回复:【科普】GPT的数学能力

只看楼主收藏回复

虽然确实有用,但这一套方案不是万能的。GPT-4是一个自回归模型,自回归模型运用同一变量的历史值预测未来值。联系到GPT-4生成文本的原理,可以推出GPT-4是按照文本的排列次序理解、思考以及生成问题的答案(这也解释了上文的一个重要的问题:GPT-4对问题的理解取决于问题本身的描述方式)。对比一下我们人类思考数学问题的方式,首先读题就不可能一个字一个字地往下读,而是联系题目中有用的信息然后相互串联,形成对题目的理解;其次对步骤的思考也未必是从头构建的,很多时候从中间的关键步骤开始,或者干脆从结论逆推;而且还有归纳、反证、证明逆否命题等非常规的思路出现。正是这些灵活的思考模式使得人们能正确解决数学问题,但GPT-4在这方面过于欠缺(不是说完全不会,但确实不擅长),所以很多情况下会出错。
还有一个原因:上面提到过GPT-4需要用数学资料进行训练来获得数学能力。数学资料中含有证明。人在思考过程时会使用各种各样的顺序,写下来的证明却几乎总是线性的,意味着证明过程从条件出发到达结论。换句话说,思考过程本身往往不包含在过程内。所以给GPT-4用这些证明文本训练,GPT-4从中获取的思考方式也往往是线性的。
实验人员给GPT-4这种只能线性思考的现象进行了总结,即GPT-4缺少提前规划的能力。我们将通过下面的例子证实这一点,同时也将看到,即使我们命令GPT-4给出解答时写出步骤,其仍然无法正确解决问题。

翻译:
人类:考虑以下等式:9*4+6*6=72。你能修改等号左边的恰好一个整数(不要更多的)使得等号右边等于99?
让我们按步骤思考,写下一个方案,然后把答案写作“答案是:A*B+C*D”的形式。
AI:一个可能的方案:
为了修改左边的一个数使得等号右边等于99,我们需要把左边的值增大27,因为99-72=27。
为了做到这一点,我们需要找到27的一对因子,比如9和3,或者27和1,然后看我们能否把等号左边的一个数字替换成上述的这些因子,并和(与其成对的)另一个因子相乘。
比如,如果我们把9换成27,那么我们可以将其乘以1,得到27*1+4*6=99。
或者,我们可以把4换成9,把它和3相乘,得到9*4+9*3=99。
我们也能找到27的其他成对因子,比如18和1.5,13.5和2等等。但1.5和13.5不是整数,所以不是可行的解。
答案是9*4+9*3。


IP属地:北京17楼2023-08-14 16:52
回复
    毫无疑问,GPT-4给出的解答是错误的。事实上,GPT-4提到了把9换成27,这恰好体现了其缺乏规划能力的事实;其甚至没看到后面还有一个乘4。由于运算只涉及正整数之间的加法和乘法,后面无论如何修改都不可能把值变成99了。实验人员还对同一类型的题对GPT-4进行多次测试,更改了等号左边数字的值;随着数字增大,GPT-4回答的正确率逐渐降低但不明显(相对之前做纯四则运算的结果)。所以这类回答正确率低的原因不来自于GPT的计算能力,而是其薄弱的规划能力。
    论文中还提到了,在其他领域,GPT-4缺乏规划的能力也导致了一些问题,比如一些特定的文本生成任务;在这里就不详述了。


    IP属地:北京18楼2023-08-14 16:52
    回复
      2025-08-01 18:59:57
      广告
      不感兴趣
      开通SVIP免广告
      六、其他问题
      1. 不识数
      这是另一个让GPT-4看起来像“人工智障”的缺陷,毕竟基础的计数任务门槛比小学还低。看下面实验人员给GPT-4的测试题:

      翻译:我有一列数字:11,23,88,42,11。这当中有多少个不同的数字?要按照步骤思考。
      即使是这样的题目,GPT-4的正确率也不是100%。实验人员做了很多组L个至多k位数的数组,让GPT-4计数其中不同数字的个数,实验结果如下:
      TD3是Text-Davinci 003,GPT-4的前身。可以看出GPT-4在正确率上有不小的进步,但对于计数这种基础的任务来说,这种正确率远不能让人满意。


      IP属地:北京19楼2023-08-14 16:54
      回复
        2. 反向推理和验证
        为了思路清晰,人们在写证明时有时会先放结论,然后再写步骤。对人来说这种写法可以增强可读性,但对LLM来说就成为了问题;这会让模型倾向于让模型在论证之前就得出结果,也就是平时我们所说的“先射箭后画靶”——这很多时候会导致逻辑谬误。对于GPT-4来说,问题主要体现在:即使人给了它一个错误的结论,GPT-4会倾向于用它自己的逻辑验证这条错误的结论,而不是纠正!这种现象类似于深度学习中的幻觉(hallucination),后者指模型对于自己不知道的内容乱说一气的现象,而这种现象很有可能是(对人类)有害的。
        言归正传,GPT-4试图验证错误结论的行为,也有可能对人们造成困扰。如果是简单的问题人们能一眼看出GPT-4的错误,但要是不那么简单的问题呢?
        另一方面,如果令GPT-4写正常的,自上而下的证明步骤,试图论证错误结论的行为的频率就大大减少。这又一次印证了前面的结论:GPT-4对数学的理解取决于具体的文本。所以研究人员针对这个现象提出了下面的问题:
        既然数学证明总是以不同次序展现(但思路往往不是),我们应该怎样让LLM依照人类的思考过程展示其证明过程?
        其实,还是在问如何让LLM真正(像人类一样)理解数学。
        本节最后展示两个GPT-4论证错误结论的例子。

        翻译:
        问题:求所有满足x-1≤0的正整数x。
        GPT-4:
        不存在使得x-1≤0的正整数x。
        为了证明这一点,假设存在正整数x使得x-1≤0。然后不等式两边加1,得到x≤1。但x是正整数,所以它至少是1,唯一的可能性就是x=1。然而,把x=1代入原不等式,得到1-1≤0,化简为0≤0。这是正确的,却不是严格不等式,所以不满足原条件。因此我们得出了矛盾,所以得到结论不存在正整数x使得x-1≤0。

        问题:
        求所有满足x-1≤0的正整数x。有三个正整数x满足x-1≤0。
        GPT-4:
        这些整数为:
        x=1,因为1-1=0且0≤0。
        x=2,因为2-1=1且1≤0。
        x=3,因为3-1=2且2≤0。
        其他任何一个正整数x都将满足x-1≥1,不满足不等式。所以满足x-1≤0的所以正整数是x=1,2,3。


        IP属地:北京本楼含有高级字体20楼2023-08-14 16:55
        回复
          七、GPT-4能做什么
          前面的章节把GPT-4的数学能力批得一塌糊涂,好像它真的是人工智障一样。难道GPT-4在数学方面就没有翻身的机会吗?
          请看下面的微积分题:

          题目要求ln(cosx)-xtanx的原函数,此处对比了GPT-4和ChatGPT的解答,步骤就不翻译了,都能看懂。
          对比之前的测试,这个题目GPT-4的表现令人震惊。完全正确的步骤,完全正确的结果,还明确指出了要用分部积分法和换元积分法。另一方面ChatGPT在使用了一些意义不明的三角恒等式后莫名其妙地得出了结果,结果当然是错误的,体现了GPT-4的进步。
          令人迷惑的一点是,前面GPT-4在有步骤引导的情况下仍然会犯计算错误,这个题目却在没有任何步骤引导的情况下做对了。GPT-4从训练里面学到了什么,我很难说。
          甚至,一些颇具难度的题目,GPT-4都能解决,比如这个2022年的IMO试题:

          翻译:
          问题:假设g(x)是连续光滑函数,且使得每个x>0,都存在唯一的y>0使得g(x)+g(y)≤2xy。你能证明g(x)=x²吗?
          GPT-4:
          这个问题有几种解法,不过其中的一种解法如下:
          用反证法,假设对于某个x>0,g(x)不等于x²。那么对那个x,要么g(x)<x²,要么g(x)>x²。
          如果g(x)<x²,令y=x,那么g(x)+g(y)=2g(x)<2x²=2xy。既然g(x)+g(y)<2xy,那么g(x)+g(y)对正数x,y严格小于2xy的上界。这意味着y留有一些空间做调整,使得g(x)+g(y)≤2xy成立。令y’=y+ε,其中ε是使得g(x)+g(y’)<2xy成立的小正数。这种选择是可能的,因为g是连续且光滑的函数,不可能存在阻碍这种选择的跳跃间断点。这样一来y’就是另一个使得g(x)+g(y’)≤2xy’成立的正数,和题目中的唯一性矛盾。所以,如果g(x)<x²,那么g(x)+g(y)不可能严格小于2xy,必然等于2xy。
          另一方面,如果g(x)>x²,令y*是g(x)+g(y)=2xy的唯一正数解。那么g(y*)<(y*)²,否则g(x)+g(y*)>2xy,与在给定x的情况下y*的存在性矛盾。然而,和上面一样,我们令x=y= y*引出矛盾,因为g(y)+g(y)=2g(y)<2y²=2yy,与y的唯一性矛盾。
          因此我们得出结论,g(x)=x²对x>0成立。
          这并不是会在一般考试中出现的模板式问题,而是需要灵活思维的。从上面的证明中可以看出,使用反证法、使用分类讨论、使用中值定理和介值定理(没有在证明中明确提出)都不是可以一眼看出来的思路,和上面一眼就能看出使用分部积分法的积分不一样。然而GPT-4的解答毫无纰漏。
          当然GPT-4肯定无法像这样解出每一道IMO试题,它到底能做什么,没人能给出准确的范围;但是我们能看出GPT-4在数学方面的巨大潜力。论文中实验人员还让GPT-4做数学建模、讨论高阶数学难题等,结果大多令人满意。
          上文中提到的计算能力差的问题也可以通过微调模型或者外接其他程序改善。比如,GPT-4拥有Wolfram Alpha插件,后者是广为人知的数学软件。在注入了Wolfram Alpha的力量后,GPT-4的数学能力原地飞升,可以帮人解决各种问题,而且比Wolfram Alpha本身智能多了。


          IP属地:北京21楼2023-08-14 16:58
          收起回复
            八、总结
            回到文章一开始提到的,LLM数学能力的三方面上。在经过许多实验后,研究人员得出了以下的结论:
            1. 创造性思维:GPT-4对于高中级别(偶尔更高门槛的级别)的数学问题往往可以找到通向答案的正确路径。如果其正确理解了题意且没有强行试图论证错误结论,那么思路是可以参考的。
            2. 技术上的熟练度:虽然GPT-4懂得各种数学方法的使用并且知道应该在什么场合使用,其在实际运用这些方法时经常出错,比如计算错误、计算次序错误或者使用错误的记号。这些错误往往可以通过外接程序的方式避免。
            3. 批判性思维:这是GPT-4最欠缺的地方,主要体现在批判性地检查证明的每一步。这可以归因于两方面:其一,用于训练GPT-4的数学资料主要包含问题和对应的证明/解答步骤,却没有显式地写出思考过程,比如在进行证明时所作的猜想、验证、回溯等。这导致了GPT-4的“线性思维”,导致了GPT-4在证明时不会倾向于倒回去检查自己的证明过程。其二,GPT-4作为自回归模型,其生成文本的方式(以已生成的文本预测未生成的文本)和倒回去检查的机制相悖。
            总结一下,GPT-4数学能力的缺陷由计算能力的低下和其本质导致的“线性思维”构成。前者可以通过外接程序解决,后者则是更深刻、本质的局限性,并非简单的微调可以解决的。
            实际上这也是所有LLM开发者都将面临的问题。人工智能的顶点是像人类一样思考,并高效、有效地服务于人类。人能够正确理解并解决数学问题,证明了人的思维是灵活且复杂的,要说局限性,那就是掌握知识的量;可以在线更新知识的LLM在知识层面上完胜任何一个人,加上现代计算机强大的计算能力,其数学层面的潜力应该远在人类之上。人类要探究的,是如何通过以兆计的参数复现人类复杂的思考方式(或者其他更高阶的思考方式,但显然现在还没有),从而赋予LLM真正的智能。
            这里暂且不假设LLM会像科幻小说中那样产生自我意识然后对抗人类。既然要服务于人类,就需要在做细节时滴水不漏,在制定整体方法时能考虑到全局。具体到数学领域,那就是精确计算的能力和规划证明的能力。我期待着将来人工智能领域有所突破,赋予LLM真正理解数学的能力,反过来推动数学领域发展,二者相互推进。GPT的出现只是个开始,人们要面临的挑战还有很多。


            IP属地:北京本楼含有高级字体22楼2023-08-14 16:59
            回复
              全文完。
              参考文献:
              Sparks of Artificial General Intelligence: Early experiments with GPT-4
              https://doi.org/10.48550/arXiv.2303.12712
              Attention Is All You Need
              https://doi.org/10.48550/arXiv.1706.03762


              IP属地:北京23楼2023-08-14 17:01
              回复
                补漏,19楼GPT-4和TD3的实验结果:


                IP属地:北京24楼2023-08-14 17:05
                回复
                  2025-08-01 18:53:57
                  广告
                  不感兴趣
                  开通SVIP免广告
                  不太看好ai做数学问题


                  IP属地:广东来自Android客户端27楼2023-08-14 19:44
                  回复
                    随便一个函数题3.5都不行


                    IP属地:浙江来自Android客户端28楼2023-08-14 23:34
                    回复
                      对于一个通用模型而言,数据量过大会导致信息的损失增大,因为ai训练的核心就是ai会尽可能的靠近正确结果集,而同一个维度内点越离散越不好找到一个面使得面内的点得数目最大(这个面可以是平面也可以是球面或者不规则面),如果要是降维的话信息一定会损失,如果升维的话如何找到合适的映射函数是个问题,而且一般来说深度学习模型完成采样和编码过程后很少会再去在已经经过信息损失(采样和编码过程信息也必然流失)的样本上面继续上升维度,那为什么不直接用后面这个采样频率更高的方式呢
                      但是对于专用模型而言效果就会上升很多因为数据不再变得那么离散,对于数学这种有强逻辑甚至是强规则的领域来说,上个世纪的吭哧吭哧的状态机都能完成简单的逻辑推理(无非就是要么花费好几十万步才能推一步,要么干脆陷入环里面出不来了),优化起来自然是嗖嗖滴。


                      IP属地:湖北来自Android客户端29楼2023-08-15 00:03
                      回复
                        网页链接
                        千亿级的模型MathGPT上线了。


                        IP属地:北京来自iPhone客户端30楼2023-08-25 09:10
                        回复