深度学习网络:基本差异

机器算法验证 直觉 深度学习
2022-03-17 17:31:02

我在几个 地方读到和听说过,深度学习网络的训练时间比支持向量/内核机器、随机森林或增强方法要长得多,但它们可以提供更好的性能。

我的问题是,与解释这种差异的其他学习方法相比,深度学习网络有什么根本不同?对他们的训练复杂性了解多少?

例如,DNN 是否具有区分性(与其他方法相比)?看起来它们可以被认为是生成的,因为 Wikipedia 提到:

一旦学习了足够多的层,深度架构就可以用作生成模型,方法是在从顶层特征激活对模型进行采样(“祖先通道”)时复制数据。

我还在 Wikipedia 上读到 DNN 可以以无监督的方式进行预训练这是相对于其他方法的显着差异。这个预训练步骤很常见吗?但最重要的是,与其他方法相比,为什么 DNN 需要这么长时间来训练

1个回答

两个看似合理的定性答案是:

  • 您拥有的层数越多,您在训练步骤中必须执行的计算就越多。这种计算(例如将反向传播作为最简单的例子)可能与层数呈线性关系,而使用深度网络,您可以轻松达到 20-30 层。TensorFlow等工具需要构建数据流图,以便在尊重单个权重更新之间的依赖关系的同时并行计算。
  • 网络的几个超参数也必须从数据中进行训练。例如,考虑选择在卷积神经网络的第一层中使用哪些过滤器:您在网格搜索或随机搜索中尝试的每个组合都会导致从头开始训练的新网络,并且必须使用所有其他人在验证集上找到误差最低的那个。