主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

実験マネージャー

深層学習ネットワークの学習および比較に向けた実験の設計と実行

説明

実験マネージャーアプリさまざま初期条件でネットワーク习させ,结果を比较せの深层,深层実験せます。

  • ハイパーパラメーター値の範囲のスイープ,またはベイズ最適化の使用による最適な学習オプションの検出。ベイズ最適化には、统计和机器学习工具箱™が必要です。

  • さまざまなデータセットを使用してネットワークに学習させた結果の比較。

  • 複数のネットワークでの同一学習データセットの再利用による,さまざまな深いネットワークのアーキテクチャのテスト。

実験マネージャーは,学校プロットや混同行列の可视ツール,実験结果を绞り込むのフィルター,および结果を评価ためのカスタムを定义する机能をししますます。は,実験実験実行するするたび,実験定义のコピーを保存ます。过去过去の実験定义にアクセスしててて结果を生ににしパラメーターパラメーターのををわせする的できパラメーターの组みわせわせを的できでき

実験マネージャーは,実験および結果をプロジェクトに整理します。

  • 同じプロジェクトに複数の実験を保存できる。

  • 各実験には,毎回の実験に対する"結果"のセットが含まれる。

  • 結果の各セットは,ハイパーパラメーターのさまざまな組み合わせに対応する1つ以上の"試行"でで成される。

既定では,実験マネージャーは一度に1つの試行を実行します。并行计算工具箱™がある場合は,複数の試行を同時に実行するように実験を構成できます。実験を並列で実行することにより,学習の進行中にもMATLAB®を使用できます。

(実験ブラウザー]ペインには,プロジェクトの実験と結果の階層が表示されます。たとえば,このプロジェクトには2つの実験があり,それぞれにいくつかの結果があります。実験の構成を開いてその結果を表示するには,実験の名前または結果のセットをダブルクリックします。

实验浏览器显示两个实验。实验1有四个结果。实验2有两个结果。

実験マネージャーアプリを開く

  • MATLABツールストリップ:[アプリ]タブの[機械学習および深層学習]にあるアプリアイコンをクリックします。

  • matlabコマンドコマンド:experimentManagerと入力します。

すべて展开する

この例では,既定の実験セットアップ関数を使用して,ハイパーパラメーターをスイープしてイメージ分類ネットワークに学習させる方法を示します。実験マネージャーを使用したイメージの分類問題の解決に関するその他の例については,分類用の深層学習実験の作成および実験マネージャーを使用したネットワークの並列学習を参照してください。ハイパーパラメーターをスイープするための代替手法の詳細については,ベイズ最适化解をした実験パーパーパラメーター调整を参照してください。

例を開き,検査と実行が可能な事前構成済みの実験を含むプロジェクトを読み込みます。実験を開くには,(実験ブラウザー]ペインで,実験の名前(Experiment1)をダブルクリックします。

または,次の手順に従って,自分で実験を構成することもできます。

1 .実験マネージャーを開きます。

2.[新規作成][プロジェクト]をクリックし,新しいプロジェクトの場所と名前を選択します。実験マネージャーによって、プロジェクトで新しい実験が開きます。[実験]ペインには,実験を定義する説明,ハイパーパラメーター,セットアップ関数,およびメトリクスが表示されます。

3.[说明]ボックスに,実験の説明を次のように入力します。

数字分类,使用不同的初始学习速率。

4.[ハイパーパラメーター]で,myInitialLearnRateの値を0.0025:0.0025:0.015に置き換えます。[手法]详尽的扫描に設定されていることを確認します。

5.[セットアップ有关部][編集]をクリックします。MATLABエディターでセットアップ関数が開きます。セットアップ関数では、実験用の学習データ、ネットワーク アーキテクチャ、および学習オプションを指定します。既定では、セットアップ関数のテンプレートに 3 つのセクションがあります。

  • イメージデータの読み込みでは,実験用の学習データと検証データを含むイメージデータストアを定義します。実験では,0 ~ 9の数字から成る28 x 28ピクセルのグレースケールイメージ10000個で構成される数字データセットを使用します。このデータセットの詳細については,イメージデータセットを参照してください。

  • ネットワークアーキテクチャの定義では,深層学習による分類用のシンプルな畳み込みニューラルネットワークのアーキテクチャを定義します。

  • 学習オプションの指定では,実験用のtrainingOptionsオブジェクトを定義します。既定では,テンプレートによって,ハイパーパラメーターテーブルのmyInitialLearnRateエントリから学习オプション“InitialLearnRate”の値が読み込まれます。

