【问题标题】:How to choose the number of convolution layers and filters in CNNCNN中如何选择卷积层数和滤波器数
【发布时间】:2020-02-25 17:03:51
【问题描述】:

我正在尝试提高我的 CNN 模型的速度,我使用的方法是移除架构中的一些卷积层,并且模型的准确性与我的数据集几乎保持一致。

我想知道在训练模型之前有什么方法可以分析数据集有多少卷积层就足够了?还有其他方法可以分析模型有多少过滤器就足够了吗?

【问题讨论】:

标签: deep-learning convolution


【解决方案1】:

让我们首先从更直接的部分开始。知道输入和输出层的数量以及它们的神经元数量是最容易的部分。每个网络都有一个输入层和一个输出层。输入层中的神经元数量等于正在处理的数据中输入变量的数量。输出层中的神经元数量等于与每个输入相关的输出数量。 但挑战在于了解隐藏层的数量及其神经元。

答案是您无法分析计算层数或人工神经网络中每层使用的节点数来解决特定的现实世界预测建模问题。 层数和每层中的节点数是您必须指定和学习的模型超参数。 您必须使用强大的测试工具和受控实验来发现答案。无论您可能会遇到何种启发式方法,所有答案都将回到需要仔细实验以了解哪种方法最适合您的特定数据集。

例如,过滤器大小是您应该在训练网络之前指定的此类超参数之一。
对于图像识别问题,如果您认为网络识别对象需要大量像素,您将使用大过滤器(如 11x11 或 9x9)。如果您认为区分对象的是一些小的局部特征,您应该使用小型过滤器(3x3 或 5x5)。 这些是一些提示,但不存在任何规则。

有很多技巧可以提高深度学习模型的准确性。请参考此链接Improve deep learning model performance

希望这会对你有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-21
    • 2019-04-17
    • 1970-01-01
    • 1970-01-01
    • 2018-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多