首页 > 技术文章 > CNN中常见的几种pool操作

catallen 2018-04-17 10:24 原文

0. 高

    首先回忆一下,CNN中用来加深网络深度的基本操作“Conv-relu-pool”。今天要讲的几种pool方法就是池化层的常用操作(具体来讲,其实是应用于NLP的CNN网络。不过对于图像应该也有所启发,过程不难,可以当小甜点食用)。在第二篇CNN的讲解中,当时的pool层是选用如下图的maxpool的方式,相对来说比较暴力,而且降维效果非常好。

1. 白

    有学者认为,直接食用maxpool太过粗暴。如上图中,每一个2*2分块要丢失3个块的信息而只取其一。所以提出了一些其他的maxpool方法。

  1.1 K-maxpool

    看名字应该知道,就是取K个最大的值作为本区域的采样代表值,保留了更多的原信息。相应的是增加了采样的维度,后续的计算会更加复杂一点(需要增多层与层之间的参数。例如CNN的MNIST例子中,最后一层全连接层为20->10,而K-maxpool可能为40->10等等)。

 

  1.2 Chunk-maxpool

    Chunk-maxpool是基于K-maxpool的一种方法。它的做法是先将采样对象分块,然后取快中的max或者K-max。这种做法就保留了更多的采样信息,同时采样量和计算量也剧增。

2. 听话

    具体使用哪种pool方法可能要依据具体的实验数据,参考一些论文或许会比较好。但是maxpool,K-maxpool,Chunk-maxpool这三种常见pool方法应该还是要有所了解的。图像领域不知道应用是否广泛,但在NLP领域这几种方法应用还是挺多的。小黑喵教程今天就到此为止了。

推荐阅读