雨枫轩 > 雨枫书屋 > 经典评论 >

风靡的“深度学习”只有这一刷子了?

风靡的“深度学习”只有这一刷子了?

“科学的每一次进步,都是一场葬礼。”埋葬的,是我们曾为之欢呼的上一次伟大进步。
 
最近一次听到普朗克这句名言,是在九月中旬多伦多的一个AI研讨会上。被称为本轮AI革命之父的辛顿教授在接受AXIOS采访时,扔出了一枚炸弹:
 
“我们应该把这一切都扔掉,从头开始。”
 
“未来的希望将在一批对我说过的一切表示极度怀疑的青年学生身上。”
 
他所说的一切,便是支撑了近十年来AI爆发所仰仗的“反向传播”,而人们耳熟能详的时髦术语“深度学习”以及“神经网络”,说的都是它。
 
 
1986年,辛顿和他的两位研究伙伴共同发表了一篇论文,当人们对论文所展示的理论纷纷质疑并放弃时,他一直坚持;而今天, “深度学习”一举成为最热门的技术之一了,多少有志青年开始昼夜学习神经网络、反向传播......他却说,是时候开辟一条新路了。
 
上世纪八十年代的辛顿,已经是一名神经网络专家。这里说的神经网络,指的是极度简化后的人类大脑模型。那个时候,它基本上被认定是AI研究领域的死胡同,走不通。
 
在那之前,MIT的怪才马尔文·明斯基(Marvin Minsky)在他与另一位人工智能先驱西摩·帕普特(Seymour Papert)合著的一本名为《感知机》(Perceptrons)的书中提出了早期的神经网模型,书中同时也从数学角度证明,它只能执行最基本的功能。但那时是六十年代末,这本书以及它所代表的成果已足以被学术界欢呼,被认为是机器智能向人类智能迈出的第一步。
 
明斯基的感知机,只有两层神经元:输入和输出。若在输入和输出之间,加上更多中间层的网络,从理论上来说,就可以解决大量的问题。可难点在于,没人知道怎么训练这样的网络,因此从实践层面来看,大家都认为它没什么用......除了几个不信邪的,比如辛顿,而其他人都从整体上彻底放弃了神经网。
 
辛顿的破冰,发生在1986年,距离明斯基提出感知机的概念,已经过去了17年。他证实了“反向传播”(back-propagation)在训练深度神经网上的有效,也就是说,在感知机的基本输入和输出层之间,可以加上一些中间层,并且能通过这个机制得到有效训练。
 
然而受制于硬件所能够提供的计算能力,“深度学习”的真正起飞,却又过了26年。
 
2012年辛顿与他在多伦多大学的两名学生发表的一篇文章,标志了这个突破。在世界眼里,AI是一夜之间忽然发生的奇迹,而对辛顿而言,那是延期到来的成果。
 
“深度学习”这个名字,来源于神经网络的“层”,层数多了,是为“深度”。每一层,由一个又一个并不太智能的神经元组成,这些“神经元”,就像人类的神经元一样,可以因为“接受刺激”而兴奋,再把这个“兴奋”传递给与之相邻的神经元。每一个兴奋程度,用数字,例如0.69或者87.52来表示。除此之外,还有另一个很重要的数字,用来表明两个神经元之间的连接中,有多少“兴奋”将得以传递。这第二个数字,旨在模拟真正的大脑神经元“触突”的强度,数字越高,能被传递的“兴奋”就越多。
 
那反向传播又是怎么回事呢?它是目前公认最有效的智能实现方法,但前提是得有大量的数据。这也解释了为什么大数据如此重要,为什么那些互联网巨头对数据如此饥渴。
 
以图像识别为例。这时的数据,就是位于一个神经网络内不同“层”里的成百上千万张图片。如果目的是要训练某个神经网,让它学会认猫,那么这些训练图片就包括两种,有猫的和没猫的。更关键的,每张图片都需要有相应标识。一开始建立这样一个神经网时,神经元之间的连接权重,也就是前文所说的代表“有多少兴奋将得到传递”的那个数字,通常是随机的。这就好像大脑神经元的“触突”尚未经过调试。而反向传播的目的,就是要调整这些权重数值,使这个网络按我们所希望的模式去工作:让最上面那一层(输出层)里有猫的图片变得“兴奋”。
 
第一张用来训练这个神经网的图片上,比如说是一个花盆,你把这张像素为100x100的图片转化为10,000 个数字,每一个数字分给网络第一层的神经元,然后就让这些数字所代表的“兴奋”,按照连接权重,向与它们相邻层的神经元传递,最终传到最上面一层,也就是输出层。这一层只有两个神经元:有猫的和没猫的。理想的结果是,没猫的神经元得到兴奋值为零,而有猫的神经元得到一个很高的兴奋值。
 
但事情哪能这么理想呢?假定神经网第一次给出了错误的答案。这时“反向传播”就出场了。它主要的动作,就是重新分配连接权重(再次勾重点,神经网里一共只有两类重要数字:每个神经元的“兴奋”值,和连接权重),其目的,是为每一个训练样本纠错。
 
这个过程从最上面这一层,也就是输出层的两个神经元开始,比较各自理想的兴奋值,与实际得到的兴奋值之间的差别。再回溯到与之相连的下一层,看那里的每个神经元对这个错误结果的贡献有多大,重复这个动作,一直回溯到最底层。这时你知道错误主要发生在哪些连接上了。于是开始修正这些连接权重,直到该网络可以准确地将这张花盆照片识别为:没有猫。
 
这种从输出开始,将错误结果一层层回退,就叫“反向传播”。
 


作品集
相关文章: