深层神经网络结构及可能存在的致命问题详解

Posted 孙飞 Sunface

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深层神经网络结构及可能存在的致命问题详解相关的知识,希望对你有一定的参考价值。

Logistic回归、传统多层神经网络

1.1 线性回归、线性神经网络、Logistic/Softmax回归

线性回归是用于数据拟合的常规手段,其任务是优化目标函数: h(θ)=θ+θ1x1+θ2x2+....θnxn h θ θ θ 1 x 1 θ 2 x 2 θ n x n

线性回归的求解法通常为两种:

①解优化多元一次方程(矩阵)的传统方法,在数值分析里通常被称作”最小二乘法",公式 θ=(XTX)1XTY θ X T X 1 X T Y

②迭代法:有一阶导数(梯度下降)优化法、二阶导数(牛顿法)。

方程解法局限性较大,通常只用来线性数据拟合。而迭代法直接催生了用于模式识别的神经网络诞生。

最先提出Rosenblatt的感知器,借用了生物神经元的输入-激活-传递输出-接受反馈-矫正神经元的模式,将数学迭代法抽象化。

并且在线性回归输出的基础上,添加了输出校正,通常为阶跃函数,将回归的数值按正负划分。

为了计算简单,此时梯度下降优化法被广泛采用,梯度优化具有计算廉价,但是收敛慢的特点(一次收敛,而牛顿法是二次收敛)。

为了应对精确的分类问题,基于判别概率模型 P(Y|X) P Y X 被提出,阶跃输出被替换成了广义的概率生成函数Logistic/Softmax函数,从而能平滑生成判别概率。

这三个模型,源于一家,本质都是对输入数据进行线性拟合/判别,当然最重要的是,它们的目标函数是多元一次函数,是凸函数

1.2 双层经典BP神经网络

由Hinton协提出多层感知器结构、以及Back-Propagation训练算法,在80年代~90年代鼎盛一时。

经过近20年,即便是今天,也被我国各领域的CS本科生、研究生,其他领域(如机械自动化)学者拿来吓唬人。

至于为什么是2层,因为3层效果提升不大,4层还不如2层,5层就太差了。[Erhan09]

这是让人大跌眼镜的结果,神经网络,多么高大上的词,居然就两层,这和生物神经网络不是差远了?

所以在90年代后,基于BP算法的MLP结构被机器学习界遗弃。一些新宠,如决策树/Boosing系、SVM、RNN、LSTM成为研究重点。

1.3 多层神经网络致命问题:非凸优化

这个问题得从线性回归一族的初始化Weight说起。线性家族中,W的初始化通常被置为0。

如果你曾经写过MLP的话,应该犯过这么一个错误,将隐层的初始化设为0。

然后,这个网络连基本的异或门函数[参考]都难以模拟。先来看看,线性回归和多层神经网络的目标函数曲面差别。

线性回归,本质是一个多元一次函数的优化问题,设 f(x,y)=x+y f x y x y

多层神经网络(层数K=2),本质是一个多元K次函数优化问题,设 f(x,y)=xy f x y x y

值得一提的是,SVM是个K=2的神经网络,但是Vapnik转换了目标函数,将二次优化变成了二次规划。

相对于盲目搜索的优化问题,规划问题属于凸优化,容易搜到精确解。但是缺陷是,没人能将三次优化变成三次规划。

也就是说,K>=3的神经网络,如果训练到位,是可以轻松超越SVM的。

在线性回归当中,从任意一个点出发搜索,最终必然是下降到全局最小值附近的。所以置0也无妨。

而在多层神经网络中,从不同点出发,可能最终困在(stuck)这个点所在的最近的吸引盆(basin of attraction)。[Erhan09, Sec 4.2]

吸引盆一词非常蹩脚,根据百度的解释:它像一个汇水盆地一样,把处于山坡上的雨水都集中起来,使之流向盆底。

其实就是右图凹陷的地方,使用梯度下降法,会不自觉的被周围最近的吸引盆拉近去,达到局部最小值。此时一阶导数为0。从此训练停滞。

局部最小值是神经网络结构带来的挥之不去的阴影,随着隐层层数的增加,非凸的目标函数越来越复杂,局部最小值点成倍增长。[Erhan09, Sec 4.1]

因而,如何避免一开始就吸到一个倒霉的超浅的盆中呢,答案是权值初始化。为了统一初始化方案,通常将输入缩放到 [1,1] 1 1

经验规则给出, WU人工智能:卷积神经网络及YOLO算法 入门详解与综述

学不会“常识”:人工智能的致命短板?

深层网络结构嵌入

神经网络与人类思维间的深层关系

人工神经网络算法原理和应用

我的AI不可能这么傻:深度学习的致命弱点