为方便理解,我将计算机(人工智能)的发展分为3个阶段,其中在第三阶段中阐述了人工智能超越人类需要跨过的一大门槛。
人工智能发展的第一阶段:
我们通过给定一定的输入和输出关系,然后计算机用这一给定算法告诉我们对应一个具体输入有什么输出。
第二阶段:
我们并不知道具体的输入输出关系。但是我们已经有了大量的数据,我们通过对数据进行处理,得到一系列明确的输入输出关系,然后交由计算机进行学习,计算机会自行找出对应的输入输出关系,从而实现阶段一。
第三阶段:
现有的机器学习(或者说人工智能)是在人类已经给定了的一个范围里面寻求答案。即即使人类并不了解具体的输出结果,但是我们会知道输出结果的范围——是0~100,或者是一个数字,或者是一个字母。我们在编程的时候或多或少地局限了计算机的输出结果。也许计算机在大量的数据中已经发现了一些我们并没有发现的规律——这也是许多 科学家在现实世界中所做的事情。但是计算机却并没有办法告诉我们。如何让计算机将我们还未发现的规律告诉我们,需要在输出结果上做什么样的限定?
又或者并不是我们在输出结果的过程的限制,而是计算机得到输入输出结果的过程就是在人类的帮助(框架)下得到的,从而限制了他们对关系的想象?
如果有一天,一位杰出的工程师带领团队写出的程序,但是他们完全无法给出程序运行结果的范围的时候,就是一个突破。
但是,如此突破又会带来一个新的问题,工程师们将如何debug?
也就是说,以后的程序,不是人类给的逻辑关系,而是人类构建一个模型,然后提供一些处理过的数据原型,之后由计算机根据模型自主学习数据,调整后给出一个逻辑关系。此时的debug目的,不是达到100%的准确度,而是使得逻辑关系尽可能达到现实的需要。此时debug的手段,一是调整训练数据集,增加或者去掉不合理部分,使得训练后的模型更符合现实;二是调整程序,使其符合模型要求;三是调整模型,使得其更快学习,更好地学习。