主要内容

迁移学习中权重初始化器的实验

这个例子展示了如何配置一个实验,该实验使用不同的权重初始化器来初始化卷积和全连接层的权重。要比较任务中不同权重初始化器的性能,请使用本示例创建一个实验作为指南。

当训练一个深度学习网络时,初始化层权值和偏差会对网络训练的效果有很大的影响。初始化器的选择对没有批处理规范化层的网络有更大的影响。有关权重初始化器的更多信息,请参见比较图层权重初始化器

开放实验

首先,打开示例。实验管理器加载带有可检查和运行的预配置实验的项目。要开实验,在中实验的浏览器窗格中,双击实验的名称(WeightInitializerExperiment).

内置的训练实验包括一个描述、一个超参数表、一个设置函数和一组度量函数来评估实验的结果。有关更多信息,请参见内置训练实验配置

描述字段包含实验的文本描述。对于本例,描述如下:

在预先训练的网络中,通过初始化卷积和完全连接层的权值来执行迁移学习。

Hyperparameters节指定策略(详尽的扫描)和实验使用的超参数值。当您运行实验时,实验管理器使用超参数表中指定的每一个超参数值组合来训练网络。本例中使用超级参数WeightsInitializerBiasInitializer指定预训练网络中卷积层和全连通层的权值和偏差初始化器。有关这些初始化器的更多信息,请参见WeightsInitializerBiasInitializer

设置函数配置实验的训练数据、网络架构和训练选项。检查设置功能,在设置函数,点击编辑.在MATLAB®编辑器中打开设置函数。

在这个例子中,setup函数:

  • 下载并提取Flowers数据集,约为218 MB。有关该数据集的更多信息,请参见图像数据集

  • 加载预先训练好的GoogLeNet网络,并使用超参数表中指定的初始化器初始化卷积层和全连接层中的输入权值。辅助函数findLayersToReplace确定网络体系结构中的哪些层可以被修改以进行迁移学习。

  • 定义了一个trainingOptions实验对象。示例训练网络达到10个epoch,使用128个小批处理,并每5个epoch验证一次网络。

指标节指定评估实验结果的可选函数。这个例子不包括任何自定义指标函数。

运行实验

当您运行实验时,实验管理器多次训练由设置函数定义的网络。每次试验都使用不同的超参数值组合。默认情况下,实验管理器每次运行一个试验。如果您有Parallel Computing Toolbox™,您可以同时运行多个试验。为了获得最佳结果,在运行实验之前,请启动一个具有与gpu相同数量的worker的并行池。有关更多信息,请参见使用实验管理器并行训练网络GPU支万博1manbetx持版本(并行计算工具箱)

  • 若要一次运行一个实验,请在“实验管理器”工具条上单击运行

  • 若要同时运行多个试验,请单击使用并行然后运行.如果当前没有并行池,Experiment Manager将使用默认的集群配置文件启动一个并行池。然后,根据并行工作器的数量,实验管理器会同时执行多个试验。

结果表格显示了每次试验的准确性和损失。

当实验运行时,点击培训策划显示训练图并跟踪每次试验的进度。

点击混淆矩阵显示每个完成试验验证数据的混淆矩阵。

实验完成后,可以按列对结果表进行排序,使用过滤器窗格,或通过添加注释记录观察结果。有关更多信息,请参见排序,过滤和注释实验结果

为了测试单个试验的性能,导出训练后的网络或试验的训练信息。在实验管理器将来发布,选择出口>训练网络出口>培训信息,分别。有关更多信息,请参见信息

关闭实验

实验的浏览器窗格中,右键单击项目的名称并选择关闭项目.实验管理器关闭项目中包含的所有实验和结果。

另请参阅

应用程序

功能

相关的话题