神经网络,深度学习系统和深度信念网络之间有什么区别?
我记得您的基本神经网络是一个3层的东西,我曾将Deep Belief Systems描述为彼此堆叠的神经网络。
直到最近我还没有听说过深度学习系统,但是我强烈怀疑它是深度信仰系统的代名词。有人可以确认吗?
神经网络,深度学习系统和深度信念网络之间有什么区别?
我记得您的基本神经网络是一个3层的东西,我曾将Deep Belief Systems描述为彼此堆叠的神经网络。
直到最近我还没有听说过深度学习系统,但是我强烈怀疑它是深度信仰系统的代名词。有人可以确认吗?
Answers:
数十年来,由于各种原因,人工神经网络模型通常仅局限在几层,例如3层,其中包括一个名为Kolmogorovs thm的数学证明,表明其可以在理论上近似地以低误差近似任意函数(但仅限于许多神经元)。
通过现有的学习技术,超出该范围的多层网络是不可行/无效的。2006年,由3名不同的研究人员Hinton,Le Cun和Bengio进行了类似的突破,他们能够训练更多的层次。该领域的主要问题是手写识别。
术语“深层信念网络”似乎起源于Hinton在2006年发表的一篇论文,该论文涉及贝叶斯网络,该网络与神经网络在概念/理论上的联系/相似性相似。“用于深层信念网的快速学习算法”
参见幻灯片17,特别是本演示文稿深度神经网络
因此深度学习领域只有大约½十年的历史,并且正在快速研究和开发。Google,Facebook,Yahoo都宣布了基于深度学习的计划,并且正在进行研发。
人工神经网络是一类算法,其中包括基于图形的许多不同种类的算法,因此,由于要说的太多了,因为神经网络种类繁多,因此我在这里不做详细介绍。
第一种人工神经网络是著名的McCulloch-Pitts神经元,它是线性的,这意味着它们只能解决线性决策问题(即,通过画一条线可以线性分离的数据集)。随着时间的流逝,此线性神经网络模型被称为Perceptron或Adaline(取决于您计算权重更新的方式)。
线性神经网络仅由二部图组成,其中左侧节点为输入,右侧节点为输出。仅了解这些节点之间的边缘权重(也可以调整节点激活阈值,但很少这样做)。
当发明了浅层神经网络时,迈出了一大步:我们不仅使用了二部图,还使用了三部图:输入“层”,输出“层”以及它们之间的一个“隐藏层”。感谢隐藏层,网络现在可以采取非线性决策,并解决诸如规范异或的问题。
请注意,“浅”一词是在发明了深度神经网络(也称为n层神经网络)时追溯创建的。这与仅具有一个隐藏层的神经网络相反,而具有具有n个隐藏层的深层神经网络则是相反的。您可能会猜到,使用更多的隐藏层可以决定更复杂的数据集,因为有更多的层可以调整决策(换句话说,您正在增加决策边界的维数,这可能导致过度拟合)。
您可能会问:为什么以前没有人尝试使用多层(深度)神经网络?实际上,早在1975年,福岛岛就采用了Cognitron和Neocognitron(实际上是一个卷积神经网络,但这是另一回事)。但是,问题是没人知道如何有效地学习这样的网络,最大的问题是正则化。Hinton的AutoEncoders开辟了道路,后来LeCun的整流线性单元永久性地解决了该问题。
深度信仰网络(DBN)呢?它们只是多层的半受限玻尔兹曼机。因此它们是一种深度神经网络,但是具有不同的基本网络模式(即:层,这是重复的模式):Boltzmann机器与其他网络的不同之处在于它们具有生成能力,这意味着它们通常是用于从数据中学习以重现(“生成”)数据,而通常的深度神经网络则用于分离数据(通过绘制“决策边界”)。
换句话说,DNN可以很好地对数据集中的值进行分类/预测,而DBN可以很好地“修复”损坏的数据(当我说修复时,它不仅来自损坏的数据,还可以基于完美的数据您只是想修正一下,使其更具定型性,以便更容易地被另一个神经网络(例如手写数字)识别。
实际上,总而言之,您可以说自动编码器是深度信任网络的一种简单形式。这是经过训练可以识别人脸但不能识别数字的DBN的示例,数字会自动消失(这是DBN的“固定”效果):
因此,最终,DBN和DNN不是相反的:它们是互补的。例如,您可以想象有一个系统来识别手写字符,该系统将首先将字符的图像馈送到DBN以使其更具定型性,然后将已定型的图像馈送到DNN,DNN随后将输出该图像代表的字符。
最后一点:Deep Belief Nets与Deep Boltzmann Machines非常接近:Deep Boltzmann Machines使用Boltzmann Machines层(双向神经网络,也称为递归神经网络),而Deep Belief Nets使用半限制性Boltzmann Machines(半受限意味着将它们更改为单向,因此它允许使用反向传播来学习网络,这比学习递归网络更有效。这两个网络用于相同的目的(重新生成数据集),但是计算成本却不同(由于深度递归性质,深玻尔兹曼机器的学习成本明显更高:难以“稳定”权重)。
奖励:关于卷积神经网络(CNN),您会发现很多矛盾且令人困惑的主张,通常您会发现它们只是深度神经网络。但是,似乎共识是使用福岛的Neocognitron的原始定义:CNN是DNN,被迫通过在激活之前强加卷积来提取不同层次级别上的不同特征(DNN可以自然地做到这一点,但是强迫它通过在网络的不同层上设置不同的卷积/激活函数可能会产生更好的结果,至少这是CNN的赌注):
深度神经网络是具有相对较高深度的神经网络。它们是神经网络的子类。这个想法实际上可以追溯到几十年前,并不是什么新鲜事。全新的是,我们已经找到了如何在实践中对其进行培训的方法。最近它变得非常流行的原因是训练它们变得可行,人们用它们击败了最新的算法。DNN需要大量的数据和大量的计算能力,而这是几十年前所没有的。杰夫·欣顿(Geoff Hinton)和他的学生及同事们在过去的十年中找到了如何在实践中进行训练的方法,并用它们在多个领域击败了最先进的机器学习算法,在大多数领域,大多数研究人员都不愿在那时完全使用它们。
Belief Networks是一类概率图形模型,它们使用图形对一堆随机变量及其依存关系进行建模(有多种方法可以实现)。这些变量本身可以来自参数化分布,并且可以通过神经网络(或其他用于表示参数化分布的模型)进行建模。深度信任网络是具有较高深度的信任网络。
Belief Networks倾向于生成,即我们可以使用经过训练的模型从其表示的分布生成样本。
神经网络往往具有区分性,我们可以使用它们来计算给定输入的概率(这是猫的图片吗?这是猫的图片的概率是多少?),但通常不用于采样(生成猫的图片)。