Main Content

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

転移学習用の重み初期化子を使用した実験

この例では、学習用のさまざまな重み初期化子を使用して畳み込み層と全結合層の重みを初期化する実験を構成する方法を説明します。目的のタスクに向けてさまざまな重み初期化子の性能を比較するには、この例を参考にして実験を作成してください。

深層学習ネットワークに学習させる際、層の重みとバイアスの初期化は、ネットワークの学習成果に大きな影響を与える可能性があります。バッチ正規化層をもたないネットワークの場合、初期化子の選択はさらに大きな影響を与えます。重み初期化子の詳細については、層の重み初期化子の比較を参照してください。

実験を開く

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

実験の定義は、説明、ハイパーパラメーター テーブル、セットアップ関数、および、実験結果を評価するためのメトリクス関数の集合 (オプション) で構成されます。詳細については、Configure Deep Learning Experimentを参照してください。

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

Perform transfer learning by initializing the weights of convolution and
fully connected layers in a pretrained network.

[ハイパーパラメーター テーブル] には、実験で使用するハイパーパラメーターの名前と値が表示されます。実験を実行すると、実験マネージャーによってハイパーパラメーター値がスイープされ、ネットワークの学習が複数回実行されます。試行ごとに、テーブルで指定されたハイパーパラメーター値の異なる組み合わせが使用されます。この例では、ハイパーパラメーター WeightsInitializerBiasInitializer を使用し、事前学習済みのネットワークにおける畳み込み層と全結合層の重み初期化子を指定します。

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

  • 花のデータセット (約 218 MB) のダウンロードと抽出。このデータセットの詳細については、イメージ データセットを参照してください。

  • 事前学習済みの GoogLeNet ネットワークの読み込み、および畳み込み層と全結合層における入力の重みの初期化。これには、ハイパーパラメーター テーブルで指定された初期化子が使用されます。補助関数 findLayersToReplace は、ネットワーク アーキテクチャのどの層を転移学習用に変更できるかを判定します。

  • 実験用の trainingOptions オブジェクトの定義。この例では、ネットワークの学習を 10 エポック行います。ミニバッチ サイズは 128 とし、5 エポックごとにネットワークを検証します。

[メトリクス] セクションは、実験結果を評価するオプションの関数を指定します。この例では、メトリクス関数は含まれていません。

実験の実行

[実験マネージャー] タブで、[実行] をクリックします。実験マネージャーによって、セットアップ関数で定義されたネットワークの学習が複数回実行されます。試行ごとに、ハイパーパラメーターの異なる組み合わせが使用されます。結果テーブルに、各試行の精度と損失が表示されます。

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

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

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

各試行の性能をテストするには、試行で使用した学習済みネットワークまたは試行の学習情報をエクスポートします。[実験マネージャー] タブで、[エクスポート][学習済みネットワーク] を選択するか、[エクスポート][学習情報] を選択します。詳細については、出力引数を参照してください。

実験を閉じる

[実験ブラウザー] でプロジェクトの名前を右クリックし、[プロジェクトを閉じる] を選択します。実験マネージャーによって結果が保存され、プロジェクトに含まれるすべての実験が閉じられます。

参考

| |

関連するトピック