Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
Model-Transfer-Adaptability
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
haoyifan
Model-Transfer-Adaptability
Commits
63e93654
Commit
63e93654
authored
May 26, 2023
by
Klin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
doc: modify readme format
parent
d465b618
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
40 additions
and
40 deletions
+40
-40
ykl/ALL-cifar10/README.md
+10
-10
ykl/ALL-cifar10/fit_bkp.md
+28
-28
ykl/ALL-cifar100/README.md
+2
-2
No files found.
ykl/ALL-cifar10/README.md
View file @
63e93654
...
...
@@ -46,21 +46,21 @@ cfg_table书写规则说明如下:
| ResNet_50 | 82.10 | 0.9498 | 89.85 | 0.9693 | 89.52 | 0.9692 | 91.61 | 0.9594 |
| ResNet_152 | 79.76 | 0.8947 | 89.35 | 0.7978 | 88.92 | 0.8519 | 91.78 | 0.9083 |
| MobileNetV2 | 84.61 | 0.9918
<br
/>
(no tolerance) | 88.98 | 0.9632 | 88.93 | 0.9882 | 91.93 | 0.8082 |
| ALL |
| 0.8014 | | 0.6787 | | 0.7189 |
| 0.6726 |
| ALL |
n | 0.8014 | n | 0.6787 | n | 0.7189 | n
| 0.6726 |
+
结果展示:
+
sgd-AlexNet
<img
src=
"image
\
sgd-AlexNet.png"
alt=
"sgd-AlexNet"
style=
"zoom:50%;"
/>
<img
src=
"image
/
sgd-AlexNet.png"
alt=
"sgd-AlexNet"
style=
"zoom:50%;"
/>
+
sgd+momentum95+...-AlexNet
<img
src=
"image
\
sgd-m-AlexNet.png"
alt=
"sgd-m-AlexNet"
style=
"zoom:50%;"
/>
<img
src=
"image
/
sgd-m-AlexNet.png"
alt=
"sgd-m-AlexNet"
style=
"zoom:50%;"
/>
+
adam-AlexNet
<img
src=
"image
\
adam-AlexNet.png"
alt=
"adam-AlexNet"
style=
"zoom:50%;"
/>
<img
src=
"image
/
adam-AlexNet.png"
alt=
"adam-AlexNet"
style=
"zoom:50%;"
/>
+
最终采用SGD+momentum=0.95+weight_decay=1e-4+nesterov
...
...
@@ -68,17 +68,17 @@ cfg_table书写规则说明如下:
+
未分段
<img
src=
"image
\
sgd-ALL.png"
alt=
"sgd-ALL"
style=
"zoom:50%;"
/>
<img
src=
"image
/
sgd-ALL.png"
alt=
"sgd-ALL"
style=
"zoom:50%;"
/>
+
分段(3.5为分界)
<img
src=
"image
\
sgd-sep.png"
alt=
"sgd-sep"
style=
"zoom:50%;"
/>
<img
src=
"image
/
sgd-sep.png"
alt=
"sgd-sep"
style=
"zoom:50%;"
/>
+
SGD和Adam差别原因分析:
1.
Adam优化器采用动态调整的学习率,通常会使模型更新的权重参数具有较大的变化范围。而SGD使用固定学习率,参数更新幅度较小。这会导致Adam优化器训练出的模型参数分布更加集中,而SGD训练出的模型参数分布更加分散,有利于量化。
1
.
Adam优化器在反向传播时会对梯度进行额外的平滑和校正,缓解梯度消失与爆炸问题;在参数更新时,会考虑一阶矩和二阶矩的影响,实现比较平稳的更新。而SGD直接使用原始梯度。这也会导致Adam优化器训练出的模型参数更加集中,不利于量化。
2
.
Adam优化器在反向传播时会对梯度进行额外的平滑和校正,缓解梯度消失与爆炸问题;在参数更新时,会考虑一阶矩和二阶矩的影响,实现比较平稳的更新。而SGD直接使用原始梯度。这也会导致Adam优化器训练出的模型参数更加集中,不利于量化。
3.
Adam优化器对小的梯度更加敏感,可以更快找到较优解。但对模型量化不利。SGD相对而言更新步骤更大,有利于量化。
...
...
@@ -113,9 +113,9 @@ cfg_table书写规则说明如下:
观察这些模型的权重参数分布,可以发现出现问题的模型存在着无尖端的权重分布。而有尖无尖的分布在面对不同量化方式的分布如下:
![
diff1
](
image
\
diff1.png
)
![
diff1
](
image
/
diff1.png
)
![
diff2
](
image
\
diff2.png
)
![
diff2
](
image
/
diff2.png
)
根据不同模型权重分布的特点,可以推测出现问题的模型POT量化散度较大且集中的重要原因是量化后分布与原分布趋势不同。基于此,我们可能需要在相似度之外额外的考虑模型参数分布与量化方式的适配性。这需要进行实验的验证,例如,直接度量全精度模型-量化模型用于衡量分布趋势的系数;度量全精度权重的尖锐程度和量化表的尖锐程度等。并将所得值作用于原先所求js散度上。
...
...
@@ -130,7 +130,7 @@ cfg_table书写规则说明如下:
#### 后续增强拟合效果的方案
+
针对POT量化点扎堆,可以考虑使用更关注趋势的Pearson相关系数、余弦相似度等对js散度进行修正,或者考虑将量化范围切分多个bins评估量化点覆盖率的方式修正。
+
对weight和bias采取更合理的加权方式
+
根据对精度的影响(不易衡量,不易确定基准)
...
...
ykl/ALL-cifar10/fit_bkp.md
View file @
63e93654
...
...
@@ -34,9 +34,9 @@
观察这些模型的权重参数分布,可以发现出现问题的模型存在着无尖端的权重分布。而有尖无尖的分布在面对不同量化方式的分布如下:
![
diff1
](
image
\
diff1.png
)
![
diff1
](
image
/
diff1.png
)
![
diff2
](
image
\
diff2.png
)
![
diff2
](
image
/
diff2.png
)
根据不同模型权重分布的特点,可以推测出现问题的模型POT量化散度较大且集中的重要原因是量化后分布与原分布趋势不同。基于此,我们可能需要在相似度之外额外的考虑模型参数分布与量化方式的适配性。这需要进行实验的验证,例如,直接度量全精度模型-量化模型用于衡量分布趋势的系数;度量全精度权重的尖锐程度和量化表的尖锐程度等。并将所得值作用于原先所求js散度上。
...
...
@@ -80,23 +80,23 @@
+
所有模型拟合
!
[
L2_param
](
image
\
L2_param.png
)
!
[
L2_param
](
image
/
L2_param.png
)
!
[
L2_flops
](
image
\
L2_flops.png
)
!
[
L2_flops
](
image
/
L2_flops.png
)
!
[
L2_flops_weighted
](
image
\
L2_flops_weighted.png
)
!
[
L2_flops_weighted
](
image
/
L2_flops_weighted.png
)
+
单个模型拟合
!
[
L2_AlexNet
](
image
\
L2_AlexNet.png
)
!
[
L2_AlexNet
](
image
/
L2_AlexNet.png
)
!
[
L2_AlexNet_BN
](
image
\
L2_AlexNet_BN.png
)
!
[
L2_AlexNet_BN
](
image
/
L2_AlexNet_BN.png
)
!
[
L2_VGG_16
](
image
\
L2_VGG_16.png
)
!
[
L2_VGG_16
](
image
/
L2_VGG_16.png
)
!
[
L2_VGG_19
](
image
\
L2_VGG_19.png
)
!
[
L2_VGG_19
](
image
/
L2_VGG_19.png
)
!
[
L2_Inception_BN
](
image
\
L2_Inception_BN.png
)
!
[
L2_Inception_BN
](
image
/
L2_Inception_BN.png
)
...
...
@@ -104,25 +104,25 @@
+
所有模型拟合
!
[
fakefreeze_param
](
image
\
fakefreeze_param.png
)
!
[
fakefreeze_param
](
image
/
fakefreeze_param.png
)
!
[
fakefreeze_flops
](
image
\
fakefreeze_flops.png
)
!
[
fakefreeze_flops
](
image
/
fakefreeze_flops.png
)
!
[
fakefreeze_flops_weighted_log
](
image
\
fakefreeze_flops_weighted_log.png
)
!
[
fakefreeze_flops_weighted_log
](
image
/
fakefreeze_flops_weighted_log.png
)
!
[
fakefreeze_flops_weighted_cuberoot
](
image
\
fakefreeze_flops_weighted_cuberoot.png
)
!
[
fakefreeze_flops_weighted_cuberoot
](
image
/
fakefreeze_flops_weighted_cuberoot.png
)
+
单个模型拟合
!
[
fakefreeze_AlexNet
](
image
\
fakefreeze_AlexNet.png
)
!
[
fakefreeze_AlexNet
](
image
/
fakefreeze_AlexNet.png
)
!
[
fakefreeze_AlexNet_BN
](
image
\
fakefreeze_AlexNet_BN.png
)
!
[
fakefreeze_AlexNet_BN
](
image
/
fakefreeze_AlexNet_BN.png
)
!
[
fakefreeze_VGG_16
](
image
\
fakefreeze_VGG_16.png
)
!
[
fakefreeze_VGG_16
](
image
/
fakefreeze_VGG_16.png
)
!
[
fakefreeze_VGG_19
](
image
\
fakefreeze_VGG_19.png
)
!
[
fakefreeze_VGG_19
](
image
/
fakefreeze_VGG_19.png
)
!
[
fakefreeze_Inception_BN
](
image
\
fakefreeze_Inception_BN.png
)
!
[
fakefreeze_Inception_BN
](
image
/
fakefreeze_Inception_BN.png
)
...
...
@@ -130,23 +130,23 @@
+
所有模型拟合
!
[
fakefreeze_nodiv_param
](
image
\
fakefreeze_nodiv_param.png
)
!
[
fakefreeze_nodiv_param
](
image
/
fakefreeze_nodiv_param.png
)
!
[
fakefreeze_nodiv_flops
](
image
\
fakefreeze_nodiv_flops.png
)
!
[
fakefreeze_nodiv_flops
](
image
/
fakefreeze_nodiv_flops.png
)
!
[
fakefreeze_nodiv_flops_weighted_log
](
image
\
fakefreeze_nodiv_flops_weighted_log.png
)
!
[
fakefreeze_nodiv_flops_weighted_log
](
image
/
fakefreeze_nodiv_flops_weighted_log.png
)
!
[
fakefreeze_nodiv_flops_weighted_cuderoot
](
image
\
fakefreeze_nodiv_flops_weighted_cuderoot.png
)
!
[
fakefreeze_nodiv_flops_weighted_cuderoot
](
image
/
fakefreeze_nodiv_flops_weighted_cuderoot.png
)
+
单个模型拟合
!
[
fakefreeze_nodiv_AlexNet
](
image
\
fakefreeze_nodiv_AlexNet.png
)
!
[
fakefreeze_nodiv_AlexNet
](
image
/
fakefreeze_nodiv_AlexNet.png
)
!
[
fakefreeze_nodiv_AlexNet_BN
](
image
\
fakefreeze_nodiv_AlexNet_BN.png
)
!
[
fakefreeze_nodiv_AlexNet_BN
](
image
/
fakefreeze_nodiv_AlexNet_BN.png
)
!
[
fakefreeze_nodiv_VGG_16
](
image
\
fakefreeze_nodiv_VGG_16.png
)
!
[
fakefreeze_nodiv_VGG_16
](
image
/
fakefreeze_nodiv_VGG_16.png
)
!
[
fakefreeze_nodiv_VGG_19
](
image
\
fakefreeze_nodiv_VGG_19.png
)
!
[
fakefreeze_nodiv_VGG_19
](
image
/
fakefreeze_nodiv_VGG_19.png
)
!
[
fakefreeze_nodiv_Inception_BN
](
image
\
fakefreeze_nodiv_Inception_BN.png
)
!
[
fakefreeze_nodiv_Inception_BN
](
image
/
fakefreeze_nodiv_Inception_BN.png
)
ykl/ALL-cifar100/README.md
View file @
63e93654
...
...
@@ -12,4 +12,4 @@
+
拟合结果:R2=0.7989
<img
src=
"image\adam-ALL.png"
alt=
"adam-ALL"
/>
\ No newline at end of file
<img
src=
"image/adam-ALL.png"
alt=
"adam-ALL"
/>
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment