怎么理解机器学习和深度学习(三)—— 进一步深入深度学习

阅读时长 15 分钟

听全文:

十年窗下无人问,一举成名天下知

在人类历史的漫长河流中,深度学习这个词已然成为人工智能的代名词,仿佛揭开人工智能的面纱,只留下了深度学习这一璀璨明珠。自1956年达特茅斯会议首次提出“人工智能”一词以来,世界各地的杰出科学家们在这个领域投入了大量的心血,然而,直至2012年6月,谷歌公司的一项突破性声明才真正让人工智能踏上了新的台阶。谷歌宣布他们利用深度学习技术实现了机器拥有了类人的能力,无需人类定义规则,机器就能识别图片中的猫,准确率高达74.8%。这一消息如同一枚核弹般在人工智能领域掀起巨浪,令全球震惊不已。

谷歌依托其视频网站YouTube上的一千万张图片,构建了一个规模庞大的神经网络,汇集了16000台处理器,仿佛一个庞大的人脑,让机器从中学习辨识猫的图像。

此后,深度学习如涓涓细流般渗透到各行各业,极大地拓展了人工智能的边界和可能性。它已不仅仅是一种技术,更是一种全新的思维方式,开启了智能化的新时代。随着GPU计算能力的不断提升,以及越来越多的计算机科学家投身于深度学习领域,深度学习逐渐成为了实现人工智能的主流技术之一,成为了人工智能的代名词。

让我们再次理解人工智能与机器学习

上一篇文章中,我们已经知道,深度学习实际上是机器学习的一个分支,而机器学习则是人工智能的一个分支。在人工智能的分支中,主要有两种实现思路:一种是人类定义规则,另一种是数据定义规则。

让我们回忆一下自己学习的过程。

① 前人定义了加法的规则


② 我们学习了加法的规则


③ 掌握了加法规则的我们,使用加法进行计算。

这就是人类定义规则。

然而,人类定义规则的最大挑战在于,如果人类无法定义规则呢?

以识别猫为例,如果采用传统的人类定义规则方法,就需要将猫的特征抽象成简单的几何图形,建立数学模型以降低识别难度。然后根据数学模型和抽象后的图片,与事先设定好的猫的特征进行匹配。

image.png
图片来源:斯坦福大学教授李飞飞的TED演讲

这种方法表面上看似乎没有问题,但仔细一想,其局限性是非常大的,因为猫可以呈现出无数你无法想象的形态。

Blank 5 Grids Collage.jpg

回想一下,当美术老师向我们这些正在读小学的学生介绍猫时,并不是告诉我们猫的特征,而是直接展示了猫的图片。因此,如果我们不能很好地定义规则,那么人工智能如果能够自主地从数据中获取规则,它将更加准确,同时也将超越我们人类定义规则的能力。

聪明的你也许已经发现,机器使用的是从大量的数据中学习的方法,这种方法其实就是统计方法。它的基本能力是从大量数据中找出特征,并根据概率提供答案。

然而,传统的机器学习无法解决识别猫的难题,这正是由于统计方法造成的。因为机器学习擅长于从结构化数据中学习特征,比如人口数据、气象数据、气温数据等各种数据,以统计方法学习数据特征。但对于复杂的数据组合,特别是图像、动画、声音、音乐等非结构化数据,机器学习则束手无策。因此,传统的机器学习在图像、语音等识别方面长期未受到学术界的关注。

然而,深度学习的出现为机器学习打开了新的突破口。这个突破口就是深度学习的核心,即神经网络。

神经网络是如何识别猫的

早在 1943 年,心理学家 McCulloch 和数学家 Pitts 参考了生物神经元的结构,发表了抽象的神经元模型MP。虽然是说参考了人类大脑处理信息的方式,但是实际上,深度学习模仿的仅仅是人脑神经元触突的结构,而并不是整个人脑的结构。

在人脑中,有连接神经细胞的强突触和弱突触,同样,在神经网络中,也有类似的触突的节点,以及强弱的区别。

image.png

神经网络 (Neural Network) 由三个节点层组成,包含一个输入层(最左边的深蓝色的列)、一个或多个隐藏层(中间浅绿色的多列)和一个输出层(右侧的浅蓝色的列)。 每个圆圈是一个节点,每个节点也称为一个神经元,它们连接到另一个节点。