実験を実行すると,実験マネージャーはセットアップ関数で定義されたネットワークに6回学習させます。各試行で,ハイパーパラメーターテーブルで指定された学習率の1つが使用されます。既定では,実験マネージャーは一度に1つの試行を実行します。并行计算工具箱がある場合は,複数の試行を同時に実行できます。最良の結果を得るには,実験を実行する前に,GPUと同じ数のワーカーで並列プールを起動します。詳細については,実験マネージャーを使用したネットワークの並列学習を参照してください。

  • 一度に1つの実験の試行を実行するには,[実験マネージャー]ツールストリップで[実行]をクリックします。

  • 複数の試行を同時に実行するには,[並列の使用)[実行]の順にクリックします。現在の並列プールがない場合,実験マネージャーは既定のクラスタープロファイルを使用して並列プールを起動します。次に,実験マネージャーは,使用可能な並列ワーカーの数に応じて,複数の同時試行を実行します。

結果テーブルに,各試行の精度と損失が表示されます。

実験の実行中に[学学习]をクリックすると,学習プロットが表示され,各試行の進行状況を追跡できます。MATLABコマンドウィンドウで学習の進行状況を監視することもできます。

[混同行列]をクリックし,完了した各試行の検証データの混同行列を表示します。

実験実験の完了,列列ごとにテーブルを并べ替えたり,[フィルター]ペインを使用して試行をフィルター処理したりできます。詳細については,実験結果の並べ替えとフィルター処理を参照してください。

各试行の性能性能をするは,试行でで使し习済みネットワーク试试の习情情をします。(実験マネージャー]ツールストリップで,[エクスポート](学習済みネットワーク]を選択するか,[エクスポート][学学报表]を選択します。詳細は,信息を参照してください。

実験を闭じるには,(実験ブラウザー]ペインでプロジェクトの名前を右クリックし,[プロジェクトを闭じる]を选択します。実験実験マネージャー,プロジェクトに含まれるすべてのと结果が闭じられます。

この例では,ハイパーパラメーターをスイープしてイメージ回帰ネットワークに学習させるように実験を構成する方法を示します。実験マネージャーを使用した回帰問題の解決に関する他の例については,回帰用の深層学習実験の作成を参照してください。

例を開き,検査と実行が可能な事前構成済みの実験を含むプロジェクトを読み込みます。実験を開くには,(実験ブラウザー]ペインで,実験の名前(Experiment1)をダブルクリックします。

または,次の手順に従って,自分で実験を構成することもできます。

1 .実験マネージャーを開きます。

2.[新規作成][プロジェクト]をクリックし,新しいプロジェクトの場所と名前を選択します。実験マネージャーによって、プロジェクトで新しい実験が開きます。[実験]ペインには,実験を定義する説明,ハイパーパラメーター,セットアップ関数,およびメトリクスが表示されます。

3.[说明]ボックスに,実験の説明を次のように入力します。

回归预测旋转角度的数字,使用不同的初始学习速率。

4.[ハイパーパラメーター]で,myInitialLearnRateの値を0.001:0.001:0.006に置き換えます。[手法]详尽的扫描に設定されていることを確認します。

5.[セットアップ有关部][編集]をクリックします。MATLABエディターでセットアップ関数が開きます。

  • 4つの出力を返すようにセットアップ関数のシグネチャを変更します。これらの出力は,関数trainNetworkを呼び出して,イメージイメージ问题用のネットワーク习ささせるに使され。

函数[XTrain、YTrain层,选项]= Experiment1_setup1 (params)
  • セットアップ关键词[イメージデータの読み込み]セクションを変更して,実験の学習データと検証データを4次元配列として定義します。この実験では,学習データと検証データはそれぞれ数字データセットからの5000枚のイメージで構成されています。各イメージは0 ~ 9の数字で,特定の角度の回転が付けられています。回帰値は,回転角度に対応しています。このデータセットの詳細については,イメージデータセットを参照してください。セットアップ关键词このセクションにある既存のコードはすべて削除してください。

