神经网络发展简介

2021年6月28日 / 15次阅读 / Last Modified 2021年6月28日
神经网络

1, 1958年,心理学家Rosenblatt提出了由两层神经元组成的神经网络(只有输入和输出层),起名“感知器”(Perceptron),轰动一时。这是第一个可以进行学习的人工神经网络,美国军方大力资助神经网络的研究,并一度认为其比原子弹工程更重要;

The initial idea of the perceptron dates back to the work of Warren McCulloch and Walter Pitts in 1943, who drew an analogy between biological neurons and simple logic gates with binary outputs. In more intuitive terms, neurons can be understood as the subunits of a neural network in a biological brain. Here, the signals of variable magnitudes arrive at the dendrites. Those input signals are then accumulated in the cell body of the neuron, and if the accumulated signal exceeds a certain threshold, a output signal is generated that which will be passed on by the axon.

2, Perceptron之后没几年,60年代初期,出现了Adaline(Adaptive Linear Neurons),摒弃了伐值型的神经元,采用连续的sigmoidal函数,并且,梯度下降的概念问世。不过Adaline也是只有输入层和输出层,没有hidden layer。

3, 1969年人工智能领域巨擘Minsky出版《Perceptron》一书,用详细的数学推导证明了(单层)感知器的弱点,即只能做线性分类任务,尤其是对于XOR(异或)这样简单的分类任务都无法求解,并且Minsky认为如果将计算层增加为两层,计算量过大,并且没有找到有效的学习算法,因此它认为研究更深层的神经网络是没有意义的(dead end),这把神经网络的研究带入了冰河期,许多学者也放弃神经网络的研究方向;(看来大部分学着也是喜欢跟随)。

Rosenblatt further developed the artificial neuron to give it the ability to learn. Even more importantly, he worked on building the first device that actually used these principles, the Mark I Perceptron. In "The Design of an Intelligent Automaton" Rosenblatt wrote about this work: "We are now about to witness the birth of such a machine–-a machine capable of perceiving, recognizing and identifying its surroundings without any human training or control." The perceptron was built, and was able to successfully recognize simple shapes.

An MIT professor named Marvin Minsky (who was a grade behind Rosenblatt at the same high school!), along with Seymour Papert, wrote a book called _Perceptrons_ (MIT Press), about Rosenblatt's invention. They showed that a single layer of these devices was unable to learn some simple but critical mathematical functions (such as XOR). In the same book, they also showed that using multiple layers of the devices would allow these limitations to be addressed. Unfortunately, only the first of these insights was widely recognized. As a result, the global academic community nearly entirely gave up on neural networks for the next two decades.

4, 1986年,Rumelhar和Hinton等人重新发表了反向传播(Back Propagation,BP)算法(这个算法很早就有了,只是没有被很多人注意到),减少了多层神经网络所需要的计算量,从而带动了业界使用多层神经网络研究的热潮,同时理论证明多层的神经网络可以无限逼近任何连续函数(universal approximator),带来了神经网络的又一春;(含hidden layer的神经网络,总是被认为比只有输入层和输出层结构要好,其中一个原因就是Minsky提出的perceptron不能学习XOR功能,但是如果还有hidden layer后,学习XOR就可以实现了;多层网络被认为具有一定的feature extraction功能,可以output layer更好的学习)

In the 1980's most models were built with a second layer of neurons, thus avoiding the problem that had been identified by Minsky and Papert (this was their "pattern of connectivity among units," to use the framework above). And indeed, neural networks were widely used during the '80s and '90s for real, practical projects. However, again a misunderstanding of the theoretical issues held back the field. In theory, adding just one extra layer of neurons was enough to allow any mathematical function to be approximated with these neural networks, but in practice such networks were often too big and too slow to be useful.

Although researchers showed 30 years ago that to get practical good performance you need to use even more layers of neurons, it is only in the last decade that this principle has been more widely appreciated and applied. Neural networks are now finally living up to their potential, thanks to the use of more layers, coupled with the capacity to do so due to improvements in computer hardware, increases in data availability, and algorithmic tweaks that allow neural networks to be trained faster and more easily. We now have what Rosenblatt promised: "a machine capable of perceiving, recognizing, and identifying its surroundings without any human training or control."

5, 尽管使用了BP算法,训练依然十分耗时,而且困扰训练优化的一个问题就是局部最优解问题,这使得神经网络的优化较为困难。同时,隐藏层的节点需要调参,这使得算法的使用也不太方便,工程和研究人员对此多有抱怨;

