このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
多入力および多出力ネットワーク
Deep Learning Toolbox™ では、複数の出力 (たとえば、複数のソースおよびタイプのデータで学習させたネットワーク) または複数の出力 (たとえば、分類および回帰の両方の応答を予測するネットワーク) があるネットワーク アーキテクチャを定義できます。
多入力ネットワーク
ネットワークに複数のソースまたは異なる形式のデータが必要な場合に、複数の入力があるネットワークを定義します。たとえば、複数のセンサーから異なる解像度で取得されたイメージ データを必要とするネットワークです。
学習
複数の入力がある深層学習ネットワークの定義と学習を行うには、layerGraph
オブジェクトまたは dlnetwork
オブジェクトを使用してネットワーク アーキテクチャを指定し、関数 trainNetwork
または trainnet
をそれぞれ使用して学習させます。
複数の入力層があるネットワークにデータストアを使用するには、関数 combine
および transform
を使用して、列数が (numInputs
+ 1) の cell 配列を出力するデータストアを作成します。ここで、numInputs
はネットワーク入力の数です。この場合、最初の numInputs
列は各入力の予測子を指定し、最後の列は応答を指定します。入力の順序は、層グラフ layers
の InputNames
プロパティによって指定します。
イメージと特徴の両方の入力をもつネットワークに学習させる方法を説明する例については、イメージ データおよび特徴データにおけるネットワークの学習を参照してください。
ヒント
ネットワークに複数の出力もある場合、カスタム学習ループを使用しなければなりません。詳細については、多出力ネットワークを参照してください。
予測
複数の入力がある学習済み深層学習ネットワークで予測を行うには、関数 predict
と classify
のいずれかを使用します。次のいずれかを使用して複数の入力を指定します。
combinedDatastore
オブジェクトtransformedDatastore
オブジェクト複数の数値配列
多出力ネットワーク
異なる形式の複数の応答を必要とするタスク用に、複数の出力があるネットワークを定義します。たとえば、カテゴリカル出力と数値出力の両方を必要とするタスクです。
学習
複数の出力がある深層学習ネットワークの学習を行うには、カスタム学習ループを使用します。例については、複数の出力をもつネットワークの学習を参照してください。
予測
モデル関数を使用して予測を行うには、学習済みパラメーターとともにモデル関数を直接使用します。例については、モデル関数を使用した予測の実行を参照してください。
または、関数 assembleNetwork
を使用してモデル関数を DAGNetwork
オブジェクトに変換します。組み立てたネットワークでは、次のことができます。
例については、予測用の多出力ネットワークの組み立てを参照してください。