奇点前夕?训练神经网路的神经网路即将普及

收藏:600

奇點前夕?訓練神經網路的神經網路即將普及

年初,Google Cloud平台发布了一项惊人的新产品:Cloud AutoML,顾名思义是Google AutoML这项技术的云端版本。自动化机器学习(Automated Machine Learning, AutoML)是一个研究如何自动化整个机器学习模型开发流程的领域,而Google AutoML正是Google针对该领域提出的解决方案,能运用机器来设计机器学习模型。

那幺,除了作为一项商业服务的价值,Cloud AutoML又为何引起嘱目呢?原来在Google AutoML初登场的Google I/O 2017大会上,Google执行长Sundar Pichai已经指出,该项目生成的图像识别模型,已经能与人类设计之模型的匹敌。

奇点与智能爆炸

比人类更强?这不免让人想到,无论在科技圈或科幻圈,对于人工智慧始终存在一个经典的预想,这个预想被称为科技奇点(Technology Singularity)。科技奇点指的是「科技进展将创造出超越人类智慧之机器的时间点」,在此临界时间点之后,科技将以现时人类无法理解的速度飞跃成长,人类历史将堂皇跨入下一个新纪元。更有未来学家Ray Kurzweil表示,2045年就是他认为的科技奇点[注1]。

另外,跟科技奇点紧密相连的概念之一是智能爆炸(Intelligence Explosion),也就是当能够超越人类智能之机器诞生,从此机器将能够设计出更多更好的机器,届时人类智慧将开始远远落后(毕竟机器又能设计出超越人类智能的机器,如此一来科技发展不就不需要人类了?)。这似乎正是Google AutoML在做的事,所以,科技奇点将要到来了吗?

AutoML技术领域的挑战

幸好,当Google将AutoML技术导入了自家云端平台的机器学习引擎上,成为他们云端平台上备受瞩目的新产品时,其实率先推出的只有针对视觉部分的AutoML Vision。而至今其它服务都尚未推出,所以我们还不必担心明天的世界会发生剧变。唯独不可忽略的是,这项技术的重要性在于机器学习工具的普及,以及训练成本的降低。

要谈AutoML领域,不能不先谈机器学习领域面临的问题。一般来说,机器学习需要四大元素:资料集、资料上的标记、数学模型、目标函数,其中,最难製作的可能是资料标记,因为需要整理的资料非常大量,却只能依靠人力进行,使得人事成本非常高。有人估计,光是标记每个模型的九万笔资料,成本可能就要花费超过两万五千美元,也就是约七十五万台币。不过,需要耗费更大心力,还不一定能找到的,反而是数学模型。因为数学模型有非常多的选择,光是以模仿人类神经网路为基础的模型,就有自编码器(Autoencoder)、感知器(Perceptron)、循环神经网路(RNN)、卷积神经网路(CNN)等等类别,各类别之下又有各种变形,类别之间还能有各式组合。

基于神经网路的机器学习,在选用一类神经网路之后,接下来还要决定神经网路模型的超参数(Hyperparameter) [注2]与架构(Architecture)[注3]。因为深度学习所用的神经网路层数较多,架构複杂,又因为各个超参数都需要人为决定,所以导致了可能解决问题的模型选项多到难以穷尽,神经网路往往只能在选定最终模型前耗费大量时间做试误。以往也只有累积多年经验的专家可能稍稍加速此过程,而且仍只能儘量找出较佳(而非最佳)的模型。

以上就是许多AutoML研究者们正试图克服的挑战 [注4],或许也是人类到达科技奇点之前,最需要越过的关卡。

Google AutoML的回应

究竟Google要如何提出解决方案呢?针对如何让机器自行设计神经网路模型的複杂问题,Google AutoML使用了如下解法:首先由一个控制器(本身是循环神经网路)产生一个子代的神经网路模型。这一步骤是由控制器生成一个不固定长度的字串,字串对应于拥有某种架构的子代神经网路 [注5]。然后这个子代的神经网路模型会被训练、评估表现。接着子代模型的準确率会作为回馈讯号返回控制器中,让控制器作出调整,产生另一个更好的神经网路模型。重複这个过程无数次以后,最终就能产生出拥有最佳準确率的模型。

