代码之家  ›  专栏  ›  技术社区  ›  DerBenutzer

深度学习算法的公平比较是否可能-训练效率

  •  0
  • DerBenutzer  · 技术社区  · 3 年前

    在阅读最近(2017-2021年)的论文时,我遇到了一个大问题,这些论文在深度学习和强化学习中引入了新的学习算法或优化工具:

    这有几个原因(选择超参数、数据集、初始化等等),但我想重点谈谈一点: .

    给定一个足够大的神经网络或马尔可夫过程,一般逼近定理表明,任何给定的函数(问题)都可以由网络求解(这是一个NP难问题)。由于大多数学生、研究人员和公司没有无限的计算能力,对我来说最重要的问题是:哪种方法/算法/优化器给我的计算时间得分最高?

    我想知道是否有一种方法来计算“真正的”计算能力在一个环境中,如张量流为一个给定的系统。

    例如我有 系统A(GPU A、CPU A、内存A) 计算能力为10 GFlops,因此可以与 系统B 系统B 系统A

    我知道这是一个很难的话题,只是一个粗略的估计,因为还有内存复杂性和许多其他因素,比如环境,操作系统等等。也许你们中的一些人有更好的方法来指导一个算法学习的效率,以及如何使它与具有不同硬件的系统相比较?

    Total Compute Time

    在附录中,他们说明了如何计算数字:

    Table D

    Description Table D

    所以这可能是一个解决方案。通过计算用于训练任何实验的失败次数,你可以得到一个可以与其他实验进行比较的指标。当然,这不是完美的和近似的。

    然而,这种计算似乎高度依赖于算法的结构。另外,如果你对算法没有100%的理解,并且错过了其中一个特性,那么它很容易出错,这会提高计算能力。我想知道是否有某种类型的库供tensorflow自动化这个过程,或者甚至是一个实现的函数?

    1 回复  |  直到 3 年前
        1
  •  0
  •   mmiron    3 年前

    你要得到的最接近你想要的——不用自己为你想要比较的每个模型做计算——是任何给定模型中可训练参数的数量。这与效率大致相当,但这一数字与模型的实际性能/准确度之间并没有真正的相关性(即 根据使用模型的数据集,不要忘记:更改数据集,其他所有内容都会随之更改)。

        2
  •  0
  •   Utku Can    3 年前

    1-神经网络(NN)是可以解释的。它不是在2015年发明的(例如,CNN是在1989年由LeCun发明的)。使NN更具效率和知名度的两件事:

    • 数据,更多数据
    • 摩尔定律