在大数据文摘后台回复“智商”可下载论文~
以下是论文精华内容:
识别计算机程序是否为AI所要做的就是对它们进行测试并对通过测试的AI给予奖励。假定AI在测试中获得的分数为IQ,我们无法确定一个程序通过测试成为AI的最低IQ阈值,故我们选择一个特定值作为阈值。因此,我们定义AI为任何一个IQ高于该阈值的程序。
对于AI的测试,就类似于高考。考试中给出的问题是随机选择的,但所有考生都会遇到同样的问题。此外,解决问题需要进行逻辑思考,因为我们的目标是招收那些具有逻辑思维的学生,而不是偶然蒙对正确答案的幸运学生。
考试的分数基于每个考生解决的问题数量而设定。我们不能说应该解决多少问题,因为我们不知道考试中会有多少考生,也不知道他们的具体水平。我们可能会设定一个分数(例如4.50),并说我们打算录取所有分数超过4.50的考生。但是,在测试完成后要对最低分数进行修正。然后,我们将录取分数超过最低分数的前n位考生(例如,如果n为100,我们将录取分数排名在前100的考生)。
但是如果被测对象是计算机程序,高考的类比就不再合适。此时对AI的测试更像是应聘同一家公司CEO职位的招聘竞赛。
尽管图灵测试定义了受过教育的智力,是因为图灵非常理解受过教育和没受过教育的差异。他问了这样一个问题:“为什么试着去编写一个模拟成人思维的程序,而不试着去编写一个模拟孩子思维的程序呢?”
本文给出的AI的定义回答了这个问题。它不需要包括提前教育,并且测试中的任务也不需要任何先验知识。也就是说,每一项任务我们都会假设我们正在重新开始,并且在解决我们正在学习的任务的过程中,我们发现相关性信息并从错误中学习。
我们定义了全局IQ和局部IQ的概念。AI的全局IQ更准确,但却无法精确计算(因为组合爆炸问题)。AI的局部IQ并不准确,因为它取决于测试中特定任务的选择。但对于特定的任务,可以很容易和准确地计算局部IQ。
我们将采用完全随机的程序产生的序列,而不是采用特殊的k-可理解序列(k-comprehensible sequence)。我们在每一步预测下一个符号,而不是通过一个步骤预测符号。对一个序列的奖励将是所有步骤的奖励的总和。局部IQ将是我们在测试中序列的奖励均值。
问题设计
假设在特定的世界(World)中,我们拥有一个设备(Device )。 在每个步骤中,设备产生n个符号(也即行为,Action),然后从外部接收m个符号(在我们的术语中,第一个符号为“奖励”,其余的m-1符号为“观察”)。奖励可分为五种状态:{无,胜利,无败,平局,不正确的移动}。
设备的一个步骤由三个元素组成:<动作, 奖励, 观察>,在设备与世界的互动过程中所做出的一系列的步骤决定了其本身的生命。
“真实生命”应该没有不正确的移动。因此,所有的奖励值是不正确移动的<动作, 奖励, 观察>三元素都会被移除,剩下的就是真实生命。。
动作”(moment)由一系列步骤组成,而在这些步骤中,只有最后一步是正确的,除此之外,其他所有的步骤都将是错误的。实际上,生命中可能由很多步骤组成,不仅是动作,然而在真实的生命中,这些其他步骤的数量和动作的数量是相同的。
设备的行为可以表示为一种策略,即作为一个定义设备每一次生命开始,下一次动作的函数,同样地,世界的行为也可以作为一种策略来呈现,为设备每一种生命的开始,每一种行为都提供了奖励和观察,设备将会在下一个步骤中得到它们。应该指出的是,世界的策略不依赖于错误的动作。因此,我们可以把世界的策略想象成现实生活的函数。相反,设备的策略将取决于不正确的移动(这些移动将提供设备使用的附加信息)。
假设两个集合,Q和S,这些将是设备和世界内部状态的集合。这些集合将是有限的或可数的。设q_0和s_0分别是设备和世界的初始状态。我们会假设这些状态是固定的,因为生命将取决于我们最初的状态,但我们希望生命只依赖于设备和世界。
设备和世界定义为下面的两个函数: