第一代神经网络:感知器(~1960)
感知器(Perceptrons,常说的感知器一般就是典型的二元分类)使用一层手编(Hand-coded)特征,通过学习如何给这些特征加权来识别对象。
感知器的优点:调整权值的学习算法很简洁。
感知器的缺点:感知器一些先天的缺陷,导致它们可以学习的东西大大地受限。
Vapnik和他的同事们发明了大名鼎鼎的支持向量机(SVM),改进了感知器的一些缺陷(例如创建灵活的特征而不是手编的非适应的特征),并得到了广泛的应用。但是归根到底,它还是一种感知器,所以无法避免感知器的先天限制。
补充:定义上来说,感知器是人工神经网络一部分(可以理解成神经元),感知器很好理解,当成神经元理解,就是输出为“兴奋”(1)和“抑制”(0)的玩意,这个玩意具体是什么,随便你。神经网络可以看作n多个感知器堆起来的玩意。
从这个角度上来说,SVM可以作为一个感知器,有些人用SVM当感知器做神经网络解决现实问题,感兴趣你可以搜搜。但是感知器却不只有SVM这种。
相似之处的话,SVM和感知器大多数时候都用来解决经典的二元线性分类问题,但是事实上虽然SVM解决二元分类这种经典问题肥肠好用,但是SVM也可以用选选核,升维降维这些杂七杂八的方法解决一下非线性的问题……而常说的感知器一般就是典型的二元分类(不过你要是把感知器理解成一个神经元单位,你还是可以选核)。
第二代神经网络:BP(反向传播,Back-propagate)神经网络(~1985)
BP神经网络通常使用梯度法来修正权值。
BP并不是一种很实用的方法。原因有三:
1、它需要被标记的训练数据,但是几乎所有的数据都是未标记的。
2、学习时间不易衡量,在多层网络中,速度非常慢。
3、它陷入局部极小点而不收敛的情况极大。
第三代神经网络
最近的神经科学研究表明,和人类的许多认知能力相关的大脑皮层,并不显式地预处理感知信号,而是让它们通过一个复杂的模块层次结构,久而久之,就可以根据观察结果呈现的规律来表达它们。
这一发现促进了深机器学习(DML, Deep Machine Learning)的发展。DML关注的恰恰正是是信息表达的计算模型,和大脑皮层类似。
目前DML领域有两种主流的方法:
Convolutional Neural Networks
Deep Belief Networks