ドキュメンテーション

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

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

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

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

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

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

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

  • MATLAB® コードを生成する。

ヒント

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

アプリの開始とネットワークのインポート

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

deepNetworkDesigner

既存のネットワークを変更またはコピーする場合は、ワークスペースからアプリにインポートします。事前学習済みのネットワークの編集を試してみるには、次のように入力します。

net = googlenet;

[インポート] をクリックし、ネットワークを選択してワークスペースから読み込みます。ディープ ネットワーク デザイナーにネットワーク全体が縮小表示されます。

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

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

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

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

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

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

ネットワークの確認

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

学習用のネットワークのエクスポート

ネットワークをワークスペースにエクスポートするには、ディープ ネットワーク デザイナーに戻って [エクスポート] をクリックします。ディープ ネットワーク デザイナーは、編集したネットワーク層を格納する新しい変数にネットワークをエクスポートします。エクスポート後、層変数を関数 trainNetwork に指定できます。

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

trainedNet = trainNetwork(images,lgraph_1,options)

イメージのサイズ変更と処理の詳細は、イメージの深層学習向け前処理を参照してください。

アプリで編集した後のネットワークに学習させる方法を示すスクリプトの例については、ディープ ネットワーク デザイナーからエクスポートされたネットワークの学習を参照してください。

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

ネットワーク アーキテクチャを再作成し、ワークスペースの変数として返す MATLAB コードを生成する方法を示す例については、ディープ ネットワーク デザイナーからの MATLAB コードの生成を参照してください。

参考

関連するトピック