从”数字识别“看人工智能理解问题
都说 2023 年是 AI 元年。诚然,在人工智能蓬勃发展的今天,从刚开始的“新奇玩意”,现在的人工智能更为成熟与完善。不同于先前的人工智能只能在特定内容中大放异彩,现在的人工智能还可以解决泛化问题:天文地理,古今中外,几乎无所不能。但是,看似“无敌”的人工智能却总是在基础问题——尤其是数学问题上面出错,这不得不让人怀疑,人工智能它真的“理解”了文本、图像吗?还是仅仅装作了解“东拼西凑”呢?
关于这个问题,让我们把时光转移到人工智能刚刚出现的那一段时间,去挖掘它的本质。其中最具代表性的项目就是“数字识别”了,它是人工智能在计算机视觉领域中的一个经典问题,通过这个问题,我们可以深入探讨人工智能在理解和解决问题时的一般性原理。我们不会深入了解其中的实现方式,仅仅通过其原理探讨理解问题。
“数字识别”的目标是让计算机系统能够自动辨识和理解手写或印刷的数字,这里我们讨论相对简单的点阵数字识别。在点阵数字识别中,每个数字由一个网格,其中每个元素表示一个像素的状态,通常是黑色(点亮)或白色(未点亮)。而这些一张张的“点阵图”,就被称作为“数据集”,每个点阵图有一个答案(标签),这就是我们人工智能在训练时的“训练数据”。有了“学习资料”,就需要“学生”,所谓的神经网络就是我们的“学生”。神经网络通常由多个层组成,包括输入层、隐藏层和输出层。这输入层就像眼睛、耳朵,用来接收数据;隐藏层就像人的大脑,用来处理数据;这最后的输出层就是人的嘴巴了,返回最终的结果。
与人的大脑类似的,在神经网络中有很多“神经元”,也称为节点或感知器。每个神经元接收来自输入的信号后对这些信号进行加权求和,并通过激活函数产生输出。在神经网络中,每一个神经元都链接了一条“单向边”。边上有一个“权重(w)”,代表了神经元链接的强度。通过激活函数,每次经过边时,就可以得到下一个神经元的状态,公式为“输出 = 激活函数 (∑i wi⋅xi)”。可以看见,激活函数是相同的,唯一有变化的就是权重了。这恰恰是整个神经网络的关键,一组合适的权重,就可以输出正确的结果。权重通过反向传播算法在训练过程中进行调整,以最小化网络输出与实际标签之间的误差。这调整权重的过程,也正是人工智能学习的过程。
最后我们终于得到了“一个”结果。真的是一个吗?其实不然。我们的人工智能有“十张嘴巴”,分别代表 1234567890 十个数字,每个“嘴巴”上有一个“置信度”,代表模型对某个类别的预测概率。最后,程序只会输出置信度最高的结果,看似只有“一个”结果而已。
讲了这么多基础知识,也许你已经发现了,整个神经网络的运算过程与真正的大脑有本质上的区别,其输出的结果(不是最后输出)也有天壤之别。若只看最后的结果,也许并不能发现什么明显区别,但“置信度”就是人工智能露出的马脚。我们经常说“1 是 1,2 是 2”,而并不是“这个数字有 83.237%的可能是 1”。在人脑中,这种“置信度”是不存在的,也是不需要的。也许有人会说:“那我看不清数字的时候,我也会猜一个最有可能的数字呀。”,这也是不一样的:人工智能不是“猜”出来的,而是“算”出来的。它的运作模式就确定了它在训练完毕之后,面对没有标签的训练集,其权重是不会改变的——也就是说,输入相同的内容,其返回的也是相同的,本质只是通过神经网络将结果“泛化”了,而没有真正意义上的“猜测”。
举个文本例子:比如我现在输入了“1+1=?”。如果是人脑,可能会直接说“2”。但人工智能就不同了,它可以直接“算”出上百个结果,“答案是 2”的置信度为 99.28%;“1+1=2”的置信度为 99.93%;“答案是 3”的置信度为 0.72%……当然,在不同神经网络中,所谓的“置信度”可能略有不同。但不可否认的是,人工智能仅仅是“算”出一个最可能的答案,而不是“算出答案”。也许你问 ChatGPT 什么是“+”,它会告诉你一堆定义理论,但是它实际上完全不能理解什么是“+”,其回答也不过是用海量数据堆砌起来的其中一张嘴巴而已了。如果从这个方面来说,人工智能甚至不如计算器——毕竟后者是真的“理解”数学运算的。
“数字识别”也好,“1+1”也罢。不论从哪方面看,得出的结果是相同的:“人工智能并不理解问题”。它缺乏对问题的内在理解,无法理解数字的概念,而只是通过学习大量样本数据中的模式来进行分类。即使在数字识别等任务上表现良好,但并不意味着人工智能理解了问题的本质。