寒冬
人们认识到,感知器算法只有在线性问题中可用,而现实生活中,大部分问题是非线性问题。神经网络的发展受到了搁置。
非线性问题的求解
人们认识到,非线性问题,可用非线性函数解决。因此在原有神经元模型上加入了激活函数(一个非线性函数)
若其不是一个非线性的函数,将会有以下结果
与单一的神经元没有任何区别
在早期的发展中,人们证明了阶跃函数可以解决所有的非线性问题。
定理:三层神经网络可以模拟所有的决策面
两层神经网络模拟三角形问题
多个神经元之间是“与”的关系。
两层神经网络模拟四边形问题
对于圆形或不规则的图形
可以用两层,无限个神经元来模拟(将其边缘看做无限个直线)
多个区域使用三层神经元模型模拟
第一次汇集是“与”的关系,第二次汇集是“或”的关系。
下图同理
多层神经网络的优势:
(1)基本单元简单,多个基本单元可扩展为非常复杂的非线性函数。因此易于构建,同时模型有很强的表达能力。
(2)训练和测试的计算并行性非常好,有利于在分布式系统上的应用。
(3)模型构建来源于对人脑的仿生,话题丰富,各种领域的研究人员都有兴趣,都能做贡献。
多层神经网络的劣势:
(1)数学不漂亮,优化算法只能获得局部极值,算法性能与初始值有关。
(2)不可解释。训练神经网络获得的参数与实际任务的关联性非常模糊。
(2)模型可调整的参数很多 (网络层数、每层神经元个数、非线性函数、学习率、优化方法、终止条件等等),使得训练神经网络变成了一门“艺术”。
(3)如果要训练相对复杂的网络,需要大量的训练样本。