首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
request
settings
timezone
netty
jsp
byte
text
nodejs
fetch
install
actionscrip
cSharp
yaml
usb
config
sum
include
cpython
golang
emoji
uri
php8
express
solr
hashcode
copy
ascii
dockerfile
version
string
triggers
scala
require
future
dagger
js
main
perl
go
timestamp
client
buffer
web
import
instance
web3
integer
object
export
hook
substring
foreach
python3
email
bit
hashset
process
stream
plugins
header
php7
join
hashtable
io
split
iostream
schema
search
bitmap
utf-8
jar
function
httpclient
dll
expression
bash
spring
eval
list
当前位置:
开发笔记
>
编程语言
> 正文
深度学习——PoolingLayer
作者:晴子suerw_980 | 来源:互联网 | 2024-10-18 09:40
深度学习——PoolingLayer简介PoolingLayer正常是用于ConvolutionLayer后面,可以进一步提取有效特征,降低nW,n
深度学习——Pooling Layer
简介
Pooling Layer正常是用于Convolution Layer后面,可以进一步提取有效特征,降低
nW,nHn_W,n_H
n
W
,
n
H
维度,减少计算量。Pooling 层和Convolution层一样具有
stride(d)、f、pad(p)stride(d)、f、pad(p)
s
t
r
i
d
e
(
d
)
、
f
、
p
a
d
(
p
)
参数。
Pooling Layer主要有两种:1)Max Pooling、2)Average Pooling,如下图(1)
nHl=⌊nHl−1+2∗p−fs+1⌋,nWl=⌊nWl−1+2∗p−fs+1⌋,nCl=nCl−1(1)n_H^l=\lfloor \frac{n_H^{l-1}+2*p-f}{s}+1\rfloor,n_W^l=\lfloor \frac{n_W^{l-1}+2*p-f}{s}+1\rfloor,n_C^{l}=n_C^{l-1} \qquad(1)
n
H
l
=
⌊
s
n
H
l
−
1
+
2
∗
p
−
f
+
1
⌋
,
n
W
l
=
⌊
s
n
W
l
−
1
+
2
∗
p
−
f
+
1
⌋
,
n
C
l
=
n
C
l
−
1
(
1
)
figure(1)figure(1)
f
i
g
u
r
e
(
1
)
1、Max Pooling
forwardpropagation
Max Pooling
如上图(1)所示,对输入数据每一通道在f*f 的slice范围内的数取最大值形成新的矩阵,最后每一通的矩阵concat在一起,维度变为公式(1)。
f=2,stride=2f =2,stride =2
f
=
2
,
s
t
r
i
d
e
=
2
。
a(nh,nw,c)l=max(a(nh∗stride:nh∗stride+f,nw∗stride:nw∗stride+f,c)l−1)(2)a_{(nh,nw,c)}^l=max(a^{l-1}_{(nh*stride:nh*stride+f,nw*stride:nw*stride+f,c)})\qquad(2)
a
(
n
h
,
n
w
,
c
)
l
=
m
a
x
(
a
(
n
h
∗
s
t
r
i
d
e
:
n
h
∗
s
t
r
i
d
e
+
f
,
n
w
∗
s
t
r
i
d
e
:
n
w
∗
s
t
r
i
d
e
+
f
,
c
)
l
−
1
)
(
2
)
backpropagation
由前向传播可以知道,梯度只要最大值才有,只有最大值才需更新。
mask=(a(nh∗stride:nh∗stride+f,nw∗stride:nw∗stride+f,c)l−1==max)//等于最大值的位置变为1,其他为0(3)mask = (a^{l-1}_{(nh*stride:nh*stride+f,nw*stride:nw*stride+f,c)}==max)//等于最大值的位置变为1,其他为0 \qquad(3)
m
a
s
k
=
(
a
(
n
h
∗
s
t
r
i
d
e
:
n
h
∗
s
t
r
i
d
e
+
f
,
n
w
∗
s
t
r
i
d
e
:
n
w
∗
s
t
r
i
d
e
+
f
,
c
)
l
−
1
=
=
m
a
x
)
/
/
等
于
最
大
值
的
位
置
变
为
1
,
其
他
为
0
(
3
)
dA(nh∗stride:nh∗stride+f,nw∗stride:nw∗stride+f,c)l−1+=mask∗dA(nw,nh,nc)l(4)dA^{l-1}_{(nh*stride:nh*stride+f,nw*stride:nw*stride+f,c)} +=mask*dA^l_{(nw,nh,nc)}(4)
d
A
(
n
h
∗
s
t
r
i
d
e
:
n
h
∗
s
t
r
i
d
e
+
f
,
n
w
∗
s
t
r
i
d
e
:
n
w
∗
s
t
r
i
d
e
+
f
,
c
)
l
−
1
+
=
m
a
s
k
∗
d
A
(
n
w
,
n
h
,
n
c
)
l
(
4
)
2、Average Pooling
forwardpropagation
Average Pooling
如上图(1)所示,对输入数据每一通道在f*f 的slice范围内的数计算平均值形成新的矩阵,最后每一通的矩阵concat在一起,维度变为公式(1)。
f=2,stride=2f =2,stride =2
f
=
2
,
s
t
r
i
d
e
=
2
。
a(nh,nw,c)l=np.sum(a(nh∗stride:nh∗stride+f,nw∗stride:nw∗stride+f,c)l−1)f∗f(5)a_{(nh,nw,c)}^l=\frac{np.sum(a^{l-1}_{(nh*stride:nh*stride+f,nw*stride:nw*stride+f,c)})}{f*f}\qquad(5)
a
(
n
h
,
n
w
,
c
)
l
=
f
∗
f
n
p
.
s
u
m
(
a
(
n
h
∗
s
t
r
i
d
e
:
n
h
∗
s
t
r
i
d
e
+
f
,
n
w
∗
s
t
r
i
d
e
:
n
w
∗
s
t
r
i
d
e
+
f
,
c
)
l
−
1
)
(
5
)
backpropagation
由前向传播可以知道
dAverage(nh∗stride:nh∗stride+f,nw∗stride:nw∗stride+f,c)l=np.sum(dAverage(nh∗stride:nh∗stride+f,nw∗stride:nw∗stride+f,c)l−1)f∗fdAverage^{l}_{(nh*stride:nh*stride+f,nw*stride:nw*stride+f,c)}=\frac{np.sum(dAverage^{l-1}_{(nh*stride:nh*stride+f,nw*stride:nw*stride+f,c)})}{f*f}
d
A
v
e
r
a
g
e
(
n
h
∗
s
t
r
i
d
e
:
n
h
∗
s
t
r
i
d
e
+
f
,
n
w
∗
s
t
r
i
d
e
:
n
w
∗
s
t
r
i
d
e
+
f
,
c
)
l
=
f
∗
f
n
p
.
s
u
m
(
d
A
v
e
r
a
g
e
(
n
h
∗
s
t
r
i
d
e
:
n
h
∗
s
t
r
i
d
e
+
f
,
n
w
∗
s
t
r
i
d
e
:
n
w
∗
s
t
r
i
d
e
+
f
,
c
)
l
−
1
)
dA((nh∗stride:nh∗stride+f,nw∗stride:nw∗stride+f,c)l−1+=dAverage(nh∗stride:nh∗stride+f,nw∗stride:nw∗stride+f,c)l(4)dA^{l-1}_{((nh*stride:nh*stride+f,nw*stride:nw*stride+f,c)} += dAverage^{l}_{(nh*stride:nh*stride+f,nw*stride:nw*stride+f,c)} (4)
d
A
(
(
n
h
∗
s
t
r
i
d
e
:
n
h
∗
s
t
r
i
d
e
+
f
,
n
w
∗
s
t
r
i
d
e
:
n
w
∗
s
t
r
i
d
e
+
f
,
c
)
l
−
1
+
=
d
A
v
e
r
a
g
e
(
n
h
∗
s
t
r
i
d
e
:
n
h
∗
s
t
r
i
d
e
+
f
,
n
w
∗
s
t
r
i
d
e
:
n
w
∗
s
t
r
i
d
e
+
f
,
c
)
l
(
4
)
深度学习
io
ide
sum
写下你的评论吧 !
吐个槽吧,看都看了
会员登录
|
用户注册
推荐阅读
sum
深入理解OAuth认证机制
本文介绍了OAuth认证协议的核心概念及其工作原理。OAuth是一种开放标准,旨在为第三方应用提供安全的用户资源访问授权,同时确保用户的账户信息(如用户名和密码)不会暴露给第三方。 ...
[详细]
蜡笔小新 2024-12-28 12:07:46
version
编写有趣的VBScript恶作剧脚本
本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ...
[详细]
蜡笔小新 2024-12-28 09:46:23
version
资源推荐 | TensorFlow官方中文教程助力英语非母语者学习
来源:机器之心。本文详细介绍了TensorFlow官方提供的中文版教程和指南,帮助开发者更好地理解和应用这一强大的开源机器学习平台。 ...
[详细]
蜡笔小新 2024-12-28 09:00:51
version
Java 序列化接口详解
本文深入探讨了 Java 中的 Serializable 接口,解释了其实现机制、用途及注意事项,帮助开发者更好地理解和使用序列化功能。 ...
[详细]
蜡笔小新 2024-12-27 15:06:12
string
Akka BackoffSupervisor的深入解析与实践
本文详细介绍了Akka中的BackoffSupervisor机制,探讨其在处理持久化失败和Actor重启时的应用。通过具体示例,展示了如何配置和使用BackoffSupervisor以实现更细粒度的异常处理。 ...
[详细]
蜡笔小新 2024-12-27 15:04:09
string
Unity 客户端框架设计:UI管理系统的构建
本文详细介绍了如何构建一个高效的UI管理系统,集中处理UI页面的打开、关闭、层级管理和页面跳转等问题。通过UIManager统一管理外部切换逻辑,实现功能逻辑分散化和代码复用,支持多人协作开发。 ...
[详细]
蜡笔小新 2024-12-27 10:28:40
string
寻找满足特定条件的整数N的最大和(a+b)
本文探讨了如何在给定整数N的情况下,找到两个不同的整数a和b,使得它们的和最大,并且满足特定的数学条件。 ...
[详细]
蜡笔小新 2024-12-26 19:26:18
string
Handling Null Object Encoding in OAuth 1.0a API Implementation
Explore a common issue encountered when implementing an OAuth 1.0a API, specifically the inability to encode null objects and how to resolve it. ...
[详细]
蜡笔小新 2024-12-28 08:54:34
string
Spring Boot DevTools 实现项目自动重启功能
本文介绍了如何使用 Spring Boot DevTools 实现应用程序在开发过程中自动重启。这一特性显著提高了开发效率,特别是在集成开发环境(IDE)中工作时,能够提供快速的反馈循环。默认情况下,DevTools 会监控类路径上的文件变化,并根据需要触发应用重启。 ...
[详细]
蜡笔小新 2024-12-28 04:42:15
config
网络链路质量监控:Smokeping部署与配置
本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ...
[详细]
蜡笔小新 2024-12-27 19:31:05
request
c# – UWP:BrightnessOverride StartOverride逻辑
c# – UWP:BrightnessOverride StartOverride逻辑 ...
[详细]
蜡笔小新 2024-12-27 16:56:40
request
数据库内核开发入门 | 搭建研发环境的初步指南
本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ...
[详细]
蜡笔小新 2024-12-27 16:38:48
text
Yii2 GridView 实现列表页数据直接编辑的完整指南
本文详细介绍了如何使用 Yii2 的 GridView 组件在列表页面实现数据的直接编辑功能。通过具体的代码示例和步骤,帮助开发者快速掌握这一实用技巧。 ...
[详细]
蜡笔小新 2024-12-27 16:27:52
include
MyBatis 动态 SQL 详解与应用
本文深入探讨 MyBatis 中动态 SQL 的使用方法,包括 if/where、trim 自定义字符串截取规则、choose 分支选择、封装查询和修改条件的 where/set 标签、批量处理的 foreach 标签以及内置参数和 bind 的用法。 ...
[详细]
蜡笔小新 2024-12-27 16:20:10
string
深入解析ExpandableComposite.addExpansionListener()方法及其应用
本文详细介绍了Java中org.eclipse.ui.forms.widgets.ExpandableComposite类的addExpansionListener()方法,并提供了多个实际代码示例,帮助开发者更好地理解和使用该方法。这些示例来源于多个知名开源项目,具有很高的参考价值。 ...
[详细]
蜡笔小新 2024-12-27 16:11:49
晴子suerw_980
这个家伙很懒,什么也没留下!
Tags | 热门标签
request
settings
timezone
netty
jsp
byte
text
nodejs
fetch
install
actionscrip
cSharp
yaml
usb
config
sum
include
cpython
golang
emoji
uri
php8
express
solr
hashcode
copy
ascii
dockerfile
version
string
RankList | 热门文章
1
如何关闭H&G sync窗口?
2
利用github actions 部署vue项目
3
通用补位函数
4
08密码忘记
5
springBoot2最佳实战
6
《念奴娇 花草粹编卷十引水浒传》翻译 原文赏析诗人元完颜亮
7
python根据时间序列画折线图_时间序列模型的python实现
8
DEDECMS最新5.7版在Windows下的Memcache安装
9
mysql的grant命令
10
如何远程监控tomcat运行
11
flink 本地_Flink本地安装和创建Flink应用
12
思考题|传统_一本教你如何编写高质量代码的图书:《设计模式之美》
13
TKContactsMultiPicker
14
if 嵌套if 的先后顺序的区别 (自测)
15
设计user表的时候的小问题
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有