摘要: “天下武功,唯快不破”。欲速览无限风光,必攀险峰;欲速抵山底幽谷,则必滚陡坡。这滚山坡的道理,其实就是梯度递减策略,而梯度递减策略,则是BP算法成功背后的“男(ji)人(chu)”。想知道为啥,来一探究竟呗!
更多深度文章,请关注:https://yq.aliyun.com/cloud
系列文章:
一入侯门“深”似海,深度学习深几许(深度学习入门系列之一)
人工“碳”索意犹尽,智能“硅”来未可知(深度学习入门系列之二)
神经网络不胜语,M-P模型似可寻(深度学习入门系列之三)
“机器学习”三重门,“中庸之道”趋若人(深度学习入门系列之四)
Hello World感知机,懂你我心才安息 (深度学习入门系列之五)
损失函数减肥用,神经网络调权重(深度学习入门系列之六)
一年多前,吴军博士写了一本畅销书《智能时代》[1]。书里提到,在人工智能领域,有一个流派叫“鸟飞派”,亦称之为“模仿派”。说的是,当人们要学习飞翔的时候,最先想到的是模仿鸟一样去飞翔。
很多年前,印度诗人泰戈尔出了本《飞鸟集》,里面有个名句:“天空没有留下翅膀的痕迹,但我已经飞过”。有人对此解读为,“人世间,很多事情虽然做过了,却不为人所知,但那又如何?重要的是,我已做过,并从中获得了许多。”
两千多年前,司马迁在《史记•滑稽列传》写到:“此鸟不飞则已,一飞冲天;不鸣则已,一鸣惊人。”。说的是当年楚庄王在“势不眷我”时,选择了“蛰伏”。蛰伏,只是一个储势过程,迟早有一天,蓄势待发,“发”则达天。
这三者的情感交集,让我联想到出了本章的主人公杰弗里•辛顿(Geoffrey Hinton)教授,在学术界里,他就是这样的一个“励志”人物!
1986年,辛顿教授和他的小伙伴们重新设计了BP算法,以“人工神经网络”模仿大脑工作机理,“吻”醒了沉睡多年的“人工智能”公主,一时风光无限。
但“好花不常开,好景不常在”。当风光不再时,辛顿和他的研究方向,逐渐被世人所淡忘。
这被“淡忘”的冷板凳一坐,就是30年。
但在这30年里,辛顿又如“飞鸟”一般,即使“飞过无痕”,也从不放弃。从哪里跌倒,就从哪里爬起。实在不行,即使换个马甲,也要重过一生。
玉汝于成,功不唐捐。
终于,在2006年,辛顿等人提出了“深度信念网(Deep Belief Nets,DBN)”(这实际上就是多层神经网络的马甲)[2]。这个“深度信念网”后期被称为“深度学习”。终于,辛顿再次闪耀于人工智能世界,随后被封为“深度学习教父”。
但细心的读者可发现,即使辛顿等人提出了“深度信念网”,在随后的小10年里,这个概念亦是不温不火地发展着(如图1所示)。直到后期(2012年以后),随着大数据和大计算(GPU、云计算等)的兴起,深度学习才开始大行其道,一时间甚嚣尘上。
473387ba332c29a061579c612ecdcabd36b2d99a
图7-1 深度学习的谷歌趋势图
回顾起杰弗里•辛顿过往40多年的学术生涯,可谓是顾跌宕起伏,但最终修得正果。但倘若细细说起,这“牛逼”,还得从1986年吹起。
7.1 1986年的那篇神作
1986年10月,杰弗里•辛顿还在卡内基梅隆大学任职。他和在加州大学圣迭戈分校的认知心理学家大卫·鲁梅尔哈特(David Rumelhart)等人,在著名学术期刊《自然》上联合发表题为:“通过反向传播算法的学习表征(Learning Representations by Back-propagating errors)”的论文[3]。该文首次系统简洁地阐述反向传播算法(BP)在神经网络模型上的应用,该算法把网络权值纠错的运算量,从原来的与神经元数目的平方成正比,下降到只和神经元数目本身成正比。
与此同时,当时的大背景是,在八十年代末,Intel x86系列的微处理器和内存技术的发展,让计算机的运行速度和数据访存速度也比二十年前高了几个数量级。这一下(运算量下降)一上(计算速度上升),加之多层神经网络可通过设置隐含层 (hidden layer),极大增强了数据特征的表征能力,从而轻易解决感知机无法实现的异或门 (XOR gate)难题,这些“天时地利人和”的大好环境,极大缓解了当年明斯基对神经网络的责难。
于是,人工神经网络的研究,渐渐得以复苏。
http://click.aliyun.com/m/23532/
分享到:
相关推荐
在优化领域,共轭梯度法(Conjugate Gradient Method)和最速下降法(Steepest Descent Method)是两种广泛使用的无约束优化算法,主要用于寻找多元函数的全局最小值。梯度下降法则是一种简单但实用的一阶优化方法,...
梯度下降法是最早最简单,也是最为...梯度下降法的优化思想是用当前位置负梯度方向作为搜索方向,因为该方向为当前位置的最快下降方向,所以也被称为是”最速下降法“。最速下降法越接近目标值,步长越小,前进越慢。
梯度下降算法是一种在优化问题中广泛使用的迭代方法,尤其在机器学习和深度学习领域,用于寻找函数最小值。在MATLAB中实现梯度下降,我们可以编写一个名为`gradient_demo.m`的脚本来完成这个任务。这篇内容将详细...
梯度下降法是最速下降法的一个特例,它使用固定步长(也称为学习率)而不是每次迭代都进行线性搜索。尽管梯度下降法在某些情况下可能收敛较慢,但其简单性和计算效率使其在机器学习等领域广泛应用。 在实际应用中,...
二次梯度优化的最陡下降法MATLAB程序
动量梯度下降法的引入将使网络的权重更新更加平滑,更快地收敛到最优解。 为了实现这个BP网络并应用动量梯度下降法,我们需要完成以下步骤: 1. 初始化网络结构,包括输入层、隐藏层(如果有的话)和输出层的节点数...
最速下降梯度法matlab程序 最速下降梯度法matlab程序
投影梯度下降(Projection Gradient Descent,简称PGD)是一种在约束优化问题中广泛应用的算法。在机器学习和优化领域,我们经常遇到需要在特定区域内寻找最优解的问题,例如非负约束。在这种情况下,标准的梯度下降...
在实际应用中,梯度下降算法可以用于训练线性回归模型、逻辑回归模型,甚至是深度学习中的神经网络。它与牛顿法、拟牛顿法等优化算法相比,计算成本较低,但可能收敛速度较慢,尤其在非凸优化问题中可能会陷入局部...
回溯先搜索法梯度下降法与牛顿迭代算法结合的MATLAB例程
改进的最速梯度下降法,优于数值优化,matlab实现
机器学习监督学习算法,梯度下降、批梯度下降
在机器学习领域,尤其是神经网络的训练过程中,梯度下降是最常用的优化方法之一。 BP算法可以视为在多层神经网络中的梯度下降应用。当一个输入数据经过多层神经网络后,会产生一个预测输出。如果预测输出与实际目标...
本资源“shuzhidaishu.rar”显然包含了关于矩阵计算的一些关键方法,如共轭梯度法、最速下降法、梯度下降矩阵以及牛顿法。以下是对这些方法的详细阐述: 1. **共轭梯度法(Conjugate Gradient Method)**: 共轭...
基于梯度下降法RBF自适应神经网络控制
最速下降法,沿梯度下降的方法寻找最优解的经典方法
梯度下降法是优化算法中的核心方法,尤其在解决机器学习问题时,它被广泛应用于求解损失函数最小化的问题。在回归问题中,我们试图找到一条直线(或超平面),使得这条直线与所有数据点的误差(即预测值与实际值之差...
相比传统的梯度下降法,SGD每次迭代仅使用一个样本来更新参数,这使得它在大数据集上具有更快的收敛速度,但可能在全局最优解附近振荡,导致收敛精度稍低。 ARX模型的结构通常表示为: \[ y(k) = a_1u(k-1) + a_2u...
首先,梯度下降法是一种迭代优化算法,适用于求解无约束的连续可微函数的最小值。其基本思想是沿着函数梯度的反方向进行迭代,以期逐步接近极小值点。在MATLAB中,通常会定义一个目标函数和它的梯度函数,然后通过...