Kubeflow:云计算和机器学习的桥梁
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.1 人工智能的第三次“冲击波”

让我们简单回顾一下人工智能的发展历史,温故而知新。早在1956 年,在达特茅斯会议上就提到了人工智能。人工智能的第一次“冲击波”以图灵测试为代表,主要是理论层面的描述。人工智能的第二次“冲击波”以“专家系统”为代表,实现了人工智能从理论研究走向实际应用,从推理探讨转向应用专业知识解决实际问题,是人工智能发展过程中的重大突破。人工智能的第一次和第二次“冲击波”都早已消失在历史的长河中,这两次“冲击波”减退的原因比较复杂,总结起来,最主要的原因是遇到的技术难题没有攻克,其他原因包括硬件资源满足不了大量的计算、经费不足、人力支持不够等。除了这些外部因素,人工智能本身也存在一些问题,在早期最核心的两个问题就是数据不足和算力乏力,实际上,当时有非常不错的拟合算法模型,模型维度也很多,但是没有详尽、足量的数据和强大的算力支持,最后被误以为是过拟合。所以从这个层面来说,在那个时候,发展人工智能的机会尚不成熟,条件尚不满足。即使在今天,实现人工智能依然存在很多技术难题,当前的人工智能依然可以将图灵测试提出的理念作为目标。人工智能的发展过程如图2-1 所示。

img

图2-1 人工智能的发展过程

虽然人工智能的第一次和第二次“冲击波”都无功而返,但人们从中获得了很多经验,客观地说,也解决了很多技术难题。人工智能的第三次“冲击波”与前两次大不相同,这次“冲击波”拥有雄厚的资金支持、适合用于机器学习的硬件平台、突破性的算法等,就目前来看,这次“冲击波”已经创造了很多成果,并且没有减退的势头,已经将人工智能推到了新的高度。

那么,人工智能和机器学习到底有什么关系呢?其实机器学习可以简单地理解为实现人工智能的核心方法。机器学习理论主要是设计和分析一些使计算机可以自动“学习”的算法,机器学习算法是一种从数据中自动分析获得规律,并且利用这种规律对未知数据进行预测的算法,所以机器学习的核心是数据、算法(模型)、算力(计算机运算能力)。机器学习的应用领域十分广泛,如数据挖掘、数据分类、计算机视觉、自然语言处理(NLP)、生物特征识别、搜索引擎、医学诊断、检测信用卡欺诈、证券市场分析、DNA序列测序、语音和手写识别、战略游戏和机器人运用等。

那么机器学习有哪些成果或新的动向?我们通过以下几个方面进行讲解。

1.通过机器学习理解人的思维

我们经常遇到这样的情况,想要搜索一种东西,由于自己不善于表达或不够了解,因此搜不出自己想要的东西。例如,你听到某首歌很喜欢,但是不知道这首歌的名字,无法搜出这首歌,然而软件会根据你的喜好不断推荐这种类型的音乐,突然某天你心心念念的这首歌就这样被推荐给你了,这就是在大数据模式下,机器学习特有的优势。在我们使用具有机器学习技术的应用时,会发现这个应用能够读懂我们心里的想法,并不是在我们说出自己的想法后机器才知道。如果一台机器,你跟它说话,它能够回应,并且它的回应使你感觉不出它与人的区别,那它就是人工智能。

2.使机器学会推理

使机器拥有人类的逻辑推理能力,即能够自主思考并进行推理。如果机器有逻辑推理能力,那么它就能根据人们的提问,进行适当的推理思考,得出相应的结论。其实人们已经能够使机器进行一定的推理了,如证明数学公式,这是因为数学公式非常严谨,推理过程也非常严谨,而且数学公式很容易使用机器进行表达。然而理解人类的语言就没这么简单了。例如,当你想去洗手间时,可能会说“我要去方便一下”;当你希望对方有空一起吃饭时,可能会说“方便的时候一起吃饭”;当你形容某处的交通很便利时,可能会说“这里交通很方便”,“方便”一词的含义太多,机器会很难理解。

3.使机器拥有自学能力

只告诉机器严格的推理是不够的,还需要告诉它一些知识。知识可以成就专家,如语言领域的专家、财经领域的专家。语言领域和财经领域的知识能不能像数学公式一样具有严格的规范呢?例如,语言领域的专家可以总结出某种语言的语法规则,并且严格地表达出来。后来发现语言表达千变万化,太难总结了。因此需要培养机器学习的自学能力,让机器成为某方面的专家。机器怎么学习呢?机器的统计能力很强,通过统计学习,机器可以从大量的数据中发现一定的规律。