[XTrain ~, YTrain] = digitTrain4DArrayData;[XValidation ~, YValidation] = digitTest4DArrayData;
  • セットアップ关键词[ネットワークアーキテクチャの定义]セクションを変更し,回帰用の畳み込みニューラルネットワークししますますししののコードコードははすべて削除削除ててててて

图层= [imageInputlayer([28 28 1])卷积2dlayer(3,8,“填充”“相同”)BatchnormalizationLayer Rublayer普通泡泡液(2,“步”2) convolution2dLayer(16日“填充”“相同”)BatchnormalizationLayer Rublayer普通泡泡液(2,“步”32岁的,2)convolution2dLayer (3“填充”“相同”) batchNormalizationLayer reluLayer卷积2dlayer (3,32,“填充”“相同”) batchNormalizationLayer relullayer dropoutLayer(0.2) fulllyconnectedlayer (1) regressionLayer];
  • 4 次元配列XValidationおよびYValidationの検证データを使使を使にセットアップ关键词关键词(学習オプションの指定)セクションを変更します。セットアップ关键词このセクションでは、ハイパーパラメーター テーブルのmyInitialLearnRateエントリから学习オプション“InitialLearnRate”の値を読み込みます。

选择= trainingOptions ('sgdm'...“MaxEpochs”,5,...“ValidationData”,{xvalidation,yvalidation},...“ValidationFrequency”30岁的...“InitialLearnRate”,params.myinitiallearnrate);

実験を実行すると,実験マネージャーはセットアップ関数で定義されたネットワークに6回学習させます。各試行で,ハイパーパラメーターテーブルで指定された学習率の1つが使用されます。各試行で,ハイパーパラメーターテーブルで指定された学習率の1つが使用されます。既定では,実験マネージャーは一度に1つの試行を実行します。并行计算工具箱がある場合は,複数の試行を同時に実行できます。最良の結果を得るには,実験を実行する前に,GPUと同じ数のワーカーで並列プールを起動します。詳細については,実験マネージャーを使用したネットワークの並列学習を参照してください。

  • 一度に1つの実験の試行を実行するには,[実験マネージャー]ツールストリップで[実行]をクリックします。

  • 複数の試行を同時に実行するには,[並列の使用)[実行]の順にクリックします。現在の並列プールがない場合,実験マネージャーは既定のクラスタープロファイルを使用して並列プールを起動します。次に,実験マネージャーは,使用可能な並列ワーカーの数に応じて,複数の同時試行を実行します。

結果テーブルに,各試行の平方根平均二乗誤差(RMSE)と損失が表示されます。

実験の実行中に[学学习]をクリックすると,学習プロットが表示され,各試行の進行状況を追跡できます。MATLABコマンドウィンドウで学習の進行状況を監視することもできます。

実験実験の完了,列列ごとにテーブルを并べ替えたり,[フィルター]ペインを使用して試行をフィルター処理したりできます。詳細については,実験結果の並べ替えとフィルター処理を参照してください。

各试行の性能性能をするは,试行でで使し习済みネットワーク试试の习情情をします。(実験マネージャー]タブで,[エクスポート](学習済みネットワーク]を選択するか,[エクスポート][学学报表]を選択します。詳細は,信息を参照してください。

実験を闭じるには,(実験ブラウザー]ペインでプロジェクトの名前を右クリックし,[プロジェクトを闭じる]を选択します。実験実験マネージャー,プロジェクトに含まれるすべてのと结果が闭じられます。

この例のは,実験マネージャーアプリアプリ使してをを设定する。

実験の定義は,説明,ハイパーパラメーターテーブル,セットアップ関数,および実験の結果を評価するためのメトリクス関数の集合(オプション)で構成されます。

[说明]ボックスに,実験の説明を入力します。

