汇聚层(Pool Layer)
最编程
2024-07-27 07:31:13
...
CNN一般采用average pooling或max pooling来进行池化操作,而池化操作会改变feature map的大小,例如大小为64×64的feature map使用2×2的步长池化后,feature map大小为32×32。因此,这会使得在反向传播中,pooling层的梯度无法与前一层相对应。
那怎么解决这个问题呢?其实也很简单,可以理解为就是pooling操作的一个逆过程,把一个像素的梯度传递给4个像素,保证传递的loss(或梯度)总和不变。下面分别来看average pooling和max pooling的反向传播操作过程。
average pooling
average pooling在前向传播中,就是把一个patch中的值取平均传递给下一层的一个像素。因此,在反向传播中,就是把某个像素的值平均分成 n 份分配给上一层。(!!注意这里是分成 n 份,而不是将该元素的值复制 n 份,不然会使得loss之和变为原来的 n 倍,造成梯度爆炸。)
max pooling
max pooling在前向传播中,把一个patch中最大的值传递给下一层,其他值会被舍弃掉。因此,在反向传播中,就是将当前梯度直接传递给前一层的某个像素,而让同一个patch中的其他像素值为0。
所以,max pooling和average pooling不同的是,max pooling在前向传播的时候要记录池化操作时哪个像素的值是最大的,即max_id,在反向传播中才能将其对应起来。
总结: pooling层没有可学习的参数,在CNN的反向传播中,pooling层需要做的仅仅是将误差传递到上一层,而没有计算梯度的过程。
推荐阅读
-
24/10/12 算法说明 汇聚层
-
linux之防火墙篇三layer7应用层过滤
-
汇聚层(Pool Layer)
-
学习启用第 3 层路由的 H3C 交换机配置命令 在接口配置模式下 [接口 g1/0/1 [启用此接口的三层路由功能。 [Disable Layer 3 routing function of this interface (禁用此接口的第 3 层路由功能 配置交换机接口 [H3C] interface g1/0/1 [H3C-GigabitEthernet1/0/1] ip add 192.168.1.1 255.255.0.0 配置交换机虚拟接口 [H3C] interface Vlan-interface 10 [H3C-Vlan-interface 10] ip add 192.168.1.1 255.255.0.0 配置交换机虚拟接口 将端口的链接类型配置为访问类型 VLAN 视图 [H3C] vlan 10 [将一个接入端口或一组接入端口添加到当前 VLAN 中 接口视图 [H3C-GigabitEthernet1/0/1] port link-type access // 默认情况下,端口的链路类型是 Access [H3C-GigabitEthernet1/0/1] port access vlan 10 // 将当前 Access 端口添加到指定的 VLAN 中 将端口的链路类型配置为 Trunk。 [H3C-GigabitEthernet1/0/1] port link-type trunk 默认情况下,端口的链接类型为 Access 类型 允许指定的 VLAN 通过当前 trunk 端口 [H3C-GigabitEthernet1/0/1] port trunk permit vlan { vlan-id-list | all } 默认情况下,中继端口只允许 VLAN 1 报文通过。 (可选)设置 trunk 端口的默认 VLAN。 [H3C-GigabitEthernet1/0/1] port trunk pvid vlan vlan-id 默认情况下,中继端口的默认 VLAN 为 VLAN 1。 静态链路聚合的典型配置 创建第 2 层聚合端口 [H3C-A] interface Bridge-Aggregation 1 [H3C-A-Bridge-Aggregation1] port link-type trunk [H3C-A-Bridge-Aggregation1] port trunk permit vlan 10 20 30 将设备 A 上的聚合端口分别添加到聚合组中 [H3C-A] 接口 Ethernet 1/0/1 [H3C-A-Ethernet1/0/1] port link-type trunk [H3C-A-Ethernet1/0/1] port trunk permit vlan 10 20 30 [H3C-A-Ethernet1/0/1] 端口链路聚合组 1 查看链路聚合命令 [H3C] display link-aggregation verbose 动态聚合模式 创建第 2 层聚合端口
-
每天最重要的三件事|第9章:汇聚家务劳动的力量,让工作质量更上一层楼
-
标题:Android Window Layer层级关系-Application windows(应用窗口): 1~99Sub-windows(子窗口): 1000~1999System windows(系统窗口): 2000~2999 注意: 网上有很多说法,系统窗口 > 子窗口 > 应用窗口,从数值上来说是正确的,但是如果说 Window Layer的层级关系,这个说法就是错误的,举个很简单的例子,壁纸层 属于系统窗口管理,但是Window Layer的层级关系 却是最底端;WindowType 的值划分是为了更好的管理Window的类别、权限、依赖关系,和实际的Window Layer层级并没有关系。
-
揭开网络构造的秘密:核心、汇聚与接入三层结构详解
-
DDD领域驱动设计架构模式:防腐层(Anti-corruption layer)
-
在Unity里,如何通过"层次标签(Layer)"找到并获取特定层级,如UI层中的某个游戏对象?
-
用简洁语言解释:Layui框架中的layer 弹出层功能指南