第7课:深度学习-神经网络 局限性研究与解决

其实深度学习就是神经网络,只不过是因为神经网络在过去几十年无突破,口碑不好,那些狡猾的科学家换了个名字而已


深度学习局限1:

抛开计算速度的因素,传统神经网络的反向传播算法,捉虫时极为困难,一个根本的问题叫做所谓 vanishing gradient problem (梯度消失问题)

简单的说, 就是成本函数 (cost function) 从输出层反向传播时, 每经过一层,梯度衰减速度极快, 学习速度变得极慢,神经网络很容易停滞于局部最优解而无法自拔


解决:

借用了统计力学里的"玻尔兹曼分布"的概念 (一个微粒在某个状态的几率,和那个状态的能量的指数成反比,和它的温度的倒数之指数成反比),使用所谓的"限制玻尔兹曼机" (RBM) 来学习

RBM 相当于一个两层网络,同一层神经元之间不可连接 (所以叫 "限制"),可以对神经网络实现 “没有监督的训练”(unsupervised training)。深信度网络就是几层 RBM 叠加在一起

略掉技术细节,RBM 可以从输入数据中进行预先训练,自己寻找发现重要的特征,对神经网络连接的权重进行有效的初始化。这属于一种叫做特征提取器 (feature extractor)的神经网络,也称自动编码器 (autoencoder)。

经过 RBM 预先训练初始化后的神经网络,再用反向传播算法微调,效果就好多了

深度学习的突破,除了计算蛮力的大幅度提高以外聪明有效地对网络链接权重的初始化也是一个重要原因


s1.jpg


深度学习局限2:

神经网络计算,另一个常为人诟病的问题,是过度拟合(overfitting)

一个模型好坏的试金石,不在于和现有数据的拟合度, 而在于它是否可以在全新的情况和数据面前,做出正确的判断和预测。

金融界的人常会看到各种交易模型,许多模型面对历史数据的测试时,表现非常好,胜率极高。但是如果投资者天真地以为找到了致富的捷径,把模型用于实际交易时,结果往往差强人意。

另外一个典型的过度拟合的例子,可以在小孩教育上看到。许多家长把孩子从小就送到奥数、钢琴、小提琴等各类才艺和竞赛的培训班,唯恐孩子学得不够,以后上不了好大学,找不到好工作。

这实际上就是根据社会现有的经济结构做出的一种过度拟合的训练。

当时代迅速发展,以前吃香的技能,职业突然被淘汰,孩子必须面对社会变化和学校教育体系的巨大落差而无法迅速随机应变时,悲剧将很难避免。


解决:

有性生殖在生物进化中的目的,不是制造适合某个单一环境的,最优秀的个体基因,而是为了制造最容易和其它多种基因合作的基因,这样在多变的外界环境下,总有一款可以生存延续下来。

优秀个体在有性繁殖中,虽然损失了一半的基因,短期内看上去不是好事。但是长期看,生物组织整体的存活能力,更加稳健强大。

有性繁殖,在金融投资上的一个类比是: 把财富分散到不同种类的资产上,定期重新调整再平衡。 这样做的缺点是,某个表现特别好的资产可能会被过早的卖掉。 但优点在于,让投资组合不过分依赖于某个单一资产,在金融风暴中得以生存下来。

解决过度拟合的问题,采用了一种新的称为"丢弃" (Dropout)的算法

丢弃算法的具体实施,是在每次培训中,给每个神经元一定的几率(比如 50%),假装它不存在,计算中忽略不计


s2.jpg


从一个角度看,丢弃算法,每次训练时使用的是不同架构的神经网络(因为每次都有部分神经元装死),最后训练出来的东西,相当于不同架构的神经网络模型的平均值。

从生物的有性繁殖角度看,丢弃算法,试图训练不同的小部分神经元,通过多种可能的交配组合,获得接近理想值的答案