6, 20世纪90年代中期,由Vapnik等人发明的SVM(Support Vector Machines,支持向量机)算法诞生,很快就在若干个方面体现出了对比神经网络的优势:无需调参、高效、局部最优解。基于以上种种理由,SVM迅速打败了神经网络算法成为主流,神经网络再次陷入冰河期;

7, 在被人摒弃的十多年中,有几个学者仍然在坚持研究。这其中就有加拿大多伦多大学的Geoffery Hinton教授。2006年Hinton提出“深度信念网络”,通过pre-training和fine-tuning两个技术大幅减少了神经网络训练时间,并赋予其一个新的名字“深度学习”;

8, 2016年3月9日,世界记住了AlphaGo,神经网络和深度学习。

浅层学习和深度学习

在机器学习发展分为两个部分, 浅层学习(Shallow Learning)和 深度学习(Deep Learning)。浅层学习起源上世纪20年代人工神经网络的反向传播算法(Back-propagation)的发明,使得基于统计的机器学习算法大行其道,虽然这时候的人工神经网络算法也被称为多层感知机(Multiple layer Perception),但由于多层网络训练困难,通常都是只有一层隐含层的浅层模型。

神经网络研究领域领军者Hinton在2006年提出了神经网络Deep Learning算法,使神经网络的能力大大提高,向支持向量机(SVM)发出挑战。

2006年,机器学习领域的泰斗 Hinton和他的学生 Salakhutdinov在顶尖学术刊物《Science》上发表了一篇文章,开启了 深度学习在学术界和工业界的浪潮。

这篇文章有两个主要的讯息:

1)很多隐层的人工神经网络具有优异的特征学习能力,学习得到的特征对数据有更本质的刻划,从而有利于可视化或分类;

2)深度神经网络在训练上的难度,可以通过“逐层初始化”( layer-wise pre-training)来有效克服,在这篇文章中,逐层初始化是通过无监督学习实现的。

Hinton的学生Yann LeCun的LeNets深度学习网络可以被广泛应用在全球的ATM机和银行之中。同时,Yann LeCun和吴恩达等认为卷积神经网络允许人工神经网络能够快速训练,因为其所占用的内存非常小,无须在图像上的每一个位置上都单独存储滤镜,因此非常适合构建可扩展的深度网络,卷积神经网络因此非常适合识别模型。

2015年,为纪念人工智能概念提出60周年, LeCun、Bengio和Hinton推出了深度学习的联合综述。

深度学习可以让那些拥有多个处理层的计算模型来学习具有多层次抽象的数据的表示。这些方法在许多方面都带来了显著的改善,包括最先进的语音识别、视觉对象识别、对象检测和许多其它领域,例如药物发现和基因组学等。深度学习能够发现大数据中的复杂结构。它是利用BP算法来完成这个发现过程的。BP算法能够指导机器如何从前一层获取误差而改变本层的内部参数,这些内部参数可以用于计算表示。深度卷积网络在处理图像、视频、语音和音频方面带来了突破,而递归网络在处理序列数据,比如文本和语音方面表现出了闪亮的一面。

当前统计学习领域最热门方法主要有Deep Learning和SVM(support vector machine),它们是统计学习的代表方法。可以认为神经网络与支持向量机都源自于感知机。

神经网络与支持向量机一直处于“竞争”关系。SVM应用核函数的展开定理,无需知道非线性映射的显式表达式;由于是在高维特征空间中建立线性学习机,所以与线性模型相比,不但几乎不增加计算的复杂性,而且在某种程度上避免了“维数灾难”。而早先的神经网络算法比较容易过训练,大量的经验参数需要设置;训练速度比较慢,在层次比较少(小于等于3)的情况下效果并不比其它方法更优。

神经网络模型貌似能够实现更加艰难的任务,如目标识别、语音识别、自然语言处理等。但是,应该注意的是,这绝对不意味着其他机器学习方法的终结。尽管深度学习的成功案例迅速增长,但是对这些模型的训练成本是相当高的,调整外部参数也是很麻烦。同时,SVM的简单性促使其仍然最为广泛使用的机器学习方式。

-- EOF --

本文链接:https://www.pynote.net/archives/3741

留言区

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


前一篇:
后一篇:

More


©Copyright 麦新杰 Since 2019 Python笔记

go to top