我们拿之前提到的手机推荐音乐这个例子来说,人们希望手机推荐符合自己爱好的音乐,手机会通过分析大量的搜索记录,统计出大部分人们喜欢的音乐元素,再根据各种风格、因素、爱好等进行统计排列,最终呈现在用户的眼前。这就是机器的统计学习,也是机器学习的第一阶段。

我们知道,统计学习是有问题的,逻辑非线性的事物很多,也并非所有事物都有相关性。例如,一个词和另一个词总是一起出现,两个词应该有关系,但无法表达复杂的相关性,而且统计方法的公式往往非常复杂,为了简化计算,常常做出各种独立性的假设,用于降低公式的计算难度。然而在现实生活中,具有独立性的事件是相对较少的。

4.使机器模拟大脑的工作方式

只是简单地统计学习有很大的局限性,人们开始反思人类的世界是怎么工作的,并且希望将这种工作方式应用于机器中。

人类的大脑中没有存储着大量的规则,也没有记录着大量的统计数据,它是通过神经元不同的触发反应驱动人类的行为方式的,每个神经元都有从其他神经元传来的输入,当神经元接收到输入时,会产生一个输出来刺激其他神经元,于是大量的神经元相互反应,最终形成各种输出的结果。因此人们开始研究是否可以使用数学公式模拟大脑神经元的工作流程。

人们研究出很多算法来模拟大脑神经元的工作流程。神经元有输入,也有输出,可以用一个公式表示将输入转化为输出的过程,输入的重要程度不同(权重),会不同程度地影响输出结果。将n 个神经元连接成一张神经网络,n 这个数字可以很大,所有神经元可以分成很多列,每列有很多个神经元,如果每个神经元的输入权重都不相同,那么每个神经元的公式也都不相同。当人们在这张网络中输入一条信息时,希望输出一个对人类来讲正确的结果。输入一张写着2 的图片,输出的列表中第2 个数字最大,其实对机器来讲,它既不知道输入的这张图片写的是2,也不知道输出的这一系列数字的意义,没关系,人类知道意义就可以了。正如对神经元来说,它们既不知道视网膜看到的是美食,也不知道口水分泌是为了刺激消化,它们只需在看到合胃口的美食时,传递信息使人类开始分泌口水,这就可以了。

神经网络需要根据输入得到相对稳定的输出(或反应),这需要长时间的反复训练和学习。就像人们看到美食(输入)分泌口水(输出或反应),也是人类经过很多年进化(训练和学习)形成的。学习的过程就是,输入大量的图片,如果输出的不是想要的结果,则进行调整。如何调整呢?将每个神经元的所有权重都向目标进行微调,由于神经元和权重实在太多了,因此整张神经网络产生的结果很难表现出非此即彼的结果,而是向着结果微微地进步,最终达到目标结果。

5.使机器学习“拥抱”云计算

机器学习是人工智能的一种实现方法,那么机器学习和云计算有什么关系呢?机器学习涉及神经网络,神经网络有很多节点,即神经元,每个节点又有很多参数,可以想象,这需要很大的计算量,但是没有关系,我们可以使用云计算,用很多云机器一起进行计算,就能够高效率地得到计算结果了。

人工智能可以做很多事情。例如,鉴别垃圾邮件,鉴别黄色、暴力的文字和图片,等等。过滤网络留言等内容将在下一章重点讲解,这里讲解人工智能经历的三个阶段。以鉴别黄色、暴力的文字和图片为例,第一个阶段基于关键词黑白名单和过滤技术,可以判断哪些词是黄色或暴力的文字。随着网络语言越来越多,词也不断地发生变化,不断地更新这个词库就有点顾不过来。第二个阶段基于一些新的算法,如贝叶斯过滤,进一步判断哪些词是黄色或暴力的文字。贝叶斯过滤是一个基于概率的算法。第三个阶段基于大数据和人工智能,可以更加精准地对各种文字、图片、视频及语音进行甄别。对机器而言,它不必知道这个图片或视频中有什么内容,只需依赖学习之后的模型进行匹配得出结果,虽然这个结果是有误差的,但是它的误差在逐步缩小。