|

楼主 |
发表于 2023-4-29 19:04
|
显示全部楼层
深度学习和神经网络
在机器学习领域,正在研发的一种最重要的技术叫作“深度学习”。它有时以一种先知的姿态出现在人类面前,自动地、大规模地提供非凡的洞见。这种技术还有一个名称——“神经网络”,就好像这种方法能以某种方式自行捕获人类大脑的运行方式一样。
但事实并非如此。正如梅瑞迪斯·布鲁萨德所说,它的原理只是数学,甚至不是最新的数学。这一基本概念早在 20 世纪 50 年代末就出现了,从我 1985 年收到的那堆成人礼的礼物中,你也能看到与神经网络结构类似的东西。除了支票、几个圣杯和 20 多支高仕笔外,我还收到了父母送的也是我最想要的礼物——雅马哈 DX21 合成器,它至今还在我的家庭办公室里。早在 1985 年就能拥有一台合成器,而不是电子琴,这让我感到非常自豪。你不仅能用 DX21 合成器弹奏出钢琴、小号和小提琴的音色,还可以用它制作你想要的音色,前提是你能掌握那本 70 页说明书的晦涩内容,其中包含了很多如图 5 所示的图片。
图 5
每个“OP”盒子代表一个合成器波,你可以通过转动盒子上的旋钮,让声音变得更响亮、更柔和、随时间淡出或淡入,等等。这些都稀松平常,而 DX21 真正神奇的地方在于它和操作者之间的连接。图 5 展示了一个鲁布·戈德堡机械式的过程,从 OP1 发出的合成器波不仅取决于这个盒子上你可以转动的那些旋钮,还取决于 OP2 的输出。合成器波甚至可以自行调节,附属于 OP4 的“反馈”箭头代表的就是这种功能。通过转动每个盒子上的几个旋钮,你可以获得范围极其广泛的输出。这给了我尝试的机会,自己动手制作新的音色。
神经网络跟我的合成器很像,它是由几个小盒子构成的网络,如图 6 所示。
图 6
所有盒子的功能都相同:如果输入一个大于或等于 0.5 的数字,它们就会输出 1 ;否则,它们就会输出 0 。用这种盒子作为机器学习基本元素的想法,是在 1957—1958 年由心理学家弗兰克·罗森布拉特(Frank Rosenblatt)提出来的,他视其为神经元工作原理的一个简单模型。盒子静静地待在那里,一旦接收到的刺激超过某个阈值,它就会发射一个信号。罗森布拉特把这类机器称作“感知机”(Perceptrons)。为了纪念这段历史,我们仍然称这些假神经元网络为“神经网络”,尽管大多数人不再认为它们是在模拟人类的大脑硬件。
数字一旦从盒子中输出,就会沿着盒子右侧的任意箭头运动。每个箭头上都有一个叫作“权重”的数字,当输出沿箭头呼啸而过时,就会乘以相应的权重。每个盒子把从其左侧进入的所有数字加总,并以此作为输入。
每一列被称为一层,图 6 中的网络有两层,第一层有两个盒子,第二层有一个盒子。你先向这个神经网络输入两个数字,分别对应第一层的两个盒子。以下是有可能发生的情况:
1. 两个输入都不小于 0.5 。第一层的两个盒子都输出 1 ,当这两个数字沿着箭头移动时,都变为 1/3 ,所以第二层的盒子接收到 2/3 作为输入,并输出 1 。
2. 一个输入不小于 0.5 ,另一个输入小于 0.5 。那么,两个输出分别是 1 和 0 ,所以第二层的盒子接收到 1/3 作为输入,并输出 0 。
3. 两个输入都小于 0.5 。那么,第一层的两个盒子都输出 0 ,第二层的盒子也输出 0 。
换句话说,这个神经网络是一台机器,它接收到两个数字作为输入,并告诉你它们是否都大于 0.5 。
图 7 是一个略显复杂的神经网络。
图 7
该神经网络的第一层有 51 个盒子,它们都向第二层的那个盒子输入数字。但箭头上的权重不同,最小的权重为 3/538 ,最大的权重为 55/538 。这台机器在做什么?它将 51 个不同的数字作为输入,并激活每个输入大于 0.5 的盒子。然后,它对这些盒子进行加权计算,检验它们的和是否大于 0.5 。如果是,就输出 1 ;如果不是,则输出 0 。
我们可以把它称作“两层罗森布拉特感知机”,但它还有一个更常用的名称——“选举人团制度”。51 个盒子代表美国的 50 个州和华盛顿特区,如果共和党候选人在某个州获胜,代表该州的盒子就会被激活。把所有这些州的选举人票数加总后除以 538 ,如果结果大于 0.5 ,共和党候选人就是赢家。
图 8 是一个更现代的例子,它不像选举人团制度那样易于用语言来描述,但它与驱动机器学习不断进步的神经网络更加接近。
图 8
图 8 中的盒子比罗森布拉特感知机的盒子更精致。盒子接收到一个数字作为输入,并输出该数字和 0 中较大的那个。换句话说,如果输入是一个正数,盒子就会原封不动地输出这个数字;但如果输入是一个负数,盒子就会输出 0 。
我们来试试这个装置(见图 9 )。假设我先向最左边一层的两个盒子分别输入 1 和 1 。这两个数字都是正数,所以第一层的两个盒子都会输出 1 。再来看第二层,第一个盒子接收到的数字是 1×1 = 1 ,第二个盒子接收到的数字是 -1×1 = -1 。同理,第二层的第三个盒子和第四个盒子接收到的数字分别是 1 和 -1 。1 是正数,所以第一个盒子输出 1 。但第二个盒子接收到的输入是一个负数,未能被触发,所以它输出 0 。同样地,第三个盒子输出 1 ,第四个盒子输出 0 。
图 9
接着看第三层,上面的盒子接收到的数字是 1×1+3×0+2×1+1×0=3 ,下面的盒子接收到的数字是 3×1−1×0−5×1−1×0=−2 。所以,上面的盒子输出 3 ,下面的盒子未能被触发,输出 0 。最后,第四层的那个盒子接收到的两个输入之和为 1×3+1×0=3 。
即使你未关注到这些细节,也没有关系。重要的是,神经网络是一个策略,它接收到两个数字作为输入,并返回一个数字作为输出。如果你改变箭头上的权重,也就是说,如果你转动 14 个旋钮,就会改变这个策略。图 9 为你提供了一个十四维空间,让你根据既有的数据从中找出最适合的策略。如果你觉得很难想象出十四维空间的样子,我建议你听从现代神经网络理论的创始人之一杰弗里·辛顿(Geoffrey Hinton)的建议:“想象一个三维空间,并大声对自己说‘这是十四维空间’。所有人应该都能做到这一点。”辛顿来自一个高维空间爱好者家族,他的曾祖父查尔斯在 1904 年写了一本关于如何想象四维立方体的书,并发明了“超立方体”(tesseract)一词来描述它们。不知道你有没有看过西班牙画家萨尔瓦多·达利的油画作品《受难》,其中就有一个辛顿的超立方体。
图 10 中这个神经网络的权重已知,如果平面上的点 (x,y) 位于灰色形状内部,就赋予它一个等于或小于 3 的值。注意,当点 (1,1) 位于灰色形状的边界上时,策略赋予它的值是 3 。
图 10
不同的权重会产生不同的形状,虽然不是任意形状。感知机的本质意味着这个形状永远是多边形,即边界由多条线段构成的形状。(前文中不是说这应该是非线性的吗?没错,但感知器是分段线性(piecewise linear)结构,这意味着它在空间的不同区域内满足不同的线性关系。更通用的神经网络可以产生更弯曲的结果。)
如图 11 所示,假设我用 X 标记了平面上的一些点,用 O 标记了其他一些点。我给机器设定的目标是让它习得一个策略:根据我标记的那些点,用 X 或 O 为平面上其他未标记的点赋值。也许(希望如此)我可以通过正确设置那 14 个旋钮得到某个策略,将较大的值赋予所有标记为 X 的点,而将较小的值赋予所有标记为 O 的点,以便我对平面上尚未标记的点做出有根据的猜测。如果真有这样的策略,我希望可以通过梯度下降法来习得它:微微转动每个旋钮,看看这个策略在给定例子中的错误分数会降低多少,从中找出效果最佳的那个操作,并付诸实施;重复上述步骤。深度学习中的“深度”仅指神经网络有很多层。每层的盒子个数被称为“宽度”(width),在实践中,这个量可能也很大。但相比“深度学习”,“宽度学习”少了一些专业术语的味道。
可以肯定的是,今天的深度学习网络比上文中的那些示意图要复杂得多,盒子里的函数也比我们讨论过的简单函数要复杂得多。递归神经网络中还包含反馈盒子,就像我的 DX21 合成器上的“OP4”一样,把自身的输出作为输入。而且,它们的速度明显更快。正如我们所见,神经网络的概念已经存在很长时间了,我记得就在不久前,人们还认为这条路根本走不通。但事实证明,这是一个很好的想法,只不过硬件必须跟上概念的步伐。为快速渲染游戏画面而设计的 GPU 芯片,后来被证明是快速训练大型神经网络的理想工具,有助于实验人员提升神经网络的深度和宽度。有了现代处理器,你就不必再受限于 14 个旋钮,而可以操控几千、几百万乃至更多的旋钮。GPT-3 生成的英语文本能以假乱真,它使用的神经网络有 1750 亿个旋钮。
有 1750 亿个维度的空间听起来的确很大,但和无穷大相比,这个数量又显得微不足道。同样地,与所有可能的策略构成的空间相比,我们正在探索的只是其中很小的一部分。但在实践中,这似乎足以生成看起来像人类创作的文本,就好比 DX21 的小型网络足以模拟出小号、大提琴和太空霹雳的音色。
这已经非常令人惊讶了,但还有一个更深层次的谜。记住,梯度下降法的理念就是不断转动旋钮,直到神经网络能在训练过的数据点上取得尽可能好的效果。今天的神经网络有许许多多旋钮,所以它们常能做到在训练集上表现完美,把 1000 幅猫图片中的每一幅都识别为“猫”,而把 1000 幅其他图片全部识别为“非猫”。
事实上,有这么多的旋钮可以转动,让训练数据百分之百正确的所有可能策略就会构成一个巨大的空间。事实证明,当神经网络面对它从未见过的图片时,这些策略中的大多数都表现得很糟糕。但是,蠢笨又贪婪的梯度下降过程出现在某些策略中的频率通常高于其他策略,而在实践中,梯度下降法偏爱的那些策略似乎更容易推广到新的例子中。
为什么呢?是什么使得这种特殊形式的神经网络擅长应对各种各样的学习问题?我们在策略空间中搜索的这块微不足道的区域,为什么恰恰就包含了一个好的策略呢?
据我所知,它是一个谜。坦白地说,关于它是不是一个谜的问题,还存在很多争议。我向很多声名显赫的人工智能研究者提问过这个问题,他们回答起来个个口若悬河。其中一些人非常自信地解释了其中的原因,但每个人的说法都不一样。
作者简介
乔丹·埃伦伯格(Jordan Stuart Ellenberg,1971 -),美国数学家,1998 年获哈佛大学博士学位,现任威斯康星大学麦迪逊分校 John D. MacArthur 教授;主要研究方向代数几何和数论。曾获多项科学传播奖项,出版《魔鬼数学》(How Not to Be Wrong),《几何学的力量》(Shape),小说 The Grasshopper King 等,作品常见于《华尔街日报》《纽约时报》,Slate, Wired 等。
本文节选自《几何学的力量》(中信出版社·鹦鹉螺,2023.3)第七章《机器学习如登山》,有删减。
原创 乔丹·艾伦伯格 返朴 2023-04-28 08:03 发表于湖南 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|