神经网络也可以分为有监督的神经网络和无/半监督学习,但其实往往是你中有我我中有你,不必死抠字眼。
1. 有监督的神经网络(Supervised Neural Networks)
1.1 神经网络(Artificial Neural Networks)和深度神经网络(Deep Neural Networks)
追根溯源,神经网络的基础模型是感知机(Perceptron),因此神经网络也可以叫做多层感知机(Multi-layer Perceptron),简称MLP。单层感知机叫做感知机,多层感知机(MLP)≈ 人工神经网络(ANN)。
一般来说有1-2个隐藏层的神经网络就可以叫做多层,准确的说是(浅层)神经网络(Shallow Neural Networks)。随着隐藏层的增多,更深的神经网络(一般来说超过5层)就都叫做深度学习(DNN).
神经网络(Neural Networks)的不同架构,加不加“深度”取决于场景,其中某些网络不属于深度学习。
“深度”只是一个商业概念,很多时候工业界把3层隐藏层也叫做“深度学习”,所以不要在层数上太较真。
在机器学习领域的约定俗成是,名字中有深度(Deep)的网络仅代表其有超过5-7层的隐藏层。
【神经网络的结构】指的是“神经元”之间如何连接,它可以是任意深度。
卷积网络(CNN)和循环网络(RNN)一般不加Deep在名字中的原因是:它们的【结构一般都较深】,因此不需要特别指明深度。相比较而言,自编码器(Auto Encoder)可以是很浅的网络,也可以很深。所以看到用Deep Auto Encoder来特别指明其深度。
1.2 RNN -- 循环神经网络(Recurrent Neural Networks)和递归神经网络(Recursive Neural Networks)
很多时候我们把这两种网络都叫做RNN,但事实上这两种网路的结构事实上是不同的。常常把两个网络放在一起的原因是:它们都可以处理有序列的问题,比如【时间序列】等。
递归神经网络“和循环神经网络不同,它的计算图结构是树状结构而不是网状结构。递归循环网络的目标和循环网络相似,也是希望解决数据之间的长期依赖问题。而且其比较好的特点是用树状可以降低序列的长度,从 O(n)降低到 O(log(n)),熟悉数据结构的朋友都不陌生。但和其他树状数据结构一样,如何构造最佳的树状结构如平衡树/平衡二叉树只并不容易,
应用场景:语音分析,文字分析,时间序列分析。主要的重点就是数据之间存在前后依赖关系有序列关系。一般首选LSTM,如果预测对象同时取决于过去和未来,可以选择双向结构,如双向LSTM.
RNN的特色在于可处理图像或数值数据,并且由于网络本身具有记忆能力,可学习具有前后相关的数据类型。
例如进行语言翻译或文本翻译,一个句子中的前后词汇通常会有一定的关系,但CNN网络无法学习到这层关系,而RNN因具有内存,所以性能会比较好。因为可以通过RNN进行文字理解,其他应用如输入一张图像,但是输出为一段关于图像叙述的句子。
1.3 CNN--卷积神经网络(Convolutional Neural Networks)
卷积网络早已大名鼎鼎,从某种意义上也是为深度学习打下良好口碑的功臣。不仅如此,卷积网络也是一个很好的计算机科学借鉴神经科学的例子。卷积网络的精髓其实就是在多个空间位置上共享参数,据说我们的视觉系统也有相类似的模式。卷积运算是一种数学计算,和矩阵相乘不同,卷积运算可以实现稀疏相乘和参数共享,可以压缩输入端的维度。和普通DNN不同,CNN并不需要为每一个神经元所对应的每一个输入数据提供单独的权重。与池化(pooling)相结合,CNN可以被理解为一种公共特征的提取过程,不仅是CNN大部分神经网络都可以近似的认为大部分神经元都被用于特征提取。
CNN主要应用可分为:
图像分类(image classification)、
目标检测(object detection)、
语义分割(semantic segmentation)
2. 无监督的预训练网络(Unsupervised Pre-trained Neural Networks)
2.1 深度生成模型(Deep Generative Models)
深度学习中的生成模型主要还是集中于想使用无监督学习来帮助监督学习,毕竟监督学习所需的标签代价往往很高.
2.1.1 玻尔兹曼机(Boltzmann Machines)和受限玻尔兹曼机&(Restricted BoltzmannMachines)
简单的说,玻尔兹曼机是一个很漂亮的基于能量的模型,一般用最大似然法进行学习,而且还符合Hebb's Rule这个生物规律。但更多的是适合理论推演只,有相当多的实际操作难度。而受限玻尔兹曼机更加实际,它限定了其结构必须是二分图(Biparitite Graph)且隐藏层和可观测层之间不可以相连接。此处提及RBM的原因是因为它是深度信念网络的构成要素之一。
2.1.2 DBN--深度信念网络(Deep Belief Neural Networks)
DBN是祖师爷Hinton在06年提出的,主要有两个部分:1.堆叠的受限玻尔兹曼机(Stacked RBM) 2一层普通的前馈网络。
DBN最主要的特色可以理解为两阶段学习,阶段1用堆的RBM通过无监督学习进行预训练(Pretrain),阶段2用普通的前馈网络进行微调。就像上文提到的,神经网络的精髓就是进行特征提取。和后文将提到的自动编码器Q相似,我们期待堆叠的RBF有数据重建能力,及输入一些数据经过RBF我们还可以重建这些数据,这代表我们学到了这些数据的重要特征将RBF堆叠的原因就是将底层RBF学到的特征逐渐传递的上层的RBF上,逐渐抽取复杂的特征。
2.1.3.生成式对抗网络(Generative Adversarial Networks)
2.2 自编码器(auto-encoder)