主要内容

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

回帰用の深層学習実験の作成

この例では,実験マネジャを使用して回帰用の深層学習ネットワ,クに学習させる方法を説明します。この例では,回帰モデルを使用して手書きの数字の回転角度を予測します。カスタムメトリクス関数によって,真の角度から許容誤差限界内にある予測角度の割合が判定されます。回帰モデルの使用の詳細にいては,回帰用の畳み込みニュ,ラルネットワ,クの学習を参照してください。

実験を開く

まず,例を開きます。実験マネジャによって、検証と実行が可能な事前構成済みの実験を含むプロジェクトが読み込まれます。実験を開くには、[実験ブラウザ]ペesc escンで,実験の名前(RegressionExperiment)をダブルクリックします。

実験の定義は,説明,ハイパーパラメーターのテーブル,セットアップ関数,および実験の結果を評価するためのメトリクス関数の集合で構成されます。詳細にいては,深層学習実験の構成を参照してください。

[説明]ボックスには,実験を説明するテキストが表示されます。この例の説明は次のようになります。

回归模型预测数字的旋转角度,使用超参数指定:-卷积层使用的滤波器的数量-网络中退出层的概率

[ハ]セクションでは、実験で使用する手法(详尽的扫描)とハパパラメタ値を指定します。実験を実行すると,実験マネージャーは,ハイパーパラメーターテーブルで指定されたハイパーパラメーター値のすべての組み合わせを使用してネットワークに学習させます。この例では,以下の2のハパパラメタを使用します。

  • 概率は,ニュ,ラルネットワ,クのドロップアウト層の確率を設定します。既定では,このハイパーパラメーターの値は(0.1 - 0.2)として指定されます。

  • 过滤器は,ニュ,ラルネットワ,クの最初の畳み込み層で使用されるフィルタ,の数を表します。それ以降の畳み込み層では,フィルタ,の数はこの値の倍数になります。既定では,このハイパーパラメーターの値は[4 6 8]として指定されます。

[セットアップ関数]は,実験用の学習デ,タ,ネットワ,クア,キテクチャ,および学習オプションを構成します。セットアップ関数を検査するには,[セットアップ関数][編集]をクリックします。MATLAB® エディターでセットアップ関数が開きます。

この例では,セットアップ関数への入力は,ハパパラメタテブルのフィルドをも结构体です。このセットアップ関数は,イメージ回帰問題用のネットワークに学習させるために使用する4つの出力を返します。このセットアップ関数には3のセクションがあります。

  • イメージデータの読み込みでは,実験用の学習デ,タと検証デ,タを4次元配列として定義します。学習データセットと検証データセットには,それぞれ0 ~ 9の数字から成る5000個のイメージが格納されています。回帰値は,数字の回転角度に対応しています。

  • ネットワ,クア,キテクチャの定義では,回帰用の畳み込みニュ,ラルネットワ,クのア,キテクチャを定義します。

  • 学習オプションの指定では,実験用のtrainingOptionsオブジェクトを定義します。この例では,ネットワークの学習を 30 エポック行います。最初の学習率は 0.001 であり、20 エポック後に 0.1 の係数で学習率を下げます。ソフトウェアは、学習データでネットワークに学習させ、学習中に一定の間隔で検証データに対して平方根平均二乗誤差 (RMSE) と損失を計算します。検証データは、ネットワークの重みの更新には使用されません。

[メトリクス]セクションは,実験結果を評価するオプションの関数を指定します。ネットワ,クの学習が完了するたびに,実験マネ,ジャ,によってこれらの関数が評価されます。メトリクス関数を検査するには,メトリクス関数の名前を選択して[編集]をクリックします。MATLABエディターでメトリクス関数が開きます。

この例には,真の角度から許容誤差限界内にある予測角度の割合を判定するメトリクス関数精度が含まれています。既定では,この関数は10度のしきい値を使用します。

実験の実行

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

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

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

結果テ,ブルに,各試行のrmseと損失が表示されます。この表には,カスタムメトリクス関数精度によって判定された試行の精度も表示されます。

実験の実行中に[学習プロット]をクリックすると,学習プロットが表示され,各試行の進行状況を追跡できます。

結果の評価

実験で得られた最良の結果を見けるには,精度の順に結果テブルを並べ替えます。

  1. [精度]列をポ@ @ントします。

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

  3. [降順に並べ替え]を選択します。

精度の最も高い試行が,結果テ,ブルの1番上に表示されます。

各試行の性能をテストするには,学習済みネットワークをエクスポートし,各数字クラスの残差を表す箱ひげ図を表示します。

  1. 精度が最も高い試行を選択します。

  2. [実験マネ,ジャ,]ルストリップで,[エクスポ,ト]をクリックします。

  3. ダアログウィンドウで,エクスポトしたネットワクのワクスペス変数の名前を入力します。既定の名前はtrainedNetworkです。

  4. 関数plotResidualsを呼び出して,残差の箱ひげ図を作成します。エクスポ,トしたネットワ,クをこの関数への入力として使用します。たとえば,matlabコマンドウィンドウでplotResiduals (trainedNetwork)と入力します。

実験を閉じる

[実験ブラウザ]ペ电子邮箱ンでプロジェクトの名前を右クリックし,[プロジェクトを閉じる]を選択します。実験マネ,ジャ,によって,プロジェクトに含まれるすべての実験と結果が閉じられます。

参考

||

関連するトピック