Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
OpenDAS
nni
Commits
60223b2d
Unverified
Commit
60223b2d
authored
Feb 03, 2019
by
Chi Song
Committed by
GitHub
Feb 03, 2019
Browse files
update Chinese according doc changes (#712)
parent
bf9fe6dc
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
21 additions
and
13 deletions
+21
-13
zh_CN/docs/Builtin_Tuner.md
zh_CN/docs/Builtin_Tuner.md
+21
-13
No files found.
zh_CN/docs/Builtin_Tuner.md
View file @
60223b2d
...
...
@@ -2,18 +2,18 @@
NNI 提供了先进的调优算法,使用上也很简单。 下面是内置 Tuner 的简单介绍:
| Tuner | 算法简介 |
| ---------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
|
**TPE**
[
(用法)
](
#TPE
)
| Tree-structured Parzen Estimator (TPE) 是一种 sequential model-based optimization(SMBO,即基于序列模型优化)的方法。 SMBO 方法根据历史指标数据来按顺序构造模型,来估算超参的性能,随后基于此模型来选择新的超参。 |
|
**Random Search**
[
(用法)
](
#Random
)
| 在超参优化时,随机搜索算法展示了其惊人的简单和效果。 建议当不清楚超参的先验分布时,采用随机搜索作为基准。 |
|
**Anneal**
[
(用法)
](
#Anneal
)
| 这种简单的退火算法从先前的采样开始,会越来越靠近发现的最佳点取样。 此算法是随机搜索的简单变体,利用了反应曲面的平滑性。 退火率不是自适应的。 |
|
**Naive Evolution**
[
(用法)
](
#Evolution
)
| 朴素进化算法来自于大规模图像分类进化。 它会基于搜索空间随机生成一个种群。 在每一代中,会选择较好的结果,并对其下一代进行一些变异(例如,改动一个超参,增加或减少一层)。 进化算法需要很多次 Trial 才能有效,但它也非常简单,也很容易扩展新功能。 |
|
**SMAC**
[
(用法)
](
#SMAC
)
| SMAC 基于 Sequential Model-Based Optimization (SMBO,即序列的基于模型优化方法)。 它会利用使用过的结果好的模型(高斯随机过程模型),并将随机森林引入到 SMBO 中,来处理分类参数。 SMAC 算法包装了 Github 的 SMAC3。
|
|
**Batch tuner**
[
(用法)
](
#Batch
)
| Batch Tuner 能让用户简单的提供几组配置(如,超参选项的组合)。 当所有配置都执行完后,Experiment 即结束。 Batch Tuner 仅支持 choice 类型。 |
|
**Grid Search**
[
(用法)
](
#GridSearch
)
| 网格搜索会穷举定义在搜索空间文件中的所有超参组合。 网格搜索可以使用的类型有 choice, quniform, qloguniform。 quniform 和 qloguniform 中的数值 q 具有特别的含义(不同于搜索空间文档中的说明)。 它表示了在最高值与最低值之间采样的值的数量。 |
|
[
Hyperband
](
https://github.com/Microsoft/nni/tree/master/src/sdk/pynni/nni/hyperband_advisor
)
[
(用法)
]
(#Hyperband) | Hyperband 试图用有限的资源来探索尽可能多的组合,并发现最好的结果。 它的基本思路是生成大量的配置,并运行少量的步骤来找到有可能好的配置,然后继续训练找到其中更好的配置。 |
|
[
Network Morphism
](
../src/sdk/pynni/nni/networkmorphism_tuner/README.md
)
[
(用法)
]
(#NetworkMorphism) | Network Morphism 提供了深度学习模型的自动架构搜索功能。 每个子网络都继承于父网络的知识和形态,并变换网络的不同形态,包括深度,宽度,跨层连接(skip-connection)。 然后使用历史的架构和指标,来估计子网络的值。 最后会选择最有希望的模型进行训练。 |
|
**Metis Tuner**
[
(用法)
](
#MetisTuner
)
| 大多数调参工具仅仅预测最优配置,而 Metis 的优势在于有两个输出:(a) 最优配置的当前预测结果, 以及 (b) 下一次 Trial 的建议。 它不进行随机取样。 大多数工具假设训练集没有噪声数据,但 Metis 会知道是否需要对某个超参重新采样。 |
| Tuner | 算法简介
|
| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------
|
|
**TPE**
[
(用法)
](
#TPE
)
| Tree-structured Parzen Estimator (TPE) 是一种 sequential model-based optimization(SMBO,即基于序列模型优化)的方法。 SMBO 方法根据历史指标数据来按顺序构造模型,来估算超参的性能,随后基于此模型来选择新的超参。
|
|
**Random Search**
[
(用法)
](
#Random
)
| 在超参优化时,随机搜索算法展示了其惊人的简单和效果。 建议当不清楚超参的先验分布时,采用随机搜索作为基准。
|
|
**Anneal**
[
(用法)
](
#Anneal
)
| 这种简单的退火算法从先前的采样开始,会越来越靠近发现的最佳点取样。 此算法是随机搜索的简单变体,利用了反应曲面的平滑性。 退火率不是自适应的。
|
|
**Naive Evolution**
[
(用法)
](
#Evolution
)
| 朴素进化算法来自于大规模图像分类进化。 它会基于搜索空间随机生成一个种群。 在每一代中,会选择较好的结果,并对其下一代进行一些变异(例如,改动一个超参,增加或减少一层)。 进化算法需要很多次 Trial 才能有效,但它也非常简单,也很容易扩展新功能。
|
|
**SMAC**
[
(用法)
](
#SMAC
)
| SMAC 基于 Sequential Model-Based Optimization (SMBO,即序列的基于模型优化方法)。 它会利用使用过的结果好的模型(高斯随机过程模型),并将随机森林引入到 SMBO 中,来处理分类参数。 SMAC 算法包装了 Github 的 SMAC3。
注意:SMAC 需要通过
`nnictl package`
命令来安装。
|
|
**Batch tuner**
[
(用法)
](
#Batch
)
| Batch Tuner 能让用户简单的提供几组配置(如,超参选项的组合)。 当所有配置都执行完后,Experiment 即结束。 Batch Tuner 仅支持 choice 类型。
|
|
**Grid Search**
[
(用法)
](
#GridSearch
)
| 网格搜索会穷举定义在搜索空间文件中的所有超参组合。 网格搜索可以使用的类型有 choice, quniform, qloguniform。 quniform 和 qloguniform 中的数值 q 具有特别的含义(不同于搜索空间文档中的说明)。 它表示了在最高值与最低值之间采样的值的数量。
|
|
[
Hyperband
](
https://github.com/Microsoft/nni/tree/master/src/sdk/pynni/nni/hyperband_advisor
)
[
(用法)
]
(#Hyperband) | Hyperband 试图用有限的资源来探索尽可能多的组合,并发现最好的结果。 它的基本思路是生成大量的配置,并运行少量的步骤来找到有可能好的配置,然后继续训练找到其中更好的配置。
|
|
[
Network Morphism
](
../src/sdk/pynni/nni/networkmorphism_tuner/README.md
)
[
(用法)
]
(#NetworkMorphism) | Network Morphism 提供了深度学习模型的自动架构搜索功能。 每个子网络都继承于父网络的知识和形态,并变换网络的不同形态,包括深度,宽度,跨层连接(skip-connection)。 然后使用历史的架构和指标,来估计子网络的值。 最后会选择最有希望的模型进行训练。
|
|
**Metis Tuner**
[
(用法)
](
#MetisTuner
)
| 大多数调参工具仅仅预测最优配置,而 Metis 的优势在于有两个输出:(a) 最优配置的当前预测结果, 以及 (b) 下一次 Trial 的建议。 它不进行随机取样。 大多数工具假设训练集没有噪声数据,但 Metis 会知道是否需要对某个超参重新采样。
|
<br
/>
...
...
@@ -21,7 +21,7 @@ NNI 提供了先进的调优算法,使用上也很简单。 下面是内置 Tu
要使用 NNI 内置的 Tuner,需要在
`config.yml`
文件中添加
**builtinTunerName**
和
**classArgs**
。 这一节会介绍推荐的场景、参数等详细用法以及样例。
注意:参考样例中的格式来创建新的
`config.yml`
文件。
注意:参考样例中的格式来创建新的
`config.yml`
文件。
一些内置的 Tuner 还需要通过
`nnictl package`
命令先安装,如 SMAC。
<a
name=
"TPE"
></a>
...
...
@@ -133,6 +133,14 @@ tuner:
> 名称:**SMAC**
**安装**
SMAC 在第一次使用前,必须用下面的命令先安装。
```
bash
nnictl package
install
--name
=
SMAC
```
**建议场景**
与 TPE 类似,SMAC 也是一个可以被用在各种场景中的黑盒 Tuner。在计算资源有限时,也可以使用。 此算法为离散超参而优化,因此,如果大部分超参是离散值时,建议使用此算法。
...
...
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