无监督学习是指用于训练的数据中没有目标标签的问题空间。
本节讨论三种无监督深度学习架构:自组织映射、自动编码器和受限玻尔兹曼机。我们还讨论了如何基于底层无监督架构构建深度置信网络和深度堆叠网络。
自组织地图 (SOM) 由 Teuvo Kohonen 博士于 1982 年发明,俗称 Kohonen 地图。SOM 是一种无监督神经网络,它通过降低输入的维度来创建输入数据集的聚类。SOM 在很多方面与传统的人工神经网络不同。
第一个显著变化是权重是节点的特征。对输入进行归一化后,首先选择随机输入。接近零的随机权重被初始化为输入记录的每个要素。这些权重现在表示输入节点。这些随机权重的几种组合表示输入节点的变化。计算每个输出节点与输入节点之间的欧氏距离。距离最小的节点被声明为输入的最精确表示,并被标记为最佳匹配单位或 BMU。以这些 BMU 为中心点,以类似的方式计算其他单位并将其分配给其距离的聚类。 BMU 权重周围的点半径会根据邻近度进行更新。半径缩小。
接下来,在 SOM 中,不应用激活函数,并且由于没有要比较的目标标签,因此没有计算误差和反向传播的概念。
示例应用:降维、将高维输入聚类为二维输出、辐射等级结果和聚类可视化
尽管自动编码器的发明历史尚不明确,但 LeCun 在 1987 年发现了自动编码器的第一个已知用途。ANN 的这种变体由 3 层组成:输入层、隐藏层和输出层。
首先,使用适当的编码函数将输入层编码到隐藏层中。隐藏层中的节点数远小于输入层中的节点数。此隐藏层包含原始输入的压缩表示。输出层旨在通过使用解码器功能来重建输入层。
在训练阶段,使用误差函数计算输入层和输出层之间的差值,并调整权重以最小化误差。与传统的无监督学习技术不同,传统的无监督学习技术没有数据可以比较输出,而自动编码器则使用反向传播进行持续学习。因此,自动编码器被归类为自监督算法。
应用示例:降维、数据插值和数据压缩/解压缩
尽管 RBM 流行得很晚,但它们最初是由 Paul Smolensky 于 1986 年发明的,被称为 Harmonium。
RBM 是一个 2 层神经网络。这些层是输入层和隐藏层。如下图所示,在 RBM 中,隐藏层中的每个节点都连接到可见层中的每个节点。在传统的玻尔兹曼机中,输入层和隐藏层内的节点也是相连的。由于计算的复杂性,层内的节点在受限玻尔兹曼机中未连接。
在训练阶段,RBM 使用随机方法计算训练集的概率分布。当训练开始时,每个神经元都会被随机激活。此外,该模型还包含各自的隐藏和可见偏差。虽然在正向传递中使用隐藏偏置来构建激活,但可见偏置有助于重建输入。
因为在RBM中,重建的输入总是与原始输入不同,所以它们也被称为生成模型。
此外,由于内置的随机性,相同的预测会导致不同的输出。事实上,这是与自动编码器最显着的区别,自动编码器是一种确定性模型。
应用示例:降维和协同过滤
DBN 是一种典型的网络架构,但包含一种新颖的训练算法。DBN 是一个多层网络(通常很深,包括许多隐藏层),其中每对连接层都是一个 RBM。这样,DBN 就表示为一堆 RBM。
在 DBN 中,输入层表示原始的感官输入,每个隐藏层学习此输入的抽象表示。输出层的处理方式与其他层略有不同,用于实现网络分类。训练分两步进行:无监督预训练和监督微调。
在无监督预训练中,每个 RBM 都经过训练以重建其输入(例如,第一个 RBM 将输入层重建为第一个隐藏层)。下一个 RBM 的训练方式类似,但第一个隐藏层被视为输入(或可见)层,而 RBM 通过使用第一个隐藏层的输出作为输入来训练。此过程一直持续到对每一层进行预训练。预训练完成后,开始微调。在此阶段,输出节点被应用标签以赋予它们意义(它们在网络上下文中代表什么)。然后,通过使用梯度下降学习或反向传播来应用完整的网络训练来完成训练过程。
应用示例:图像识别、信息检索、自然语言理解和故障预测
最后的架构是DSN,也称为深凸网络。DSN与传统深度学习框架的不同之处在于,尽管它由一个深度网络组成,但它实际上是一组深度的单个网络,每个网络都有自己的隐藏层。这种架构是对深度学习问题之一的回应,即训练的复杂性。深度学习架构中的每一层都会成倍增加训练的复杂性,因此DSN不将训练视为单个问题,而是将训练视为一组单独的训练问题。
DSN 由一组模块组成,每个模块都是 DSN 整体层次结构中的一个子网。在此体系结构的一个实例中,为 DSN 创建了三个模块。每个模块由一个输入层、一个隐藏层和一个输出层组成。模块一个堆叠在另一个模块之上,其中模块的输入由前一层输出和原始输入向量组成。这种分层允许整个网络学习比给定单个模块更复杂的分类。
DSN 允许单独训练单个模块,因此具有并行训练的能力,因此效率很高。监督训练是作为每个模块的反向传播实现的,而不是在整个网络上反向传播。对于许多问题,DSN 的性能可能优于典型的 DBN,使其成为一种流行且高效的网络架构。
应用示例:信息检索和连续语音识别
深度学习由一系列架构表示,这些架构可以为一系列问题领域构建解决方案。这些解决方案可以是前馈式的,也可以是允许考虑先前输入的循环网络。尽管构建这些类型的深度架构可能很复杂,但各种开源解决方案(如 Caffe、Deeplearning4j、TensorFlow 和 DDL)可以帮助您快速启动和运行。