卷积神经网络与循环神经网络:原理、实现与优化
1. 卷积神经网络中的最大池化
在卷积层提取出有用特征后,通常会对卷积输出进行降维处理。最大池化(Max pooling)就是这样一种技术,其核心思想是在图像上滑动一个窗口,选取窗口内像素值最大的像素。根据步长的不同,得到的图像尺寸会是原始图像的几分之一。这有助于减少数据的维度,进而减少后续步骤中的参数数量,避免过拟合。
以下是在 TensorFlow 中实现最大池化的代码:
k = 2
maxpool = tf.nn.max_pool(conv_out,
ksize=[1, k, k, 1],
strides=[1, k, k, 1],
padding='SAME')
with tf.Session() as sess:
maxpool_val = sess.run(maxpool)
show_conv_results(maxpool_val, 'step3_maxpool.png')
print(np.shape(maxpool_val))
运行这段代码后,最大池化函数会将图像尺寸减半,生成分辨率较低的卷积输出,使算法在计算上更加高效,同时不会损失太多信息。
练习题 :对一个 32×32 的图像进行最大池化,窗口大小为 2×2,步长为 2,得到的最大池化图像尺寸是多少?
超级会员免费看
订阅专栏 解锁全文
1万+

被折叠的 条评论
为什么被折叠?