[ハイパーパラメーター]で,実験に使用する手法を選択します。

  • ハイハイパーパラメーター値値の范囲をスイープするに,[手法][网络罗的な]に設定します。ハイパーパラメーターテーブルで,実験で使用されるハイパーパラメーターの値を指定します。ハイパーパラメーター値は,数値,逻辑値,または字符串値をもつスカラーまたはベクトルとして指定できます。たとえば,以下のようなハイパーパラメーターの指定が有効です。

    • 0.01

    • 0.01:0.01:0.05

    • [0.01 0.02 0.04 0.08]

    • ["个" rmsprop”“亚当”)

    実験を実行すると,実験マネージャーは,テーブルで指定されたハイパーパラメーター値のすべての組み合わせを使用してネットワークに学習させます。

  • ベイズ最適化を使用して最適な学習オプションを見つけるには,[手法][ベイズ最適化)に設定します。ハイパーパラメーターテーブルで,実験で使用される次のハイパーパラメーターのプロパティを指定します。

    • 范囲——実数値または整数値のハイパーパラメーターの下限と上限を示す2要素のベクトル,または直言ハイパーパラメーターが取り得る値をリストする字符串配列または细胞配列を入力します。

    • - - - - - -[実数](実数値のハイパーパラメーター),[整数](整数値のハイパーパラメーター),または(分类)(分类ハイパーパラメーター)を選択します。

    • 変换- - - - - -[なし](変換なし)または[対数](対数変換)を選択します。[対数]の结合,ハイパーパラメーターは[実数]または[整数]で正でなければなりません。ハイパーパラメーターが検索され,対数スケールでモデル化されます。

    実験を実行すると,実験マネージャーはハイパーパラメーターの最適な組み合わせを検索します。実験の各試行では,前の試行の結果に基づいてハイパーパラメーター値の新しい組み合わせが使用されます。実験の期間を指定するには,[ベイズ最適化オプション]で,実行する最大時間(秒単位)と最大試行回数を入力します。ベイズ最適化には、统计和机器学习工具箱が必要です。詳細については,ベイズ最适化解をした実験パーパーパラメーター调整を参照してください。

[セットアップ有关部]は,実験用の学习,ネットワークアーキテクチャ,および学习オプションを成します。セットアップ关键词入は,ハイハイパーパラメーターテーブルのフィールドフィールドを结构体です。セットアップ関数の出力は,関数trainNetworkの入力と一致しなければなりません。以下の表は,セットアップ関数でサポートされているシグネチャの一覧です。

実験の目的 セットアップ関数のシグネチャ
入力イメージデータを格納するイメージデータストア洛桑国际管理发展学院を使用して,イメージ分類の問題用のネットワークに学習させる。
函数[IMDS,Layers,Options] =实验_setup(params)...结束
データストアdsをを用してネットワークネットワーク习ささせる。
函数[DS,图层,选项] =实验_setup(params)...结束
予測子変数を格納する数値配列X,カテゴリカルラベルまたは数値応答を格納するYを使用して,イメージ分類問題およびイメージ回帰問題用のネットワークに学習させる。
函数[X, Y,层,选项]= Experiment_setup (params)...结束
シーケンスまたは時系列予測子を格納する序列,応答を格納するYをを使し,シーケンス分类问题およびシーケンス回帰のネットワークに习さ。
函数[序列,Y,图层,选择]= Experiment_setup (params)...结束
数値データまたはデータへのファイルパスを格納する表TBL.を使用して,分類問題および回帰問題用のネットワークに学習させる。
函数[tbl,图层,选项] =实验_setup(params)...结束
TBL.で応答変数を指定するresponseNamesを使用して,分類問題と回帰問題用のネットワークに学習させる。
函数(台、responseNames层,选择]= Experiment_setup (params)...结束

メモ

学習オプション“ExecutionEnvironment”“multi-gpu”または“平行”に設定するか,学習オプション“DispatchInBackground”を有効にした場合,実験マネージャーは並列実行をサポートしません。詳細については,実験マネージャーを使用したネットワークの並列学習を参照してください。

[メトリクス]セクションは,実験结果を评価するため关键词を指定ますます。附近への入は,以下の3つのをもつもつ结构体です。

  • trainedNetworkは,关节trainNetworkによって返されるSeriesNetworkオブジェクトまたはDAGNetworkオブジェクトオブジェクト。详细详细について,学習済みネットワークを参照してください。

  • trainingInfoは,关节trainNetworkによって返される学習情報を含む结构体です。詳細については,学习に关键报を参照してください。

  • 参数は,ハイパーパラメーターテーブルのフィールドをもつ结构体です。

メトリクス关圈の力は,スカラー数,逻辑値,または字符串でなければなりん。

