您的位置:首页 > 理论基础 > 计算机网络

用TensorFlow实现卷积神经网络中的池化层

2017-03-14 17:02 176 查看
       卷积神经网络中卷积层之间往往会加上一个池化层。池化层可以非常有效的缩小矩阵的尺寸,从而减少最后全连接层中的参数。使用池化层既可以加快计算速度,也可以有防止过拟合问题的作用。

       池化层前向传播的过程也是通过移动一个类似过滤器的结构完成的。不过池化层过滤器中的计算不是节点的加权和,而是采用更加简单的最大值或者平均值运算。使用最大值操作的池化层被称为最大池化层,这是被使用的最多的池化层结构。使用平均值操作的池化层被称为平均池化层。其他池化层在实践中使用的比较少。

      与池化层的过滤器类似,池化层的过滤器也需要人工设定过滤器的大小、是否使用全0填充以及过滤器移动的步长等设置,而且这些设置的意义也是一样的。卷积层和池化层中过滤器移动的方式是类似的,唯一的区别在于卷积层使用的过滤器是横跨整个深度的,而池化层使用的过滤器只影响一个深度上的节点。

tf.nn.max_pool实现了最大池化层的前向传播过程,它的参数和tf.nn.conv2d函数类似。

ksize提供了过滤器的尺寸,strides提供了步长信息,padding提供了是否使用全0填充。

pool = tf.nn.max_pool(actived_conv, ksize=[1,3,3,1], strides=[1,2,2,1], padding='SAME')
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: