一文弄清池化层(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)
热门推荐
峨眉山与青城山:四川两大名山的历史渊源与文化特色详解
月德贵人查法 月德贵人是什么意思
大理鸡足山旅游攻略:门票、交通与景点全解析
荠菜炒鸡蛋这样做,美味一百倍!
抚顺县十大旅游景点
Astra种植体和ITI种植体哪个好?从技术、价格到患者反馈的全面对比
小孩眼睛过敏红肿痒怎么办
近姻亲关系包括哪些关系
近姻亲关系人员的法律内涵与实务分析
可燃冰的主要成分是是什么
电动车新国标重新修订!2025年,4种常见的电动车不推荐购买
为啥现在很少有人偷电动车或者电瓶了?背后原因很现实
轻松搞定!电脑息屏时间设置秘籍,节能又高效
舌苔发黑警惕四种病
公允价值变动收益是什么
三角洲行动全面战场调整了什么:核心改动与平衡性优化详解
Eternal Strands 等多款游戏支持 DLSS
【诗词】二十四节气歌‖黄钢
石湖东路地铁站是几号线地铁-是属于哪个区-石湖东路地铁站末班车时间表
如何识别股票的反转信号
最适合懒人的减肚子方法
弘扬传统文化,倡导理性消费丨多方联动共建青少年文化消费新生态
不锈钢螺栓强度等级介绍
困在“开门红”指标里的地方银行
天使综合症的遗传性、病因及诊断方法
Ube3a基因敲除小鼠在揭秘天使综合征致病原因及提供治疗中的应用
李沧区设区30周年:李村商圈的变迁与发展
治手癣的中药药方
中医治疗哮喘:从辨证论治到个性化疗法
完颜姓氏的历史与文化传承:女真族的贵族姓氏及其现代状况