可以学习池化层的大小吗?

数据挖掘 机器学习 神经网络 卷积网络
2021-10-03 04:48:01

据我了解,池化层没有学到任何东西。它有几个参数,最重要的是它的pool_sizestride(有关更多信息,请参阅Lasagne 文档),但没有一个是学习的。

是否可以学习这两个(或其中之一)参数?有没有关于它的论文?

(我想不可能以有意义的方式将其添加到目标函数中......但我想看看人们是否考虑过。)

1个回答

不,不可能使用学习算法从数据集中学习这些元参数。没有办法计算任何目标函数相对于 pool_size 和 stride 参数的梯度。即使有,它们通常是离散值和相对较小的整数,因此不能以与权重相同的方式更新。

您可以做的是搜索不同的值以寻找最佳值,使用交叉验证来选择最佳值。大小和步幅元参数也会对内存使用和学习速度产生很大影响,因此您可能正在寻找一个好的折衷方案。例如,对于较低层的步幅,具有更高的步幅值可能更有效(就类似准确度所需的训练时间而言),但通过向训练集添加随机 x/y 平移来增加整体训练集大小图片。