Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PaddleClas
提交
30fee0f9
P
PaddleClas
项目概览
PaddlePaddle
/
PaddleClas
1 年多 前同步成功
通知
116
Star
4999
Fork
1114
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
19
列表
看板
标记
里程碑
合并请求
6
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PaddleClas
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
19
Issue
19
列表
看板
标记
里程碑
合并请求
6
合并请求
6
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
30fee0f9
编写于
1月 22, 2021
作者:
L
littletomatodonkey
提交者:
GitHub
1月 22, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update faq_2021_s1.md
上级
1b89b8a5
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
2 addition
and
2 deletion
+2
-2
docs/zh_CN/faq_series/faq_2021_s1.md
docs/zh_CN/faq_series/faq_2021_s1.md
+2
-2
未找到文件。
docs/zh_CN/faq_series/faq_2021_s1.md
浏览文件 @
30fee0f9
...
...
@@ -79,7 +79,7 @@
### Q3.1: 双(多)分支结构与Plain结构,各自有什么特点?
**A**
:
以VGG为代表的Plain网络,发展到以ResNet系列(带有残差模块)、Inception
Net
系列(多卷积核并行)为代表的的多分支网络结构,人们发现多分支结构在模型训练阶段更为友好,更大的网络宽度可以带来更强的特征拟合能力,而残差结构则可以避免深度网络梯度消失的问题,但是在推理阶段,带有多分支结构的模型在速度上并无优势,即使多分支结构模型的FLOPs要更低,但多分支结构的模型计算密度也更低。例如VGG16模型的FLOPs远远大于EfficientNetB3,但是VGG16模型的推理速度却显著快于EfficientNetB3,因此多分支结构在模型训练阶段更为友好,而Plain结构模型则更适合于推理阶段,那么以此为出发点,可以在训练阶段使用多分支网络结构,以更大的训练时间成本换取特征拟合能力更强的模型,而在推理阶段,将多分支结构转为Plain结构,从而换取更短的推理时间。实现多分支结构到Plain结构的转换,可以通过结构重参数化(structural re-parameterization)技术实现。
以VGG为代表的Plain网络,发展到以ResNet系列(带有残差模块)、Inception系列(多卷积核并行)为代表的的多分支网络结构,人们发现多分支结构在模型训练阶段更为友好,更大的网络宽度可以带来更强的特征拟合能力,而残差结构则可以避免深度网络梯度消失的问题,但是在推理阶段,带有多分支结构的模型在速度上并无优势,即使多分支结构模型的FLOPs要更低,但多分支结构的模型计算密度也更低。例如VGG16模型的FLOPs远远大于EfficientNetB3,但是VGG16模型的推理速度却显著快于EfficientNetB3,因此多分支结构在模型训练阶段更为友好,而Plain结构模型则更适合于推理阶段,那么以此为出发点,可以在训练阶段使用多分支网络结构,以更大的训练时间成本换取特征拟合能力更强的模型,而在推理阶段,将多分支结构转为Plain结构,从而换取更短的推理时间。实现多分支结构到Plain结构的转换,可以通过结构重参数化(structural re-parameterization)技术实现。
另外,Plain结构对于剪枝操作也更为友好。
...
...
@@ -133,7 +133,7 @@ ACNet意为“Asymmetric Convolution Block”,即为非对称卷积模块,
<img
src=
"../../images/faq/ACNetReParams.png"
width=
"400"
>
</div>
观察上图,以其中的
`conv2`
为例,该非对称卷积可以视为
`3*3`
的方形卷积核,只不过该方形卷积核的上下六个参数为
`0`
,
`conv3`
同理。并且,
`conv1`
、
`conv2`
、
`conv3`
的结果相加,等同于三个卷积核相加再做卷积,以
`Conv`
表示卷积操作,
`+`
表示矩阵的加法操作,则:
`Conv1(A)+Conv2(A)+Conv3(A) == Convk(A)`
,其中
`Conv
k
1`
、
`Conv2`
、
`Conv3`
的卷积核分别为
`Kernel1`
、
`kernel2`
、
`kernel3`
,而
`Convk`
的卷积核为
`Kernel1 + kernel2 + kernel3`
。
观察上图,以其中的
`conv2`
为例,该非对称卷积可以视为
`3*3`
的方形卷积核,只不过该方形卷积核的上下六个参数为
`0`
,
`conv3`
同理。并且,
`conv1`
、
`conv2`
、
`conv3`
的结果相加,等同于三个卷积核相加再做卷积,以
`Conv`
表示卷积操作,
`+`
表示矩阵的加法操作,则:
`Conv1(A)+Conv2(A)+Conv3(A) == Convk(A)`
,其中
`Conv1`
、
`Conv2`
、
`Conv3`
的卷积核分别为
`Kernel1`
、
`kernel2`
、
`kernel3`
,而
`Convk`
的卷积核为
`Kernel1 + kernel2 + kernel3`
。
RepVGG网络与ACNet同理,只不过ACNet的
`1*d`
非对称卷积变成了
`1*1`
卷积,
`1*1`
卷积相加的位置变成了
`3*3`
卷积的中心。
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录