我一直在阅读许多深度学习论文,其中每篇论文都遵循不同的架构。我看不出每个架构中每一层背后的逻辑意义或直觉意义是什么。我有一种感觉,其中许多架构只是我们发现它们以完美的方式为我们的应用程序工作的任意架构。我认为科学不应该这样做。所以我确定我错过了一些东西。有人可以为我指出一些我应该遵循的一般概念和想法,以了解我应该如何为我的应用程序设计我的深度学习架构吗?如果有材料/书籍或任何可以帮助我了解深度学习如何工作的东西(我知道数学,但不知道其背后的逻辑或直觉),我很感激。
构建深度学习架构是一种试错方案吗?
机器算法验证
深度学习
2022-03-22 21:59:07
1个回答
在当前阶段,神经网络架构选择更多地是由经验结果评估而非坚实的数学理论驱动的。此外,网络架构(深度、广度、激活函数、连接)不是您必须做出的唯一决定;优化算法及其参数也与这些选择密切相关。特定的数据集和选择的损失函数还定义了您正在优化的损失表面。有时甚至硬件也存在限制(例如可用 GPU 内存的数量)。根本没有一个普遍的、理论上有根据的答案。
当然,也有一些直觉:例如,你知道卷积是如何工作的,所以很容易想象它们能提取出什么样的信息。实际上,大多数介绍一些架构调整的论文,例如 Batch normalization、Stochastic pooling 等,都提供了这样直观的提示。你的工作是考虑哪些在你的场景中是有意义的。任何机器学习方法都有你必须调整的超参数。在神经网络的情况下,架构只是一个超参数(尽管是一个模糊的参数)。
此外,有很多线程处理这个主题:
其它你可能感兴趣的问题