このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
dlnetwork
深層学習ニューラル ネットワーク
説明
dlnetwork
オブジェクトは、深層学習ニューラル ネットワークのアーキテクチャを指定します。
ヒント
ほとんどの深層学習タスクでは、事前学習済みのニューラル ネットワークを使用して独自のデータに適応させることができます。転移学習を使用して、畳み込みニューラル ネットワークの再学習を行い、新しい一連のイメージを分類する方法を示す例については、Retrain Neural Network to Classify New Imagesを参照してください。または、関数 trainnet
と関数 trainingOptions
を使用してニューラル ネットワークを作成し、これにゼロから学習させることができます。
タスクに必要な学習オプションが関数 trainingOptions
に用意されていない場合、自動微分を使用してカスタム学習ループを作成できます。詳細については、カスタム学習ループを使用したネットワークの学習を参照してください。
タスクに必要な損失関数が関数 trainnet
に用意されていない場合、カスタム損失関数を関数ハンドルとして trainnet
に指定できます。損失関数が予測とターゲットよりも多くの入力を必要とする場合 (たとえば、損失関数がニューラル ネットワークまたは追加の入力にアクセスする必要がある場合)、カスタム学習ループを使用してモデルに学習させます。詳細については、カスタム学習ループを使用したネットワークの学習を参照してください。
タスクに必要な層が Deep Learning Toolbox™ に用意されていない場合、カスタム層を作成できます。詳細については、カスタム深層学習層の定義を参照してください。層のネットワークとして指定できないモデルの場合は、モデルを関数として定義できます。詳細については、モデル関数を使用したネットワークの学習を参照してください。
どのタスクでどの学習手法を使用するかについての詳細は、MATLAB による深層学習モデルの学習を参照してください。
作成
構文
説明
空のネットワーク
は、層がない net
= dlnetworkdlnetwork
オブジェクトを作成します。ニューラル ネットワークをゼロから作成するには、この構文を使用します。 (R2024a 以降)
入力層をもつネットワーク
は、指定された層を使用してニューラル ネットワークを作成し、未設定の学習可能なパラメーターと状態パラメーターを初期化します。この構文は、net
= dlnetwork(layers
)layers
の入力層を使用して、ニューラル ネットワークの学習可能なパラメーターと状態パラメーターのサイズと形式を決定します。
layers
が、完全な単入力ニューラル ネットワークを定義し、直列に配置された層をもち、入力層をもつ場合、この構文を使用します。
は、net
= dlnetwork(layers
,OutputNames=names)OutputNames
プロパティも設定します。OutputNames
プロパティは、ネットワークの出力に対応する層または層出力を指定します。
layers
が、完全な単入力多出力ニューラル ネットワークを定義し、直列に配置された層をもち、入力層をもつ場合、この構文を使用します。
未接続の入力をもつネットワーク
は、net
= dlnetwork(layers
,X1,...,XN
,OutputNames=names)OutputNames
プロパティも設定します。
layers
が、完全なニューラル ネットワークを定義し、複数の出力をもち、直列に配置された層をもち、入力層に接続されていない入力をもつ場合、この構文を使用します。
枝刈りが可能なネットワーク
は、枝刈り用に選択されたフィルターを net
= dlnetwork(prunableNet
) prunableNet
の畳み込み層から削除して TaylorPrunableNetwork
を dlnetwork
オブジェクトに変換し、圧縮された (学習可能なパラメーターを減らしてサイズを小さくした) dlnetwork
オブジェクトを返します。
入力引数
プロパティ
オブジェクト関数
addInputLayer | Add input layer to network |
addLayers | ニューラル ネットワークへの層の追加 |
removeLayers | ニューラル ネットワークからの層の削除 |
connectLayers | ニューラル ネットワークの層の結合 |
disconnectLayers | ニューラル ネットワークの層の切り離し |
replaceLayer | ニューラル ネットワークの層の置き換え |
getLayer | Look up a layer by name or path |
expandLayers | Expand network layers |
groupLayers | Group layers into network layers |
summary | ネットワークの概要の出力 |
plot | ニューラル ネットワーク アーキテクチャのプロット |
initialize | dlnetwork の学習可能なパラメーターと状態パラメーターの初期化 |
predict | 推論用の深層学習ネットワーク出力の計算 |
forward | 学習用の深層学習ネットワーク出力の計算 |
resetState | ニューラル ネットワークの状態パラメーターのリセット |
setL2Factor | 層の学習可能なパラメーターの L2 正則化係数の設定 |
setLearnRateFactor | 層の学習可能なパラメーターの学習率係数を設定します。 |
getLearnRateFactor | 層の学習可能なパラメーターの学習率係数の取得 |
getL2Factor | 層の学習可能なパラメーターの L2 正則化係数の取得 |