深度学习 优缺点


神经网络在发展过程中,经历了3次起伏,这很重要的原因在于神经网络的优缺点在不同时代得以体现。在理论上讲,只包含单层隐藏层神经网络,可以拟合任何函数,然后这在实际情况中是不常用的。往往采用含多层隐藏层的神经网络来对数据进行拟合。
一、缺点及有效的措施
1、在早期,由于BP算法还没有发明,并且当时的计算能力有限,建立的神经网络规模很小,因此神经网络的性能也受很大限制。在90年代,发明了BP算法后,便可以采用误差反向传播,通过误差来指导神经网络的训练,采用梯度下降优化算法,每次减小预测值和目标值的差别来达到模型的学习。但是,当神经网络规模逐渐增大,包含的隐藏层逐渐增多,此时采用BP算法的过程中,会出现梯度消失的过程,往往是因为误差消失而导致的,因此神经网络前面的权值几乎不会更新,因此导致了神经网络拟合数据的准确率受限制。研究者为了保留神经网络的误差,提出了不同的策略来保留误差,使得误差可以传递而不会出现消失的现象。
2、神经网络模型可变的部分主要有神经网络的构成,架构(即选择构建多少层神经网络,每层多少个隐含结点,每个隐含结点的激活函数如何选择,层与层之间的连接如何等),一般情况下,在构建好神经网络后,神经网络的训练就变成了层与层之间权重的学习,为了更好的毕竟目标值,设计了许多权重学习算法,包括梯度下降算法,共轭梯度法,拟牛顿法L-BMGS,信赖域方法等。随着神经网络规模的不断扩充,要学习的参数也越来越多,神经网络的自由度越来越大,这给训练神经网络模型带来了很大的困难。复杂神经网络的训练,极易陷入到局部极小值而无法跳出,因此研究者设计了很多训练方法来尽量避免神经网络陷入局部极小值。
3、如2所说,随着神经网络结构的复杂,神经网络拟合模型的能力也越来越强大,但这往往会出现过拟合的情况,这在机器学习中使非常致命的问题,即在训练数据上表现的很好,但是泛化能力却很差,在未见到的数据上,表现的很差。因此,研究者为了尽可能避免神经网络过拟合的情况发生,提出了许多方法。

(1)其中非常常规的方法便是增加数据,因此参数的增多,参数空间呈指数变大,要想使得数据完全覆盖住样本空间,需要的数据量成指数增加,因此通过增加数据量想很好的避免过拟合现象是不太可能的

(2)另一种方法,便是在训练的过程中,让训练及时停止,但是这一般需要设置checkpoint来实时监视神经网络的泛化性能,一般采用交叉验证的方法来决定神经网络是否停止训练

(3)另一种方法是加regularization项,即对要学习的参数加约束,尽可能的缩小参数空间的取值,这在机器学习中也是十分常见的方法,一般有Lasso正则项,Ridge正则项,或者Elastic项(通过加权来综合前两个正则项)。

(4)对于深度神经网络,由于其特有的结构特性,还可以采用drop out方式来对神经网络进行简化,即在每次迭代训练时,某些结点概率的屏蔽掉,这样很大程度上避免了神经网咯结点间的协同作用,使得神经网络更加的多样性,相当于ensemble多个差异很大的神经网络,来最终得到泛化能力的提升。


二、优点
1、神经网络很强大的地方在于完美的拟合能力,可以逼近任何复杂的函数,而且神经网络的维度可以达到无穷维,这样其对数据的拟合能力是相当强大的。往往已有的传统的机器学习方法,在某一定程度上属于神经网络的特例。例如SVM,Logistic regression等均可以由神经网络来完成。
2、神经网络由于包含了许多隐藏层,而隐藏层又具有许多隐藏结点,这样便使得神经网络的表达能力十分强大,这在贝叶斯理论中有很好的体现。即对于受限玻尔兹曼机,通过神经网络的形式,逐层训练受限玻尔兹曼机,或者贝叶斯网络,便可以构建深度玻尔兹曼机,深度贝叶斯网络,使该网络的表征能力进一步的提升。在此基础上,出现了自编码,使得神经网络可以无监督的学习数据的特征,尤其是图片等抽象的特征,对于后续的分类,检测,分割等提供了很好的特征支持,不需要人为了设定特征,但在某一定程度上,传统的特征提取方法仍然可以为神经网络特征的学习提供参考方案。
3、进一步,现在提出的卷积神经网络,递归神经网络等,进一步改善了神经网络的性能,使其在特定领域得以更好的应对具体问题,体现出了其强大的能力。卷积神经网络,在某一定程度上,认为图像局部间具有很强的关联,而较远的区域关联度不大,因此做了马尔科夫假设,使得训练神经网络更加的容易。
4、神经网络同样可以和概率模型相结合,使得神经网络具有推断能力,加入了随机因素,使得神经网络的推理能力得以提升。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zypffs.html