有没有一种方法可以帮助我在训练之前从根本上构建我的 CNN?

人工智能 神经网络 机器学习 深度学习 卷积神经网络 人工智能设计
2021-11-01 08:32:11

当我们训练一个 CNN 模型时,我们经常尝试过滤器的数量、卷积层的数量、FC 层、过滤器大小,有时还有步幅、激活函数等。通常在训练模型一次之后,这只是一个试验&错误过程。

  1. 有没有一种方法可以帮助我在训练之前从根本上构建我的模型?

  2. 一旦我训练了模型,我怎么知道这些变量(过滤器的数量、大小、卷积层的数量、FC 层)应该改变——增加还是减少?

PS这个问题假设数据量足够并且注释正确,但准确性仍然达不到标准。因此,我已经排除了该问题存在非架构缺陷的可能性。

1个回答

请参阅卷积神经网络架构的分析和优化(我的硕士论文)。

  1. 有没有一种方法可以帮助我在训练之前从根本上构建我的模型?

是的,但是架构学习方法是计算密集型的。当我写硕士论文时,运行 Google 实验大约需要 250,000 美元。同时,似乎有更有效的方法,例如https://autokeras.com/

见第 3 章。

  1. 一旦我训练了模型,我怎么知道这些变量(过滤器的数量、大小、卷积层的数量、FC 层)应该改变——增加还是减少?

有关一些方法,请参见第 2.5 章。但是这个问题没有灵丹妙药/没有明确的答案。