我一直在寻找一种自动方式来决定我应该将多少层应用于我的网络,这取决于数据和计算机配置。我在网上搜索,但我找不到任何东西。也许我的关键字或寻找方式是错误的。
你有什么主意吗?
最佳答案
神经网络的层数或深度是其超参数之一。
这意味着它是一个无法从数据中学习到的数量,但是您应该在 尝试拟合您的数据集之前选择它 。根据 Bengio ,
有三种主要方法可以找出超参数的最佳值。前两个在我链接的论文中得到了很好的解释。
更具体地说,向深度神经网络添加更多层可能会提高性能(减少泛化误差),当它过度拟合训练数据时,性能会提高到一定数量。
所以,在实践中,你应该用 4 层训练你的 ConvNet,尝试添加一个隐藏层并再次训练,直到你看到一些过度拟合。当然,需要一些强正则化技术(例如 dropout )。
关于machine-learning - 如何在卷积神经网络中动态找到网络的深度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29545897/