首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
list
byte
const
get
php8
post
frameworks
timestamp
dockerfile
hashset
filter
rsa
web3
python2
yaml
python3
hashtable
format
cPlusPlus
text
ascii
grid
tree
javascript
httpclient
triggers
usb
replace
object
testing
emoji
char
case
bit
bash
command
vba
foreach
node.js
java
subset
buffer
python
scala
cpython
process
bitmap
random
tags
utf-8
cookie
copy
blob
cmd
ip
callback
request
substring
php5
settings
sum
include
config
timezone
schema
split
runtime
client
install
actionscrip
solr
select
future
string
heatmap
go
integer
erlang
nodejs
当前位置:
开发笔记
>
编程语言
> 正文
深度学习——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
写下你的评论吧 !
吐个槽吧,看都看了
会员登录
|
用户注册
推荐阅读
text
机器学习中的相似度度量与模型优化
本文探讨了机器学习中常见的相似度度量方法,包括余弦相似度、欧氏距离和马氏距离,并详细介绍了如何通过选择合适的模型复杂度和正则化来提高模型的泛化能力。此外,文章还涵盖了模型评估的各种方法和指标,以及不同分类器的工作原理和应用场景。 ...
[详细]
蜡笔小新 2024-12-26 18:10:02
text
深入理解OAuth认证机制
本文介绍了OAuth认证协议的核心概念及其工作原理。OAuth是一种开放标准,旨在为第三方应用提供安全的用户资源访问授权,同时确保用户的账户信息(如用户名和密码)不会暴露给第三方。 ...
[详细]
蜡笔小新 2024-12-28 12:07:46
object
编写有趣的VBScript恶作剧脚本
本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ...
[详细]
蜡笔小新 2024-12-28 09:46:23
object
资源推荐 | TensorFlow官方中文教程助力英语非母语者学习
来源:机器之心。本文详细介绍了TensorFlow官方提供的中文版教程和指南,帮助开发者更好地理解和应用这一强大的开源机器学习平台。 ...
[详细]
蜡笔小新 2024-12-28 09:00:51
object
Java 序列化接口详解
本文深入探讨了 Java 中的 Serializable 接口,解释了其实现机制、用途及注意事项,帮助开发者更好地理解和使用序列化功能。 ...
[详细]
蜡笔小新 2024-12-27 15:06:12
get
寻找满足特定条件的整数N的最大和(a+b)
本文探讨了如何在给定整数N的情况下,找到两个不同的整数a和b,使得它们的和最大,并且满足特定的数学条件。 ...
[详细]
蜡笔小新 2024-12-26 19:26:18
format
从零构建递归神经网络:仅用NumPy实现
尽管使用TensorFlow和PyTorch等成熟框架可以显著降低实现递归神经网络(RNN)的门槛,但对于初学者来说,理解其底层原理至关重要。本文将引导您使用NumPy从头构建一个用于自然语言处理(NLP)的RNN模型。 ...
[详细]
蜡笔小新 2024-12-26 11:29:15
text
Python 的 10 个开发技巧!太实用了
1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ...
[详细]
蜡笔小新 2024-12-27 18:36:54
get
深入理解 SQL 视图、存储过程与事务
本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ...
[详细]
蜡笔小新 2024-12-27 17:40:42
get
Dockerfile 编写与 Docker 网络配置详解
本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ...
[详细]
蜡笔小新 2024-12-27 17:31:41
object
c# – UWP:BrightnessOverride StartOverride逻辑
c# – UWP:BrightnessOverride StartOverride逻辑 ...
[详细]
蜡笔小新 2024-12-27 16:56:40
get
数据库内核开发入门 | 搭建研发环境的初步指南
本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ...
[详细]
蜡笔小新 2024-12-27 16:38:48
grid
Yii2 GridView 实现列表页数据直接编辑的完整指南
本文详细介绍了如何使用 Yii2 的 GridView 组件在列表页面实现数据的直接编辑功能。通过具体的代码示例和步骤,帮助开发者快速掌握这一实用技巧。 ...
[详细]
蜡笔小新 2024-12-27 16:27:52
get
MyBatis 动态 SQL 详解与应用
本文深入探讨 MyBatis 中动态 SQL 的使用方法,包括 if/where、trim 自定义字符串截取规则、choose 分支选择、封装查询和修改条件的 where/set 标签、批量处理的 foreach 标签以及内置参数和 bind 的用法。 ...
[详细]
蜡笔小新 2024-12-27 16:20:10
replace
使用 Azure Service Principal 和 Microsoft Graph API 获取 AAD 用户列表
本文介绍了一段通用代码示例,该代码不仅能够操作 Azure Active Directory (AAD),还可以通过 Azure Service Principal 的授权访问和管理 Azure 订阅资源。Azure 的架构可以分为两个层级:AAD 和 Subscription。 ...
[详细]
蜡笔小新 2024-12-27 16:07:12
晴子suerw_980
这个家伙很懒,什么也没留下!
Tags | 热门标签
list
byte
const
get
php8
post
frameworks
timestamp
dockerfile
hashset
filter
rsa
web3
python2
yaml
python3
hashtable
format
cPlusPlus
text
ascii
grid
tree
javascript
httpclient
triggers
usb
replace
object
testing
RankList | 热门文章
1
RHEL6 中/etc/fstab文件解析
2
leetcode [304]Range Sum Query 2DImmutable
3
java8中stream常用方法详解
4
Jmeter(八)请求之cookie、token的处理
5
MapReduce编程(一) Intellij Idea配置MapReduce编程环境
6
十年文娱:大风起兮
7
Oceanbase试用版部署安装(Linux 平台上部署)
8
《留别金山宝觉圆通二长老》翻译 原文赏析诗人宋苏轼
9
su倒角工具,su倒角插件叫什么
10
Query的extend扩展方法使用点滴
11
SQL Server高性能写入的经验总结及数据库技术分享
12
在Myeclipse部署Tomcat时只有WEB-INF文件夹,无页面的及其他文件
13
c/c++开发分享详解C++构造函数
14
面试技巧3
15
Java 中的构造函数 getAnnotation()方法,示例
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有