Main Content

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

ディープ ネットワーク デザイナーを使用したネットワークの構築

ディープ ネットワーク デザイナー アプリを使用して、深層学習ネットワークを対話形式で構築および編集します。このアプリを使って次のことを実行できます。

  • ネットワークをインポートして編集する。

  • 新しいネットワークをゼロから構築する。

  • 新しい層をドラッグ アンド ドロップして追加し、新しい結合を作成する。

  • 層のプロパティを表示および編集する。

  • MATLAB® コードを生成してネットワーク アーキテクチャを作成する。

ヒント

通常は、事前学習済みのネットワークを基にして転移学習によって微調整する方が、新しいネットワークにゼロから学習させるよりもはるかに簡単で時間がかかりません。事前学習済みのネットワークを使用して転移学習を実行する方法を示す例については、ディープ ネットワーク デザイナーを使用した転移学習を参照してください。

アプリの起動とネットワークのインポート

ディープ ネットワーク デザイナーを開くには、[アプリ] タブの [機械学習および深層学習] でアプリのアイコンをクリックします。あるいは、コマンド ラインからアプリを開くこともできます。

deepNetworkDesigner

既存の事前学習済みネットワークを変更またはコピーする場合は、スタート ページから選択します。

[デザイナー] タブの [新規] をクリックしてワークスペースからネットワークを読み込むか、事前学習済みのネットワークを選択するか、あるいはゼロからネットワークを構築することも可能です。ディープ ネットワーク デザイナーにネットワーク全体が縮小表示されます。

アプリでは、いずれかの組み込みの層を使用してネットワークを構築できます。さらに、カスタム層を使用することもできます。その場合、コマンド ラインでカスタム層を作成して、ネットワークをアプリにインポートします。使用可能な層の一覧、およびカスタム層の例については、深層学習層の一覧を参照してください。

ディープ ネットワーク デザイナーの [デザイナー] ペインでは、ネットワークの構築、編集、解析が行えます。

ネットワークの作成および編集

[層のライブラリ] からブロックをドラッグして結合することによって、ネットワークを組み立てます。層のブロックは一度に操作できます。複数の層を選択して、コピー、貼り付け、または削除します。

層のプロパティを表示して編集するには、層を選択します。層のプロパティに関する詳細情報については、層の名前の横にあるヘルプ アイコンをクリックしてください。

すべての層のプロパティについては、深層学習層の一覧の表の層の名前をクリックしてください。

適切なネットワーク アーキテクチャの選択に関するヒントは、深層学習のヒントとコツを参照してください。

層のブロックを作成し、繰り返しユニットをコピーして結合すると便利です。たとえば、層のブロックを使用して、畳み込み層、バッチ正規化層、および ReLU 層のグループの複数のコピーを作成できます。事前学習済みのネットワークの最後に層を追加して、より深いネットワークにすることができます。あるいは、小さい入力イメージを使用する場合、事前学習済みのネットワークを編集して簡略化できます。たとえば、GoogLeNet ネットワークからインセプション モジュールなどの層のユニットを削除することによって、よりシンプルなネットワークを作成できます。

ネットワークの確認

ネットワークを確認して層の詳細を調べるには、[デザイナー] タブの [解析] をクリックします。問題を調査して層のプロパティを調べると、ネットワークでのサイズの不一致を解決するのに役立ちます。ディープ ネットワーク デザイナーに戻って層を編集し、[解析] を再度クリックして結果を確認します。深層学習ネットワーク アナライザーによって誤差 0 が報告されている場合、編集したネットワークの学習の準備が整っています。

ディープ ネットワーク デザイナーを使用したネットワークの学習

ディープ ネットワーク デザイナー アプリを使用して、イメージ分類問題用にネットワークを学習させることが可能です。[データ] タブの [データのインポート] をクリックして、ネットワークに学習させるイメージ データを選択します。

データをインポートした後で、[学習] タブの [学習] をクリックします。ディープ ネットワーク デザイナーによって、[デザイナー] ペインで構築したネットワークがコピーされ、ネットワークの学習が行われます。学習をさらに細かく制御するには、[学習オプション] をクリックして学習オプションを変更します。ディープ ネットワーク デザイナーで構築されたネットワークにデータをインポートして学習させる方法の詳細については、ディープ ネットワーク デザイナーを使用した転移学習を参照してください。

ヒント

ディープ ネットワーク デザイナーでは、イメージ分類ネットワークに学習させることができます。シーケンス分類問題のためにネットワークをエクスポートして学習させる方法を示す例については、ディープ ネットワーク デザイナーを使用したシンプルなシーケンス分類ネットワークの作成を参照してください。

ネットワークのエクスポート

未学習のネットワークをワークスペースにエクスポートして学習させるには、[デザイナー] タブの [エクスポート] をクリックします。ディープ ネットワーク デザイナー アプリは、編集したネットワーク層を含む新しい変数にネットワークをエクスポートします。エクスポート後、層変数を関数 trainNetwork に指定できます。

この例では、アプリからエクスポートされた層に lgraph_1 という名前が付いており、イメージが images という拡張イメージ データストアに、学習オプションが options に含まれていると仮定します。ネットワークに学習させるには、次のように入力します。

trainedNet = trainNetwork(images,lgraph_1,options)

学習オプションを設定し、学習済みネットワークの精度を評価する方法を示すコマンド ラインの例については、分類用のシンプルな深層学習ネットワークの作成またはイメージ分類用の残差ネットワークの学習を参照してください。

学習済みのネットワークをワークスペースにエクスポートするには、[学習] タブの [エクスポート] をクリックします。エクスポートされたネットワークには、ディープ ネットワーク デザイナーで学習した重み付きの層が含まれています。

MATLAB コードの生成

ディープ ネットワーク デザイナーを使用すると、アプリ内で実行したネットワークの構築と学習を再作成する MATLAB コードを生成することが可能です。

ネットワーク アーキテクチャを再作成する MATLAB コードを生成する方法を示す例については、ネットワーク層を再作成する MATLAB コードの生成を参照してください。

ネットワーク アーキテクチャとネットワーク学習を再作成する MATLAB コードを生成する方法の例については、ネットワークに学習させる MATLAB コードの生成を参照してください。

参考

関連するトピック