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