dlarray
R2026bカスタマイズ用の深層学習配列
説明
深層学習配列には、カスタム学習ループ用のデータとオプションのデータ形式ラベルが格納されます。関数は、この配列を使用し、自動微分による微分の計算を行ってその結果を利用することができます。
ヒント
ほとんどの深層学習タスクでは、事前学習済みのニューラル ネットワークを使用して独自のデータに適応させることができます。転移学習を使用して、畳み込みニューラル ネットワークの再学習を行い、新しい一連のイメージを分類する方法を示す例については、新しいイメージを分類するためのニューラル ネットワークの再学習を参照してください。または、関数 trainnet と関数 trainingOptions を使用してニューラル ネットワークを作成し、これにゼロから学習させることができます。
タスクに必要な学習オプションが関数 trainingOptions に用意されていない場合、自動微分を使用してカスタム学習ループを作成できます。詳細については、カスタム学習ループを使用したネットワークの学習を参照してください。
タスクに必要な損失関数が関数 trainnet に用意されていない場合、カスタム損失関数を関数ハンドルとして trainnet に指定できます。損失関数が予測とターゲットよりも多くの入力を必要とする場合 (たとえば、損失関数がニューラル ネットワークまたは追加の入力にアクセスする必要がある場合)、カスタム学習ループを使用してモデルに学習させます。詳細については、カスタム学習ループを使用したネットワークの学習を参照してください。
タスクに必要な層が Deep Learning Toolbox™ に用意されていない場合、カスタム層を作成できます。詳細については、カスタム深層学習層の定義を参照してください。層のネットワークとして指定できないモデルの場合は、モデルを関数として定義できます。詳細については、モデル関数を使用したネットワークの学習を参照してください。
どのタスクでどの学習手法を使用するかについての詳細は、MATLAB による深層学習モデルの学習を参照してください。
作成
説明
は、dlX = dlarray(X,fmt)fmt のデータ形式に従い、次元ラベルを使用して dlX 内のデータの形式を整えます。次元ラベルは、関数間で深層学習データを受け渡すのに役立ちます。次元ラベルの詳細については、深層学習のデータ形式を参照してください。
fmt を "" に設定しても、データから形式は削除されません。代わりに stripdims を使用してください。
入力引数
出力引数
オブジェクト関数
dims | dlarray オブジェクトのデータ形式 |
dlgradient | 自動微分を使用したカスタム学習ループの勾配の計算 |
extractdata | dlarray オブジェクトからのデータの抽出 |
finddim | 指定されたラベルをもつ次元の検索 |
stripdims | dlarray データ形式の削除 |
dlarray には、数値の関数、行列、およびその他の演算を指定することもできます。一覧については、dlarray をサポートする関数の一覧を参照してください。
例
詳細
ヒント
dlgradientは関数の内部で呼び出さなければなりません。勾配の数値を取得するには、dlfevalを使用して関数を評価しなければなりません。また、関数の引数はdlarrayでなければなりません。Deep Learning Toolbox での自動微分の使用を参照してください。勾配を正しく評価するため、
dlfevalはdlarrayをサポートしている関数のみを使用する関数を呼び出さなければなりません。dlarray をサポートする関数の一覧を参照してください。