机器学习与人工神经网路(二):深度学习(Deep Learning)

ImageNet 是一个致力推动电脑视觉 (Computer Vision) 相关研究的组织,其收录了千万张照片,每一张都手动标明照片内的物品。 ImageNet 每年都举办影像辨识竞赛,来自各国学界和业界的团队在其中一较高下,看谁的人工智慧最能准确地标注照片。 2012 年之前,主宰排行榜的团队主要都是使用经典的影像处理方法,分析并比较照片中的某些特征。 2012 年,来自加拿大的团队采用「深度学习」,将错误率从 26% 大幅下拉至 16% [参1],成为当年冠军。像一阵旋风一样,从此大部分的团队改用深度学习。如今,深度学习缔造了 3.6% 的佳绩,甚至比人脑的辨识率还要高!

●深度学习(Deep Learning)是什么?

广泛地说,深度学习是指具有层次性的机器学习法,能透过层层处理将大量无序的讯号渐渐转为有用的资讯并解决问题。但通常提到深度学习,人们指的是一种特定的机器学习法─「深度神经网路」(Deep Neural Network)。

在同系列的文章我们曾经介绍过人工神经网路原理,它包含许多神经元,有些负责接受资料,有些负责传递资料。以手写数字辨识为例,这个神经网路包含三层神经元,除了输入和输出层外,中间有一层隐藏层(意指不参与输入或输出,隐藏于内部),传递并处理资料。其实,隐藏层可以有一层以上,而复数个隐藏层的神经网路通常被称为深度神经网路 [注1]。图一B是一个深度神经网路示意图,也许只有两个隐藏层看起并没有很深,但在实务上神经网路可以高达数十层至数百层,非常具有「深度」。
●为什么需要深度?

从手写数字辨识的例子中,我们提到的一个单一隐藏层的简单神经网路就能达到97%以上的准确率,若加以改进,甚至能达到99%以上 [参2]。为何辨识照片经过多年的努力还是只有接近97%的正确率呢?首先,相较于只有28*28个像素的手写数字,照片通常有500*500个像素。再者,手写数字中每个像素只有0和1两种可能,但照片却有256种,而且RGB三色都需要这么多。最后,数字只有0到9共10种可能性,而照片里面的物品可以是任意的,几乎有无限多的可能性。不管是输入或是输出,变数都巨大许多,也因此,我们需要尺度更大的神经网路。

尺度越大,代表的是神经网路中的神经元需要更多,但不一定代表需要更深的网路。同样100个神经元,我们可以将它分为1层100个神经元,也可以分成10层10个神经元。科学家曾做过实验,在一个语音辨识的测验中,无论是浅的或深度神经网路,辨识率都随着神经元数目的增加而成长。但是在相同数目的神经元时,深度神经网路的表现总是比较好 [参3],因此获得广泛应用。

●深度学习背后的秘密

其实,数学上可以证明,如果我们有无限多个神经元,任何深度神经网路都可以等效于一个单层的神经网路。但你我都知道,现实世界中不存在「无限」个神经元。实务上,神经元越少越能降地计算成本,而深度学习能在这一点上帮助我们。

许多数学家曾尝试解释为什么多层通常比单层好,至今仍没有定论。美国哈佛大学和麻省理工学院物理系教授 Henry Lin 及 Max Tegmark 提出一个猜想 [参4],认为这和对称性与结构性有关。大自然充满着结构性:历史由人构成,人由细胞组成,细胞由原子组成。在每一个阶级都有不同的特征,需要不同的理论来描述。就像尽管我们找出物理中的大统一理论,仍不能用此解释川普为什么会当选,而是需要政治学和社会学。

单层网路就像大统一理论,深度结构就像现有的学科架构。大自然也充满着对称性,例如在辨识人脸时,可以利用人的左右对称。在单层的神经网路,左眼和右眼会被当作不相干的东西分开处理。但在深度学习中,神经网路可能就以眼睛作为一个特征来比较,大大简化计算的复杂度。这两位教授认为,深度学习因为具有这些特质(图二),相较于单层结构是一个比较接近自然的结构,所以表现优良。
深度学习是具有多层结构的人工神经网路,除了语音和影像辨识之外,已被广泛运用在文字翻译、线上广告、推荐系统……等。几个月前战胜韩国围棋大师李世石的 Google AlphaGo 也运用了深度学习。我们之后会讨论到 Google AlphaGo 中使用的人工神经网路相关技术。

发表评论

电子邮件地址不会被公开。 必填项已用*标注