Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

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

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

多入力ネットワーク

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

学習

複数の入力がある深層学習ネットワークの定義と学習を行うには、layerGraph オブジェクトまたは dlnetwork オブジェクトを使用してネットワーク アーキテクチャを指定し、関数 trainNetwork または trainnet をそれぞれ使用して学習させます。

複数の入力層があるネットワークにデータストアを使用するには、関数 combine および transform を使用して、列数が (numInputs + 1) の cell 配列を出力するデータストアを作成します。ここで、numInputs はネットワーク入力の数です。この場合、最初の numInputs 列は各入力の予測子を指定し、最後の列は応答を指定します。入力の順序は、層グラフ layersInputNames プロパティによって指定します。

イメージと特徴の両方の入力をもつネットワークに学習させる方法を説明する例については、イメージ データおよび特徴データにおけるネットワークの学習を参照してください。

ヒント

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

予測

複数の入力がある学習済み深層学習ネットワークで予測を行うには、関数 predictclassify のいずれかを使用します。次のいずれかを使用して複数の入力を指定します。

  • combinedDatastore オブジェクト

  • transformedDatastore オブジェクト

  • 複数の数値配列

多出力ネットワーク

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

学習

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

予測

モデル関数を使用して予測を行うには、学習済みパラメーターとともにモデル関数を直接使用します。例については、モデル関数を使用した予測の実行を参照してください。

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

  • DAGNetwork オブジェクトに関数 predict を使用して、他のデータ型 (データストアなど) で予測を行います。

  • DAGNetwork オブジェクトに関数 predict を使用して、予測オプション (ミニバッチ サイズなど) を指定します。

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

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

参考

|

関連するトピック