06.深度学习

深度学习 #

boat-5889919_1280

基于第一章节的学习,我们知道单层神经网络无法处理异或问题;如果需要计算多层神经网络,当时的计算机又缺少足够的计算能力,因此60年代末神经网络第一次进入了寒冬。

随后80年代,方向传播算法的出现解决了多层神经网络所需要的复杂计算问题(这也意味着异或问题的解决),但是由于数据集量级的影响,神经网络的能力被过拟合问题限制住了脚本,同时当时的SVM如日中天并且拥有极强的解释性,于是神经有一次陷入风雪。

摩尔定律一直在发挥着作用,终于到了2006年,HintonScience上提出了深度置信网络的神经网络模型,这是神经网络重回巅峰的代表性事件。随后发生的事情大家都有所耳闻:

  • 2012年ImageNet竞赛夺冠
  • 2017年AlphaGo和柯洁的围棋对决
  • 各种深度神经网络的商业化实践…

现在,我们正处于第三次神经网络的复兴潮流中央。经过前面几章的探索,我们已经了解了深度神经⽹络通常⽐浅层神经⽹络更加难以训练,但是为了获得比浅层网络更加强大的能力,我们需要训练深度网络,本章主要讨论可以⽤来训练深度神经⽹络的技术,并在实战中应⽤它们。

本章是一个大章节,主要围绕的是从简单的浅层网络到卷积神经网络来慢慢构建强大的网络,从而解决MNIST手写字识别的问题。

在这个过程中,我们需要研究的相关技术有:卷积、池化、使用GPU来更好地训练、训练数据的算法性拓展、Dropout、网络的综合使用等。

介绍卷积网络 #

在第一章识别手写字中,我们就利用全连接神经网络基于MNIST训练集构建了一个可以识别手写字的深度学习模型。

image-20210112220944373

让我们基于上面的网络结构思考下面几个问题:

  • 参数过多:对于手写字,第一层的输入图像大小是$28*28=784$个,因此第一个隐藏层的每个神经元到输入层都有784个权重参数,大家可以基于此计算一下,五层的全连接神经网络,参数将极其庞大会导致训练效率不高并且容易出现过拟合;
  • 局表示不变性特征:目前的网络并没有考虑图像的空间结构,它在完全相同的基础上去对待相距很远和彼此接近的输⼊像素;自然图像中的物体都具有局部不变性特征,比如尺度缩放、平移、旋转等操作不影响其语义信息.而全连接前馈网络很难提取这些 局部不变性特征,一般需要进行数据增强来提高性能。

卷积神经网络(Convolutional Neural Network,CNN 或 ConvNet)是一类特殊的人工神经网络,也是第一章提到的多层感知器(MLP)的变种。

我们可以从生物学角度出发,来看看卷积神经网络有哪些基本特征。我们知道视觉皮层的细胞存在 一个复杂的构造,这些细胞对视觉输入空间的子区域非常敏感,我们称之为感受野。在全连接网络中我们会将所有的输入神经元都连接到下一个隐藏的神经元,但这次我们不这么干,我们选择一个$5*5$的区域进行局部区域的连接:

image-20210112225008050

这个输⼊图像的区域被称为隐藏神经元的局部感受野,然后在整个输⼊图像上交叉移动局部感受野,此时我们的$2828=784$个输入,用$55$的局部感受野,此时第一个隐藏层就会有$24*24$个神经元:

image-20210112225311394

参考 #

wechat_howie