Chapter1深度学习简介
· 神经网络从左到右排列成多少列就称为有多少层。一般认为,超过三层以上的神经网络都可以叫做深度神经网络。
· 人工神经网络中有一种叫做反向传播算法的关键性技术,该算法可以精确的调整人工神经网络出现问题的部件,从而快速降低网络进行分类或预测的错误率,这使得人工神经网络在诸多机器学习算法中胜出。所以,反向传播算法是人工神经网络的核心。
· 在应用方面,深度学习最大的特色是可以处理各种非结构化数据——特指图像、视频、文本、音频等等。而一般的机器学习更适合处理结构化数据。
· XOR问题:将输入的两个二进制串按照每一位进行比较,相同的位就输出1,不同的位就输出0。例如:输入的两个二进制串为1001和0111,则XOR就会输出0001。
· 与传统神经网络希望通过加深网络来提升精度相反,支持向量机的解决方案是将数据的维度提升,在高维空间中寻找能够将数据进行精准化分的方法,这种方法在数据量不是很大的情况下非常奏效。
· 随着数据量的增加,采用了深度学习方法的模型可以持续不断地提高准确度,而传统算法则会很快地遇到精确度方面的瓶颈。
· 导致深度学习爆发的三大本质因素:大数据、深度网络架构以及GPU。
· 所谓的深度网络架构,就是整个网络体系的构建方式和拓扑连接结构,目前主要分为3种:前馈神经网络、卷积神经网络和循环神经网络。
· 前馈神经网络(全连接神经网络)
在前馈神经网络(全连接神经网络)这种结构中,所有的结点都可以分为一层一层的,每个结点只与它的相邻层结点而且是全部结点相连。这些层一般分为输入层、输出层以及介于两者之间的隐含层。
前馈神经网络是目前应用最多的一类神经网络。
· 卷积神经网络(CNN)
卷积神经网络一般用于对数字图像进行处理。图中小锥形可以理解为从高层的某一个神经元到低层多个神经元之间的连接。这个小锥形在立方体上逐像素的平移就构成了两层次之间的所有连接。到了最后两层,小立方体被压缩成了一个一维向量,这就与普通的前馈神经网络没有什么区别了。
CNN这种特殊的架构可以很好的应用于图像处理,他可以使原始的图像即使在经历过平移、缩放等变换之后仍然具有很高的识别准确性。
· 循环神经网络(RNN)
从图中可以看出,循环神经网络与普通的三层前馈神经网络非常相似,只不过隐含层彼此之间还有大量的连接。
RNN这种特殊架构使得网络当前的运行不仅跟当前的输入数据有关,而且还与之前的数据有关。因此,这种网络特别适合处理诸如语言、音乐、股票曲线等序列类型的数据。整个网络的循环结构可以很好地应付输入序列之中存在的长程记忆性和周期性。
· GPU
影响深度学习性能的最后一个元素就是GPU了,GPU就是图形处理单元(graphic processing unit),和CPU一样,都是做计算得基本单元,只不过GPU是镶嵌在显卡上的,而CPU是镶嵌在主机板上的。
深度神经网络的训练过程需要耗费大量的计算时间,如果没有GPU的加速,我们就不可能在可接受的时间内训练好一个深度的神经网络。
GPU非常擅长大规模的张量运算,并且可以为这种运算加速,对包含多个数值的张量运算所需要的平均时间远远低于对每个数字运算的时间。
· 特征学习(representation learning):深度神经网络的一个特性就是会把不同的信息表达到不同层次的网络单元(权重)之中,并且这一提炼过程完全不需要手工干预,全凭机器学习过程自动完成,这就是我们常说的特征学习。深度学习的本质就是这种自动提取特征的功能。
· 深度学习重要的本领就在于他可以从海量的数据中自动学习,抽取数据的特征。
· 迁移学习(transfer learning):深度神经网络的另一个重要特性就在于特征提取之后的迁移学习。我们可以像做脑外科手术一样,把一个训练好的神经网络切开,然后在把它拼合到另一个神经网络上。正如刚才所说,神经网络可以再各个层编码表示数据中不同尺度的特征。也就是说,前几层神经网络就好像一个特征提取器,作用就是提炼特征,而后面部分的网络会根据这些特征进行分类和预测。
于是,当把神经网络组合拼接之后,我们就可以用前面部分的神经网络进行特征提取,再将这个提取器与后面的网络进行拼接,去解决另一个完全不同的问题,这就叫“迁移学习”。
· 有了特征提取和迁移学习,我们就能够实现端到端(end to end)式的学习,也就是说,可以直接输入原始数据,让深度网络输出最终的结果。所有的中间处理环节,我们都不需要关心,整个网络会自动学习到一种最优的模式,从而使模型可以精确地输出预测值。