谢凌曦,探索未知,传承已知 阅读原文 这是一个看似简单,却很适合拿来理解机器学习本质的问题。好在有不少前人已经提供了各种解法,我可以站在他们的肩膀上,分享自己的看法,同时纠正可能存在的误解。 显然,提出这个问题的人,并不会只满足于奇偶性判定。因此,我们不妨同时考虑这个问题的强化版本:给定三个正整数 、 和 ,定义 除以 的余数为 。要求判断 和 的大小:若 输出 ,反之输出 。当 且 时,上述问题简化为题面的版本。为了简单起见,我们分别用原版问题和扩展问题指代两者。 我们首先回顾先前答主提出的若干解答。其中代表性的方法主要分为两类: 将输入 编码为字符串,再将其每位数字(甚至最后一位数字)作为网络的输入特征 ,送入某个神经网络; 将输入 带入某个神经网络 ,其中 为可学习参数, 为激活函数,可以定义为某种周期函数,如 ; 许多答主展示了程序的运行结果。不出所料,原版问题被很好地“解决”了。然而,上述解法都不是真正的“统计学习”解法,而是人类事先解决了问题,然后再通过hard-code的方式灌输给神经网络。特别地,解法1明确说明“各位数字是非常好的特征”,解法2则引入强先验“问题的解关于 的定长周期性函数”。然而,相同的思路如果应用到扩展问题中去,就难以解决问题——即使这个扩展问题其实并不困难,但如此简单的模型就难以实现。 其实,这些回答都踩中了相同的陷阱:原版问题过于简单,以致于一个随手设计的神经网络能够轻松地解决问题,让我们误认为神经网络在一般意义上具有很强的泛化能力。这个观念其实是危险的,因为它多多少少有些误解了统计学习所追求的目标。我们都知道,人工智能的大部分问题可以描述为:给定输入 和输出 ,寻找合适的函数 使得 能够最好地被满足。但是人工智能并不等于统计学习!从数学形式来看,如果函数 满足以下两个条件之一,那么这个问题就不适用于统计学习。 函数 具有某种已知的简单形式,因而不必要使用统计学习; 关系式 必须精确成立,其近似解没有意义,因而不能使用统计学习; 原版问题就是条件1的典型案例。条件2的案例也是不胜枚举,例如著名的三立方和问题:找到彼此不同的整数 ,使得 等于某个特定的正整数 。这个问题看似简单,可人类直到2019年才明确得知上述问题对于 以内的所有正整数 是否都有解。迄今,还没有任何迹象表明,上述问题(给定 的情况下)可以通过神经网络来解决。 归根结底,人工智能的目的是扩展人类认知的边界。因此在解决任何问题的时候,必须假设人类并不知道何种数学函数可以解决问题,否则相应的研究就会失去意义。当今人工智能的研究前沿,如图像识别、语义理解、博弈论等,无不遵循上述原则。而原版问题(包括扩展问题)虽然简单,既然考虑到统计学习方法,就切不可本末倒置。作为研究者,我有义务就此问题作出提醒。 阅读原文