隐藏层对来自输入层的输入进行判断,并将结果传递给输出层。然而,输入层的输入和隐藏层的结果并不是同等评估的,而是加权的。也就是说,当信息通过输入层向后传递的时候,隐藏层的每一个节点上,有着不同的权重,并将输入信息根据权重进行变换,再通过事先设定好的阈值进行判断,如果任何单个节点的输出高于指定的阈值,那么会激活该节点,并将数据发送到网络的下一层。 否则,不会将数据传递到网络的下一层。

最后传递到输出层的结果,将与对照用的结果数据进行对比,根据结果的准确率,重新调整中间节点的权重数据。

例如,要从图像中识别出一只猫,我们首先需要识别出猫的轮廓。要区分猫与人、狗和老鼠,请观察它们的轮廓。

首先,如果是猫,条件之一是“1.它必须有两只耳朵。”

当然,人工智能没有“耳朵”的概念,但如果有一个像 1 这样的突起的轮廓,并且在平行线上还有另一个类似突起的轮廓,那么它很有可能是一只耳朵(类似于人的耳朵)不会出现在头顶上方)。

image.png

如果轮廓是圆形且像 2 一样弯曲,则很可能是一只猫(狗的轮廓则更清晰)。

深度学习通常在逐像素的基础上执行此类验证。

我们通常处理的图像是像素点的集合。每个像素都是 RGB(红绿蓝) 的其中一种颜色,如果图像是 1920 x 1080 像素,则 1920 x 1080 x 3(RGB 值)中的每一个都将成为输入层。

在传统的机器学习中,人类必须要定义每个特征值,例如“ 1.头顶有两只耳朵”和“ 2.脸的轮廓是圆的”,但神经网络学习,可以自动计算。

当然,仅仅靠轮廓来判断,远远是不够的。轮廓是基础,除此之外,表面有无皮毛、眼睛、鼻子、形状等细节也作为判断的标准。在中间的隐藏层,需要从高度抽象的层到具体的层进行多个阶段(深层)的决策。

于是通过设置相当多的隐藏层,就可以从像素级来分析图像了。但是,并不是每个像素都是同等重要的。

image.png

例如,背景信息对于猫的识别来说不是必需的。因此,需要进行加权来进行判断,但一般而言,神经网络在学习猫图像(训练)的时候,会自动调整权重。

在神经网络中,由于隐藏层的层次结构会回溯性自我调整,因此各层次的信息传输判断标准,对于人类来说像个黑匣子一样并不透明,因此无法真切的知道它在整个过程中是如何进行自我调整的。

神经网络的这种结构精妙之处在于,它可以极其准确地分析非文本数据,例如图像和音频。 所以在智能手机普及的当下,我们每个人都通过智能手机这个神器,拥有了大量的视频、音频和图片。而分析这些数据将创造前所未有的价值。

深度学习的巨大潜力

从上一节开始,深度学习和神经网络这两个词,好像就开始混为一谈了。其实,深度学习的核心就是神经网络,目前这两个词已经是可以互换使用的概念了。就是说,深度学习 = 神经网络。

但其实就在 10年前,人工智能之父的马文 · 明斯基并不看好通过深度学习这条技术路线,在他 2007年出版的 《The Emotion Machine》书中,依然表达了对神经网络的悲观。究其原因,是由于“三朵小乌云”,谷歌为了识别猫,消耗了16000 个处理器(CPU),内部总共 10亿个节点,早就超越了人类所能理解的范畴,人类根本无法得知这 10 亿个节点中具体发生了什么,更别说为了识别一只猫就需要一千万张猫图像的这么夸张的训练用的数据集,当时更是不知道从何而来。

柳暗花明又一村的故事,后来大家都知道了,在简单计算方面,GPU 比 CPU 拥有远为巨大的优势,谷歌的当时那 16000 个 CPU,赶不上两张英伟达GTX 580显卡。而神经网络又不断推陈出新,而数据集也不再是难题。

DALL·E 2024-04-14 21.48.01 - Create an image that captures the essence of greatness emerging from obscurity and misunderstanding. Visualize a vast, dark expanse symbolizing the 'b.webp

在深度学习所创造出来的人工智能应用百花齐放的今天,即便我们只是个普通人也拥有了巨大的潜力,因为无论谁都可以利用深度学习技术,以及所拥有的数据资源,来创造未知的巨大价值。

先别急着否定,不试试,你又怎么知道呢。让我们一点点前进,终会抵达那繁星点点。