有什么方法可以选择层数和神经元吗?

机器算法验证 神经网络 自动编码器 超参数
2022-03-28 02:39:21

我正在学习应用于图像分类的自动编码器。但是,我正处于开始阶段(训练自动编码器以进行特征提取)。

我通过改变每一层的神经元数量并添加更多层来测试不同的拓扑。但我没有可靠的方法来做到这一点。因此,我通过在每一层中添加神经元(总是使用 sigmoidal 函数)来改变拓扑结构,有时我会得到更好的结果,而在其他情况下会更糟。我想知道,我该如何做出这个决定?例如,1000 个神经元可以正常工作,1005 个也可以正常工作,1010 和 1015 也是一样。

有没有遵循任何规则、概念、想法或技术来改变拓扑的方法?我在神经网络中使用 k-fold 在简单的 MLP 中做到这一点。然而,对于自动编码器,在尝试不同的拓扑结构时,我将需要大量的处理时间来将其应用到所有架构中。

1个回答

没有直接的方法来找到它们的最佳数量:人们凭经验尝试并查看(例如,使用交叉验证)。最常见的搜索技术是随机搜索、手动搜索和网格搜索。


存在更先进的技术,例如

1) 高斯过程。例子:

2)神经进化例子: