探究三种池化函数在降维过程中的效率比较
池化函数通常被用作卷积神经网络中的降维操作,池化函数可以大大降低特征维数,同时避免数据冗余和过拟合。
首先定义卷积层:
定义池化函数:
均值池化:将卷积核扫描区域内的所有值加和求平均作为该次扫描的输出结果
最大值池化:将卷积核扫描区域内的最大值作为该次扫描的输出结果
自适应池化:此函数只输入一个 output_size 参数即可实现降维操作,具体实现过程是在运行过程中计算 kernel_size 和 stride ,padding 默认为 0 .
计算公式如下:
定义函数调用:
定义主函数:
在这里,我使用了 time() 函数计算每个池化函数的运行时间,在运行相同循环次数生成处理后的网络的前提下,得出每个池化函数的运行时间。
得出各函数的运行时间:
结论:
在其他条件一致的前提下,自适应池化的效率远低于另外两种池化,同时,均值池化和最值池化的效率几乎相同。