

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 优化 NTM 模型
<a name="ntm-tuning"></a>

*自动模型优化*（也称作超参数优化）通过运行很多在数据集上测试一系列超参数的作业来查找模型的最佳版本。您可以选择可优化超参数、每个超参数的值范围和一个目标指标。您可以从算法计算的指标中选择目标指标。自动模型优化将搜索所选超参数以找到导致优化目标指标的模型的值组合。

Amazon SageMaker AI NTM 是一种无监督学习算法，可学习大量离散数据（例如文档语料库）的潜在表示形式。潜在表示使用未直接测量的推理变量来对数据集中的观察值进行建模。NTM 上的自动模型优化可帮助您找到最小化训练或验证数据损失的模型。*训练损失* 用于衡量模型适合训练数据的程度。*验证损失* 用于衡量模型可推广到未经过训练的数据的程度。低训练损失表明模型非常适合训练数据。低验证损失表明模型没有过拟合训练数据，因此应该能够对未经训练的文档成功进行建模。通常，两个损失最好都很小。但是，将训练损失降到最低可能会导致过拟合并增加验证损失，这会降低模型的通用性。

有关模型优化的更多信息，请参阅[使用 SageMaker AI 自动调整模型](automatic-model-tuning.md)。

## NTM 算法计算的指标
<a name="ntm-metrics"></a>

NTM 算法报告在训练期间计算的单个指标：`validation:total_loss`。总损失是重建损失和 Kullback-Leibler 分歧的总和。优化超参数值时，请选择此指标作为目标。


| 指标名称 | 说明 | 优化方向 | 
| --- | --- | --- | 
| validation:total\$1loss |  验证集上的总损失  |  最小化  | 

## 可优化 NTM 超参数
<a name="ntm-tunable-hyperparameters"></a>

您可以优化 NTM 算法的以下超参数。通常设置低 `mini_batch_size` 和小 `learning_rate` 值会导致较低的验证损失，尽管它可能需要更长的时间来训练。低验证损失不一定产生人类解释的更连贯的主题。其他超参数对训练和验证损失的影响可能因数据集而异。要了解哪些值是兼容的，请参阅 [NTM 超参数](ntm_hyperparameters.md)。


| 参数名称 | 参数类型 | 建议的范围 | 
| --- | --- | --- | 
| encoder\$1layers\$1activation |  CategoricalParameterRanges  |  ['sigmoid'、'tanh'、'relu']  | 
| learning\$1rate |  ContinuousParameterRange  |  MinValue: 1e-4， MaxValue: 0.1  | 
| mini\$1batch\$1size |  IntegerParameterRanges  |  MinValue: 16, MaxValue :2048  | 
| optimizer |  CategoricalParameterRanges  |  ['sgd'、'adam'、'adadelta']  | 
| rescale\$1gradient |  ContinuousParameterRange  |  MinValue: 0.1， MaxValue: 1.0  | 
| weight\$1decay |  ContinuousParameterRange  |  MinValue: 0.0， MaxValue: 1.0  | 