【问题标题】:How to compute the complexity of machine learning models如何计算机器学习模型的复杂度
【发布时间】:2018-11-20 01:19:52
【问题描述】:

我正在将深度学习模型与车载网络通信安全中的应用进行比较。我想知道如何计算这些模型的复杂性,以了解我提出的模型的性能。我正在使用张量流

【问题讨论】:

  • 复杂性是什么意思?您指的是大 O 时间/空间复杂度吗?

标签: tensorflow


【解决方案1】:

您可以比较两个深度网络在空间和时间方面的复杂性。

关于空间复杂度:

模型中的参数数量 -> 这与模型消耗的内存量成正比。

关于时间复杂度:

  1. 针对给定的批次大小训练单个批次所需的时间。
  2. 训练收敛所需的时间
  3. 对单个样本执行推理所需的时间

一些论文还讨论了架构的复杂性。例如,如果 GoogLeNet 的准确率仅略高于 VGG-net,那么有些人可能更喜欢 VGG-net,因为它更容易实现。

您还可以讨论一些关于您的网络对超参数调整的容忍度的分析,即当您更改超参数时您的性能如何变化。

如果您的模型处于分布式设置中,还有其他一些事情需要提及,例如通信间隔,因为它有时是瓶颈。

总而言之,您几乎可以讨论任何您认为在另一个网络中实现方式不同的内容,并且会增加额外的复杂性,而不会大大提高您的网络的准确性。

我认为您不会想要它,但还有一个名为 deepBench 的开源项目可以对不同的深度网络模型进行基准测试。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-15
    • 2019-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-09
    相关资源
    最近更新 更多