1. 简介

     Deep Neural Network(深度神经网络):提高语音识别准确率,相比目前最先进的基于Hidden Markov Model的技术,其准确率提升了大约30%。

    可以解决的问题:图像识别、语音识别、自然语言理解、天气预测、基因表达、内容推荐。

 

1.1 机器学习(Machine Learning)

     从机器学习的模型结构层次来分,机器学习经历了两次浪潮:
     1)浅层学习(Shallow Learning) :机器学习的第一次浪潮
           如反向传播算法(BP算法)、支持向量机(SVM)、Boosting、最大熵方法(LR)等
     2)深度学习(Deep Learning):机器学习的第二次浪潮

          深度学习的实质:是通过构建具有很多隐层的机器学习模型和海量的训练数据,来学习更有用的特征,从而最终提升分类或预测的准确性。因此“深度模型”是手段,“特征学习”是目的。

1.2 深度学习与浅层学习的区别

   

   1)强调了模型结构的深度,通常有5层或6层,甚至10多层的隐层节点;
   2)明确突出了特征学习的重要性,也就是说,通过逐层特征变换,将样本在原空间的特征表示变换到一个新的特征空间,从而使分类或预测更加容易。
      与人工规则构造特征的方案相比,得用大数据来学习特征,更能刻画数据的内在信息。
   3)浅层学习:的局限在于有限样本和计算单元情况下对复杂函数的表示能力有限,针对复杂分类问题其泛化能力受到一定的制约。
   4)深度学习:可通过学习一种深层非线性网络结构,实现复杂函数逼近,表征输入数据分布式表示,并展现了强大的从少数样本中集中学习数据集本质特征的能力。(多层的好处是可以用较少的参数表示复杂的函数)

2. 人脑视觉原理

  1)从原始信号摄入开始(瞳孔摄入像素)
  2)做初步处理(大脑皮层某些细胞发现边缘和方向
  3)抽象(大脑判定眼前物体和形状)
  4)进一步抽象(大脑进一步判定此物体是人脸)

 

        



     总而言之,人的视觉系统的信息处理是分级的。高层特征是低层特征的组合,从低层到高层的特征表示越来越抽象,越来越能表现语义或者意图。而抽象层面越高,存在的可能猜测就越少,就越利于分类。

    这个生理学的发现,促成了计算机人工智能,在40年后的突破性发展。

3. 机器视觉感知流程

3.1 特征

     学习算法在一个什么粒度上的特征表示,才能发挥作用呢?

     就一个图片来说,像素级的特征根本没有价值,只有特征具有结构性时,学习算法才能发挥作用。

     

    1995年前后,David Field试图同时用生理学和计算机的手段,研究视觉问题:
    1)他收集了很多黑白风景照片,从这些照片中,提取出400个大小一样的小碎片,再从这些多黑白风景照片中,随机提取另一个碎片T;
    2)如何从这400个碎片中, 选取一组碎片合成出一个新的碎片,而这个新的碎片,应当与随机选择的目标碎片T尽可能相似,同时选取的碎片数量尽可能少;
    3)David Field 使用稀疏编码的方式来解决这个问题。令人惊奇的是,被选中的碎片,基本上都是照片上不同物体的边缘线,这些线段形状相似,区别在于方向。

   

    

    小块的图形可以由基本的边缘(edge)构成,更结构化、更复杂且具有概念性的图形如何表示呢?
    1)直观上说,就是找到有意义的小碎片(patch),再将其进行组合(combine), 就得到了上一层的特征(feature),递归地向上学习特征(learning feature)
    2)高层表达由底层表达的组合而成。

3.2 需要的特征数量

 

     1)我们知道需要层次的特征构建,由浅入深,但每一层应该有多少个特征呢?

     2)任何一种方法,特征越多,给出的参考信息就越多,准确性会得到提升。但特征多意味着计算复杂,探索的空间大,可以用来训练的数据在每个特征上就会稀疏,都会带来各种问题,所以,并不一定特征越多越好。

4. 深度学习的基本思想

   1)假设一个系统S,它有n层(S1,S2,...,Sn),输入是I,输出是O,则可表示为:I=>S1=>S2=>...=>Sn=>O
      if(O==I):则表示输入I经过每一层Si没有任何的信息损失,即在任意一层Si,都是原信息(I)的另一种表示

   2)通过调整系统中的参数,使(O=I),就可以自动地获取得到输入I的一系列层次特征,即S1,S2,...,Sn
   3)其基本思想就是:堆叠多个层,下一层的输出作为上一层的输入,通过这种方式,就可以实现对输入信息进行分级表达了。
   4)另外,前面是假设O=I,这个限制太严格,我们可以放松这个限制,如:只要使得输入与输出的差别尽可能小即可。

5. 深度学习与传统神经网络

5.1 分层结构

     1)深度学习的概念源于人工神经网络的研究。
     2)深度学习采用了神经网络相似的分层结构,系统由输入层、隐层(多层)、输出层组成,它是一个多层网络,只有相邻层节点之间有连接,同一层以及跨层节点之间相互无连接;这种分层结构,比较接近人类大脑的结构。

5.2 训练方案

    二者的训练方案是不同的:

    1)传统神经网络的训练方案:采用反向传播(BP)方式进行

          即采用迭代算法来训练整个网络,随机设定初值,计算当前网络的输出,然后根据当前计算的输出值实际的标记值之间的差去调整前面各层的参数,直至收敛(整体是一个梯度下降法)。

    2)深度学习的训练方案:是一个Layer-wise(分层计算)的训练机制

       (1)非监督学习(下->上):学习
                从底层开始,一层一层地向顶层训练,分别得到各层参数;
                采用无标签数据分层训练各层参数(可以看作Feature Learning过程)。
        (2)监督学习(上->下):调优
                通过带标签的数据去训练,误差从上向下传输,对网络进行微调;
                基于第一步得到的各层参数,进一步调整整个多层模型的参数,这一步是有监督训练过程。

         

6. 深度学习常用模型

1. CNN(卷积神经网络:Convolutional Neural Networks)

2. RNN(循环神经网络:Recurrent Neural Networks)

3. DNN(深度神经网络:Deep Neural Networks)

4. AE(自动编码器: Auto Encoder)

5. DBN(深度信念网络: Deep Belief Networks)