而根据原论文,这个方法产生的图像识别模型,不只在某些资料集上能和人类设计的模型匹敌,甚至在另一些资料集上,就训练速度和準确率,双双胜过了人类现有技术下具有相似架构的模型。

这正是为什幺AutoML有望大幅降低机器学习的成本,并普及化机器学习工具。因为一旦这个方法能应用到更广大的整个机器学习领域,届时任何的机器学习问题都能运用类似的方法,由机器设计出模型,也因此,Cloud AutoML更显得有其价值——从此,任何团队将不再需要专家就能轻鬆运用机器学习技术。

AutoML领域及我们的未来

看过了Cloud AutoML的介绍、什幺是Cloud AutoML、Google AutoML面对的问题与採行的解法,再来要望向它的未来。但令人稍感意外的是,就近几个月来说,Google AutoML似乎暂时销声匿迹了,以国外论坛Reddit的讨论声音来看,甚至认为Google AutoML的成果可能被夸大了、AutoML只是老酒新装,这整个领域其实没有那幺大的进展,反而还有很长的路得走。目前我们大概只能凭藉想像,猜想着:在许久之后,我们将把所有的神经网路模型都交由机器生成?或是机器将能够自主演化,如同智能爆炸所预期的那样?

另一方面,Cloud AutoML作为商业服务,接续着Google首席科学家李飞飞提出的「AI民主化」概念,亦即设法降低使用门槛,让最大批的开发者、使用者、企业都能使用人工智慧技术,则似乎将成为未来人工智慧领域趋势。越来越多人可以直接使用机器学习这项技术,无非是令人乐见之事,也能够避免技术进步的成果被垄断在少数人手中的不公平。不过,这样的潮流能不能持续下去、能不能深化/扩散、未来会如何演变,还有待继续关注。

最后,值得留心的是,即使AutoML看似充满各种不可思议的可能,我们还是要记得机器学习不是魔法,「垃圾进,垃圾出(Garbage in, garbage out)」是机器学习领域的至理名言,纵然训练过程能被机器接手,又纵然机器有能力自动找出表现更好的模型,但没有好的训练资料,训练出的模型仍然只会是垃圾;同样地,如果我们丢进有偏见的资料,必然只会做出再製人类偏见的模型。

随着机器学习模型的开发越来越有效率,我们也应该越来越谨慎地设计机器,因为一旦我们越过了科技奇点,或许人类就再也没有路回头。未来世界将如何,一切都取决于我们如何穿梭跋涉,抵达奇点时的姿态。

注解:

[注1] 若你对科技奇点的主题感兴趣,我推荐纪录片《科技奇点》,该片曾就「科技奇点是否会到来」访问过诸多专家学者,带出了深刻的讨论与玄想。

[注2] 神经网路模型的设计流程大致如下,先决定神经网路模型的型态,然后训练模型、验证模型,最后调整模型。接着回到训练模型这一步骤,构成循环。

超参数即是在选定神经网路模型时已一併决定的参数,例如学习速率、训练的时间长度、神经元类型等,调整模型时,要调整的即是神经网路的超参数。相对地,机器学习的参数(Parameter)则是指在训练模型的过程中会被持续调整的神经连结权重等数值。

[注3] 架构指的是神经网路在空间上的型态,比如说神经元与神经元之间有多少连结、神经网路要有多少层。

[注4] 严格说来,AutoML处理的问题远比此广泛,因为要让机器学习能够自动化,还会遭遇资料预处理、特徵提取等等面向的问题。

[注5] 之所以使用不固定长度的字串代表子代神经网路,是为了尽可能表示出不同的神经网路型态,因为,若使用固定长度的字串,所能代表的架构将极为有限。不固定长度的字串更容易表示不同层数、不同连结方式的神经网路架构。


参考文献: