卷积神经网络,受限玻尔兹曼机器和自动编码器之间有什么区别?


Answers:


237

自动编码器是一个简单的3层神经网络,其中输出单元直接连接回输入单元。例如在这样的网络中:

在此处输入图片说明

output[i]input[i]每个人都有优势i。通常,隐藏单元的数量要少于可见(输入/输出)的数量。结果,当您通过这样的网络传递数据时,它首先压缩(编码)输入矢量以使其“适应”较小的表示形式,然后尝试将其重新构造(解码)。训练的任务是最大程度地减少错误或重构,即找到输入数据的最有效压缩表示(编码)。

RBM也有类似的想法,但是使用随机方法。代替确定性的(例如逻辑或ReLU),它使用具有特定分布(通常是高斯二进制)的随机单位。学习过程包括Gibbs采样的几个步骤(传播:给可见对象提供隐藏的样本隐藏;重建:给隐藏对象提供可视的样本复制;重复),并调整权重以最小化重建误差。

在此处输入图片说明

RBM的直觉是,存在一些可见的随机变量(例如,来自不同用户的电影评论)和一些隐藏的变量(例如,电影类型或其他内部特征),并且训练的任务是找出这两组变量实际上是如何彼此连接(有关此示例的更多信息,请参见此处)。

卷积神经网络与这两者有些相似,但是它们不是在学习两层之间的单个全局权重矩阵,而是旨在找到一组局部连接的神经元。CNN主要用于图像识别。它们的名称来自“卷积”运算符或简称为“过滤器”。简而言之,过滤器是通过简单改变卷积核来执行复杂操作的简便方法。应用高斯模糊核,即可使其平滑。应用Canny内核,您将看到所有边缘。应用Gabor内核以获取渐变特征。

在此处输入图片说明

(图片来自这里

卷积神经网络的目标不是使用预定义的内核之一,而是学习特定数据的内核。这个想法与自动编码器或RBM相同-将许多低层特征(例如,用户评论或图像像素)转换为压缩的高层表现形式(例如,电影体裁或边缘)-但是现在,权重只能从在空间上彼此接近。

在此处输入图片说明

这三种模型都有各自的用例和优缺点,但最重要的属性可能是:

  1. 自动编码器是最简单的。它们是直观易懂,易于实现和推理的(例如,为它们找到好的元参数比为RBM更容易)。
  2. RBM是生成性的。也就是说,不同于仅区分某些数据矢量而使其他矢量有利的自动编码器,RBM还可生成具有给定联合分布的新数据。它们也被认为具有更多的功能和灵活性。
  3. CNN是非常特定的模型,通常用于非常特定的任务(尽管很流行的任务)。当今,图像识别中的大多数顶级算法都以某种方式基于CNN,但在这种利基之外,它们几乎不适用(例如,将卷积用于电影评论分析的原因是什么?)。

UPD。

降维

nnxxmmm<nm然后将最重要的组件用作新的基础。这些组件中的每一个都可以被认为是高级功能,比原始轴更好地描述了数据向量。

nm

深度架构

mc1..cmx=i=1mwici

nmmk

但是,您不只是添加新的图层。在每一层上,您尝试从上一层学习最佳的数据表示形式:

在此处输入图片说明

在上面的图片中,有一个这样的深层网络的例子。我们从普通的像素开始,从简单的滤镜开始,然后是面部元素,最后是整个面部!这是深度学习的本质。

现在注意,在此示例中,我们处理了图像数据,并依次获取了越来越大的空间接近像素的区域。听起来不一样吗?是的,因为它是深度卷积网络的一个示例。无论是基于自动编码器还是RBM,它都使用卷积来强调位置的重要性。这就是为什么CNN与自动编码器和RBM有所不同的原因。

分类

这里提到的模型本身都不能用作分类算法。相反,它们用于预训练 -学习从低级且难以使用的表示(如像素)到高级表示的转换。一旦对深度(或可能不是那么深)的网络进行了预训练,输入向量将被转换为更好的表示形式,最终得到的向量将最终传递给真实的分类器(例如SVM或逻辑回归)。在上图中,这意味着在最底端还有一个实际上在进行分类的组件。


3
@ffriend非常简短明了的解释。关于这些主题的文章很多,但您的通报简直很棒。“ RockTheStar”如果您需要更详细的说明,可以阅读Yoshua Bengio的这本100页的书(www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)–
Javierfdr

您将使用什么来预测事件的顺序?
skan

2
@skan:看看RNNs。具体来说, LSTM现在非常流行。您可能还想问一个单独的问题,并提供更多详细信息,以获得合格的答案,因为RNN并不是我的专业领域。
ffriend

15

所有这些架构都可以解释为神经网络。AutoEncoder和卷积网络之间的主要区别在于网络硬连线的级别。卷积网几乎是固定的。卷积操作在图像域中非常局限,这意味着神经网络视图中的连接数量更加稀疏。图像域中的池化(子采样)操作也是神经域中神经连接的硬连接集合。这样的拓扑结构限制了网络的结构。在这种限制下,CNN的训练将为此卷积运算学习最佳权重(实际上有多个过滤器)。CNN通常用于卷积约束是很好假设的图像和语音任务。

相反,自动编码器几乎没有指定有关网络拓扑的任何内容。它们更为笼统。这个想法是找到良好的神经变换来重建输入。它们由编码器(将输入投影到隐藏层)和解码器(将隐藏层投影到输出)组成。隐藏层学习一组潜在特征或潜在因素。线性自动编码器与PCA跨越相同的子空间。给定一个数据集,他们将学习一些依据以解释数据的基础模式。

RBM也是神经网络。但是对网络的解释完全不同。RBM将网络解释为不是前馈,而是二分图,其思想是学习隐藏变量和输入变量的联合概率分布。它们被视为图形模型。请记住,AutoEncoder和CNN都学习确定性函数。另一方面,RBM是生成模型。它可以从学习到的隐藏表示中生成样本。有多种训练RBM的算法。但是,最终,在学习了RBM之后,您可以使用其网络权重将其解释为前馈网络。


6

RBM可以看作是一种概率自动编码器。实际上,已经表明在某些条件下它们变得等效。

然而,要证明这种等同性比仅仅相信它们是不同的野兽要困难得多。确实,一旦我开始仔细观察,我很难在这三者之间找到很多相似之处。

例如,如果您写下由自动编码器,RBM和CNN实现的功能,则会得到三个完全不同的数学表达式。


1

关于RBM,我不能告诉您太多,但是自动编码器和CNN是两种不同的东西。自动编码器是一种以无监督方式训练的神经网络。自动编码器的目标是通过学习编码器(将数据转换为相应的压缩表示)和解码器(重建原始数据)来找到更紧凑的数据表示。自动编码器(最初是RBM)的编码器部分已用于学习更深架构的良好初始权重,但还有其他应用程序。本质上,自动编码器学习数据的聚类。相反,术语CNN指的是一种神经网络,它使用卷积运算符(通常将2D卷积用于图像处理任务)从数据中提取特征。在图像处理中,滤镜,被图像卷积的图像会自动学习以解决手头的任务,例如分类任务。训练标准是回归/分类(监督)还是重构(无监督)与卷积作为仿射变换的替代方案无关。您也可以使用CNN自动编码器。


自动编码器是有监督的培训,因为您在培训时会生成与给定输入相同的输出信息,只使用较小的隐藏层,以便网络必须找到合适的编码,然后将输入转换为隐藏层的大小并返回。在无监督训练中,如统计网络(如SOM或神经气体)中所使用的,您没有目标信息作为输出呈现给网络。
SCI
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.