| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 我的机器学习支线「模型复杂度」 -> 正文阅读 |
|
[人工智能]我的机器学习支线「模型复杂度」 |
文章目录
模型复杂度模型复杂度通常是指前向过程的计算量(反映模型所需要的计算时间)和参数个数(反映模型所需要的计算机内存空间) 时间复杂度用于评价模型运行效率高低,通常意味着模型运行速度
FLOPs1. Convolution
F
L
O
P
s
=
(
2
×
C
i
n
p
u
t
?
S
f
i
l
t
e
r
h
?
S
f
i
l
t
e
r
w
?
1
)
?
?
C
o
u
t
p
u
t
?
S
i
n
p
u
t
h
?
S
i
n
p
u
t
w
e
.
g
.
C
i
n
p
u
t
=
3
C
o
u
t
p
u
t
=
4
S
f
i
l
t
e
r
h
=
S
f
i
l
t
e
r
w
=
3
S
i
n
p
u
t
h
=
S
i
n
p
u
t
w
=
6
F
L
O
P
s
=
(
2
×
3
×
3
2
?
1
)
×
4
×
6
2
=
7632
FLOPs=(2\times C_{input}\cdot S_{filter_h}\cdot S_{filter_w}-1)^*\cdot C_{output}\cdot S_{input_h}\cdot S_{input_w}\\ \begin{aligned}\\ e.g.\quad &C_{input}=3\quad C_{output}=4\quad S_{filter_h}=S_{filter_w}=3\quad S_{input_h}=S_{input_w}=6\\ &FLOPs=(2\times3\times3^2-1)\times4\times6^2=7632 \end{aligned}
FLOPs=(2×Cinput??Sfilterh???Sfilterw???1)??Coutput??Sinputh???Sinputw??e.g.?Cinput?=3Coutput?=4Sfilterh??=Sfilterw??=3Sinputh??=Sinputw??=6FLOPs=(2×3×32?1)×4×62=7632? 2. AttentionF L O P s = { 2 D k N D x ?? + ?? 2 D k N 2 ?? + ?? 1 3 D 2 N ?? + ?? 2 D N 2 ?? + ?? 1 i f D x = D k = D v = O u r ? D m o d e l = D FLOPs=\begin{cases} 2D_kND_x\;+\;2D_kN^2\;+\;1\\ 3D^2N\;+\;2DN^2\;+\;1\quad if\quad D_x=D_k=D_v=Our\,D_{model}=D \end{cases} FLOPs={2Dk?NDx?+2Dk?N2+13D2N+2DN2+1ifDx?=Dk?=Dv?=OurDmodel?=D? 3. Fully connected假设全连接包括输入层隐含层输出层三层,输入层包含 N 批次 D 个神经元,隐含层包含 N 批次 4D 个神经元,输出层包含 N 批次 D 个神经元 F L O P s ?? = ?? D ? 4 D ? N + 4 D ? D ? N = ?? 8 D 2 N \begin{aligned}\\ FLOPs\;&=\;D\cdot 4D\cdot N+4D\cdot D\cdot N\\ &=\;8D^2N \end{aligned} FLOPs?=D?4D?N+4D?D?N=8D2N? 空间复杂度用于评价模型占用空间大小,通常意味着模型能否运行
ParametersP a r a m e t e r s = V o l u m e ( T e n s o r W e i g h t ) Parameters=Volume(Tensor_{Weight}) Parameters=Volume(TensorWeight?) Data bitsF l o a t 32 o r F l o a t 64 ? Float32\quad or\quad Float64\quad\cdots Float32orFloat64? 深度学习模型调研0. Attention Is All You NeedPer-layer complexity, minimum number of sequential operations for different layer types and maximum path length n n n 是 sequence length、 d d d 是 representation dimension、 k k k 是卷积核尺寸和 r r r 受限自注意力机制的领域尺寸 首次提出完全基于注意力和全联接的 Transformer 架构的自然语言处理神经网络,maximum path length O ( x ) O(x) O(x) 其 x x x 越大代表在长距离依赖的结点传递信息时,信息交互越难,信息丢失越严重 1. Densely Connected Convolutional Networks具有 BottleNeck 结构的 DenseNet- L ( k = n ) (k=n) (k=n) , L 代表模型深度,即可学习的层数(卷积层与全连接层) k k k 为输入的 feature 经过一个 Dense Block 中的一个 Dense Layer 后增加的特征通道数,经过一个 Dense Block 后,紧接着的 Transition Layer 后会将当前 feature 的特征通道数压缩一半** “If a dense block contains m feature-maps, we let the following transition layer generate ? θ m ? ? θm ? ?θm? output featuremaps, where 0 < θ ≤ 1 0 <θ ≤ 1 0<θ≤1 is referred to as the compression factor.” “We refer the DenseNet with θ < 1 θ<1 θ<1 as DenseNet-C, and we set θ = 0.5 θ = 0.5 θ=0.5 in our experiment. When both the bottleneck and transition layers with θ < 1 θ < 1 θ<1 are used, we refer to our model as DenseNet-BC.” 2. Deep Residual Learning for Image Recognition其中 FLOPs 被误为 MACs,实际 FLOPs 应该是上述的两倍大小,L-layer 中 L 代表可学习的层数 加入 bottleneck 结构后网络参数量明显下降,实现了超过 1000 层的网络 3. https://github.com/sovrasov/flops-counter.pytorch通过调用外部库 flops-counter 计算的主流卷积模型的参数量和乘加操作数,并相应给出了 Top1 和 Top5 精度
4. AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALEVIT 完全基于注意力机制和全连接的视觉神经网络 5. Swin Transformer: Hierarchical Vision Transformer using Shifted WindowsSwin 完全基于具有滑动窗口的注意力机制和全连接的视觉神经网络 散射成像领域的模型对比以下的计算 Batch 统一设置为 2 1. Deep speckle correlation: a deep learning approachtoward scalable imaging through scattering media
2. High-generalization deep sparse pattern reconstruction: feature extraction of speckles using self-attention armed convolutional neural networksSA-CNN
SA-CNN-Single
其中 -Single 是 仅有中间一层注意力 3. Our SpT UNetSpT UNet
SpT UNet-B
其中 -B 是 puffed 下采样和 leaky 上采样采用 Bottleneck 结构 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/30 1:32:24- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |