什么"稀疏"意味着在神经网络的背景下?

时间:2016-12-26 01:19:47

标签: machine-learning neural-network

我已经看过"稀疏"和"稀疏性"以某种方式使用它可以提高模型的准确性。例如:

  

我认为无监督阶段可能不是那么重要   使用稀疏连接或神经元,例如整流器单元或   可以使用卷积连接和大量训练数据。

来自https://www.quora.com/When-does-unsupervised-pre-training-improve-classification-accuracy-for-a-deep-neural-network-When-does-it-not

什么"稀疏"在这种情况下意味着什么?

1 个答案:

答案 0 :(得分:12)

TL; DR :稀疏性意味着大多数权重为0.这可以提高空间和时间效率。

详细版本:通常,神经网络表示为张量。每层神经元由矩阵表示。矩阵中的每个条目可以被认为是两个神经元之间的连接的代表。在简单的神经网络中,如经典的前馈神经网络,给定层上的每个神经元都连接到后续层上的每个神经元。这意味着每个层必须具有 n 2 连接,其中 n 是两个层的大小。在大型网络中,这可能需要大量的内存和时间来传播。由于神经网络的不同部分通常在不同的子任务上工作,因此每个神经元都不必连接到下一层中的每个神经元。实际上,对于神经网络而言,连接权重为0的大多数神经元对可能是有意义的。训练神经网络可能会导致这些不太重要的连接权重采用非常接近0的值,但如果精度不会受到显着影响,值正好是0。

大多数条目为0的矩阵称为稀疏矩阵。如果矩阵足够大且稀疏,则可以更有效地存储这些矩阵,并且可以在它们上更有效地执行某些计算。假设大多数连接权重等于0,神经网络可以利用从稀疏性中获得的效率。

我必须说神经网络是一个复杂多样的话题。使用了很多方法。某些类型的神经网络具有与上面引用的简单层连接不同的形态。稀疏性可以在许多类型的神经网络中使用,因为矩阵对于神经网络表示是相当普遍的。