Main Content

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

多入力および多出力ネットワーク

Deep Learning Toolbox™ では、複数の出力 (たとえば、複数のソースおよびタイプのデータで学習させたネットワーク) または複数の出力 (たとえば、分類および回帰の両方の応答を予測するネットワーク) があるネットワーク アーキテクチャを定義できます。

多入力ネットワーク

ネットワークに複数のソースまたは異なる形式のデータが必要な場合に、複数の入力があるネットワークを定義します。たとえば、複数のセンサーから異なる解像度で取得されたイメージ データを必要とするネットワークです。

学習

複数の入力がある深層学習ネットワークの定義と学習を行うには、layerGraph オブジェクトを使用してネットワーク アーキテクチャを指定し、combinedDatastore オブジェクトまたは transformedDatastore オブジェクトを使用して複数の入力を指定することによって、関数 trainNetwork で学習を行います。

複数の入力があるネットワークの場合、データストアは、予測子と応答を含む列数が (numInputs+1) の cell 配列を返す、組み合わせまたは変換が行われたデータストアでなければなりません。ここで、numInputs はネットワーク入力の数、numResponses は応答の数です。inumInputs 以下の場合、cell 配列の i 番目の要素は入力 layers.InputNames(i) に対応します。ここで、layers はネットワーク アーキテクチャを定義する層グラフです。cell 配列の最後の列は応答に対応します。

ヒント

ネットワークに複数の出力もある場合、ネットワークを関数として定義し、カスタム学習ループを使用してネットワークに学習させなければなりません。詳細は、多出力ネットワークを参照してください。

予測

複数の入力がある学習済み深層学習ネットワークで予測を行うには、関数 predict または関数 classify のいずれかを使用し、combinedDatastore オブジェクトまたは transformedDatastore オブジェクトを使用して複数の入力を指定します。

多出力ネットワーク

異なる形式の複数の応答を必要とするタスク用に、複数の出力があるネットワークを定義します。たとえば、categorical 出力と数値出力の両方を必要とするタスクです。

学習

複数の出力がある深層学習ネットワークに学習させるには、ネットワークを関数として定義し、カスタム学習ループを使用してネットワークに学習させます。例については、複数の出力をもつネットワークの学習を参照してください。

予測

モデル関数を使用して予測を行うには、モデル関数を学習済みネットワークに直接使用します。例については、モデル関数を使用した予測の実行を参照してください。

または、関数 functionToLayerGraph および関数 assembleNetwork を使用してモデル関数を DAGNetwork オブジェクトに変換します。組み立てたネットワークでは、DAGNetwork オブジェクトに関数 predict を使用して次のことができます。

  • データストア入力で直接、予測を行う。

  • ネットワークを MAT ファイルに保存する。

  • DAGNetwork オブジェクトに関数 predict を使用することによって指定されたオプションを使用する。

例については、予測用の多出力ネットワークの組み立てを参照してください。

参考

| |

関連するトピック