主要内容

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

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

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

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

実験を開く

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

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

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

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

[ハイパーパラメーター]セクションでは,実験で使用する手法(详尽的扫描)とハイパーパラメーター値を指定します。実験を実行すると,実験マネージャーは,ハイパーパラメーターテーブルで指定されたハイパーパラメーター値のすべての組み合わせを使用してネットワークに学習させます。この例では,ハイパーパラメーターWeightsInitializerBiasInitializerを使用し,事前学習済みのネットワークにおける畳み込み層と全結合層の重み初期化子を指定します。

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

この例のセットアップ関数では以下を行います。

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

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

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

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

実験の実行

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

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

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

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

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

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

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

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

実験を閉じる

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

参考

||

関連するトピック