一文弄清池化层(pooling)的作用
创作时间:
作者:
@小白创作中心
一文弄清池化层(pooling)的作用
引用
CSDN
1.
https://blog.csdn.net/festaw/article/details/136683513
池化层是什么?
池化层的本质是一个下采样过程。在数据经过卷积操作后,维度会越来越高,虽然特征图的变化不大,但参数量却迅速增加,这会导致模型训练困难并容易产生过拟合现象。因此,将池化层置于连续的卷积层之间,可以压缩数据量和参数,减少过拟合的风险。池化层通过聚合统计一个像素点及其周围像素点的信息,来缩减特征图的尺寸,从而减少最终全连接层中的参数数量,加快模型的计算速度。常见的池化层类型包括最大池化、均值池化和空间金字塔池化等。如图所示,最大池化操作选择某个像素点相邻区域内的最大值,而均值池化操作则计算相邻区域内的平均值。
池化的作用
池化操作后的结果相比其输入缩小了。池化层的引入是仿照人的视觉系统对视觉输入对象进行降维和抽象。在卷积神经网络过去的工作中,研究者普遍认为池化层有如下三个功效:
特征不变性:池化操作使模型更加关注是否存在某些特征,而不是特征的具体位置。这种不变性包括平移不变性、旋转不变性和尺度不变性。例如,对于平移不变性,输入为(1, 5, 3)时,最大池化会取5;如果将输入右移一位得到(0, 1, 5),输出的结果仍将为5。对于尺度变换,如果原先的神经元在最大池化操作后输出5,那么经过尺度变换后,最大池化操作在该神经元上很大概率的输出仍是5。
特征降维(下采样):池化相当于在空间范围内做了维度约减,从而使模型可以抽取更加广范围的特征。同时减小了下一层的输入大小,进而减少计算量和参数个数。
在一定程度上防止过拟合,更方便优化:
- 实现非线性(类似ReLU)。
- 扩大感受野。
示例代码
import numpy as np
# 定义池化层类
class PoolingLayer:
def __init__(self, pool_size=(2, 2), stride=2, mode='max'):
self.pool_height, self.pool_width = pool_size
self.stride = stride
self.mode = mode
def forward(self, input):
batch_size, input_height, input_width, num_channels = input.shape
output_height = (input_height - self.pool_height) // self.stride + 1
output_width = (input_width - self.pool_width) // self.stride + 1
pooled_output = np.zeros((batch_size, output_height, output_width, num_channels))
for b in range(batch_size):
for c in range(num_channels):
for i in range(output_height):
for j in range(output_width):
if self.mode == 'max':
pooled_output[b, i, j, c] = np.max(input[b, i*self.stride:i*self.stride+self.pool_height,
j*self.stride:j*self.stride+self.pool_width, c])
elif self.mode == 'average':
pooled_output[b, i, j, c] = np.mean(input[b, i*self.stride:i*self.stride+self.pool_height,
j*self.stride:j*self.stride+self.pool_width, c])
return pooled_output
# 测试池化层
if __name__ == "__main__":
# 创建输入特征图
input_feature_map = np.random.rand(1, 4, 4, 3) # 输入特征图大小为4x4,通道数为3,一个样本
# 创建池化层对象
pooling_layer = PoolingLayer(pool_size=(2, 2), stride=2, mode='max')
# 进行前向传播
pooled_output = pooling_layer.forward(input_feature_map)
# 输出池化后的特征图
print("池化后的特征图:")
print(pooled_output)
热门推荐
新郑市公交大升级!这些线路有变
郑州园博园:94个展园、粉红沙滩、萌宠乐园,周末休闲新去处
新郑周边游|袁桥古村:郑州人的休闲度假新去处
柠檬记带你玩转新郑,超省心省钱攻略!
透析并发症预防指南:从症状识别到日常管理
血液透析患者的营养秘籍大公开!
保温杯泡茶过夜饮用安全指南:探讨隔夜茶的利与弊
老人吃饭易噎食如何预防
新郑穷游攻略:黄帝千古情景区超值体验!
春暖花开,宜昌自驾游正当时!
宜昌博物馆:龙文物精品展展现千年文化魅力
用12345热线和随手拍举报违法,你get了吗?
FIM | 癌症中西医结合治疗中的中医整体观
高蛋白质高热量食物:癌症患者营养支持指南
嵩山少林寺:周末逃离城市的好去处
郑州黄河百里生态长廊:打造母亲河畔的绿色新地标
麻将的历史与文化内涵
赵雅芝叶童春晚同框:一把伞,串联起多个剧种的《白蛇传》
眉山舞团再登春晚舞台!45名演员演绎5个节目,展现东坡文化魅力
腌鹅蛋怎么腌能好吃还出油?腌鹅蛋秘籍大揭秘
商丘到张家界旅游攻略:全面路线与一日游、自驾游指南及报价汇总
天门山国家森林公园旅游攻略
张家界大峡谷旅游攻略和游玩线路
粉丝虾仁:海鲜与粉丝的绝妙组合
多种粉丝汤的做法大全:从龙口粉丝到红薯粉丝,总有一款适合你
高血压患者要少吃米饭?医生:不想造成胰岛素抵抗,就别这么吃!
冬季健康吃汤圆小妙招
元宵节必打卡:爆浆汤圆酥&脆皮梦龙汤圆
冬至汤圆怎么吃才健康?营养师教你这样做
元宵节吃汤圆,你家是甜馅还是咸馅?