実験でベイズ最適化を使用する場合は,[最最化]リストから最適化するメトリクスを選択します。[方向]リストで,このメトリクスの[最大化]または[最小化]を指定します。実験実験は,このこのを使パーて,実験実験に最适なハイパーパラメーターののわせをを决定しし习または検证の的メトリクスメトリクスメトリクスメトリクスわせわせの的的メトリクスメトリクスメトリクスわせ的的的メトリクスメトリクスメトリクスメトリクスメトリクス的的的メトリクスメトリクスわせするの的的メトリクスsテーブルテーブルからカスタムメトリクスメトリクスを选択こともできできすることもでき

この例では,実験の実行結果を比較する方法を示します。

実験を実行すると,実験マネージャーはセットアップ関数で定義されたネットワークに複数回学習させます。試行ごとに,ハイパーパラメーターの異なる組み合わせが使用されます。実験が終了すると,各試行の学習メトリクスおよび検証メトリクス(精度,RMSE,損失など)がテーブルに表示されます。実験の結果を比較するには,学習メトリクスおよび検証メトリクスを使用して,結果テーブルを並べ替えたり,試行をフィルター処理したりできます。

結果テーブルで試行を並べ替えるには,学習メトリクスまたは検証メトリクスに対応する列のドロップダウンメニューを使用します。

  1. 并べ替える列のヘッダーをポイントします。

  2. 三角形のアイコンをクリックします。

  3. [昇順で並べ替え]または[降顺で并べ替え]を選択します。

    结果表显示验证精度列的下拉菜单。

结果テーブルから试行ををフィルター处には,[フィルター]ペインペイン使使。

  1. (実験マネージャー]ツールストリップで,[フィルター]を選択します。

    [フィルター]ペインに,结果テーブルの数码メトリクスのが表示されます。[フィルター]ペインからヒストグラムを削除するには,結果テーブルで,対応する列のドロップダウンメニューを開き,[フィルターの表示)チェックボックスをオフにします。

  2. フィルター致理性する学するまたはまたは検证メトリクスのヒストグラムののにあるスライダー调整调整ししし

    验证丢失直方图,过滤器滑块设置为1.45和1.55。

    結果テーブルには,選択した範囲のメトリクス値をもつ試行のみが表示されます。

    结果表只显示验证损失在1.45到1.55之间的试验。

  3. 結果テーブルのすべての試行を復元するには,(实验结果)ペインを闭じ,(実験ブラウザー]ペインから結果を再度開きます。

この例では,特定の結果を生成した実験の構成を検査する方法を示します。

実験を実行した後,(实验ソース]ペインを開いて,実験の説明とハイパーパラメーターテーブルの読み取り専用コピー,および実験によって呼び出されたセットアップ関数とメトリクス関数へのリンクを表示できます。このペインの情報を使用して,各結果を生成するデータ,ネットワーク,および学習オプションの構成を追跡できます。

たとえば,実験を複数回実行するとします。実験を実行するたびに,セットアップ関数の内容を変更しますが,名前は常に同じものを使用します。最初に実験を実行するときは,セットアップ関数テンプレートによって提供される既定の分類ネットワークを使用します。2回目に実験を実行するときは,セットアップ関数を変更して,事前学習済みのGoogLeNetネットワークを読み込み,最終層を転移学習用の新しい層に置き換えます。これら2つのネットワークアーキテクチャを使用する例については,分類用の深層学習実験の作成を参照してください。

最初の(实验结果)ペインで,(実験のソースの表示)リンクをクリックします。実験マネージャーは、最初の結果セットを生成した実験の定義を含む(实验ソース]ペインを開きます。ペインの下部にあるリンクをクリックして,最初の実験の実行時に使用したセットアップ関数を開きます。このセットアップ関数をコピーし,シンプルな分類ネットワークを使用して実験を再実行できます。

2番目の(实验结果)ペインで,(実験のソースの表示)リンクをクリックします。実験マネージャーは、2 番目の結果セットを生成した実験の定義を含む(实验ソース]ペインを開きます。ペインの下部にあるリンクをクリックして,2回目の実験の実行時に使用したセットアップ関数を開きます。このセットアップ関数をコピーし,転移学習を使用して実験を再実行できます。

使用するセットアップ関数とカスタムメトリクス関数のコピーが実験マネージャーによって保存されるため,実験を変更して再実行するときに,これらの関数の名前を手動で変更する必要はありません。

関連する例

ヒント

ハイパーパラメーターをスイープせににの可视化,构筑,学校习行にに,ディープネットワークデザイナーアプリを試してください。

R2020aで導入