カスタム深層学習層の定義
ヒント
このトピックでは,問題に合わせてカスタム深層学習層を定義する方法を説明します。深度学习工具箱™ に組み込まれている層の一覧については、深層学習層の一覧を参照してください。
タスクに合わせて独自のカスタム深層学習層を定義できます。カスタム出力層を使用してカスタム損失関数を指定できます。また,学習可能なパラメーターと状態パラメーターを含むカスタム層や,それらを含まないカスタム層を定義できます。カスタム層を定義した後,その層の有効性,GPU互換性,および定義した勾配の出力の正しさをチェックできます。
このトピックでは,深層学習層のアーキテクチャと,タスクに使用するカスタム層を定義する方法を説明します。
種類 | 説明 |
---|---|
中間層 | カスタム深層学習層を定義し,オプションの学習可能なパラメ,タ,と状態パラメ,タ,を指定します。 詳細にいては,カスタム深層学習中間層の定義を参照してください。 学習可能なパラメタを含むカスタム層の定義方法の例にいては,学習可能なパラメ,タ,を含むカスタム深層学習層の定義を参照してください。複数の入力があるカスタム層の定義方法を示す例にいては,複数の入力があるカスタム深層学習層の定義を参照してください。 |
分類出力層 | カスタム分類出力層を定義し,損失関数を指定します。 詳細にいては,カスタム深層学習出力層の定義を参照してください。 カスタム分類出力層を定義し,損失関数を指定する方法を示す例にいては,カスタム分類出力層の定義を参照してください。 |
回帰出力層 | カスタム回帰出力層を定義し,損失関数を指定します。 詳細にいては,カスタム深層学習出力層の定義を参照してください。 カスタム回帰出力層を定義し,損失関数を指定する方法を示す例にいては,カスタム回帰出力層の定義を参照してください。 |
層テンプレ,ト
以下のテンプレ,トを使用して,新しい層を定義できます。
中間層のア,キテクチャ
学習時には,ネットワ,クのフォワ,ドパスとバックワ,ドパスが反復して実行されます。
ネットワークのフォワードパスでは,各層は前の層の出力を取り,関数を適用し,結果を次の層に出力(順伝播)します。また,lstm層などのステ,トフルな層では,層の状態を更新します。
層は複数の入力または出力を持ことができます。たとえば,層は複数の前の層からx1,…,xNを受け取り,出力z1,…,z米を後続の層に順伝播できます。
ネットワークのフォワードパスの最後に,出力層は予測YとターゲットTの間の損失Lを計算します。
ネットワーク経由のバックワードパスでは,それぞれの層は,層の出力についての損失の微分を受け取り,入力についての損失Lの微分を計算し,その結果を逆伝播します。層に学習可能なパラメーターがある場合,層は層の重み(学習可能なパラメーター)の微分も計算します。層は,重みの微分を使用して学習可能なパラメ,タ,を更新します。
次の図は,深層ニューラルネットワークにおけるデータのフローを説明するもので,1つの入力X 1つの出力Z,および学習可能なパラメーターWがある層経由のデータフローを強調しています。
カスタム中間層の詳細にいては,カスタム深層学習中間層の定義を参照してください。
出力層のア,キテクチャ
学習時のフォワードパスの最後で,出力層は前の層の出力(ネットワーク予測)Yを受け取り,これらの予測と学習ターゲットの間の損失Lを計算します。出力層は,予測yにいて損失lの微分を計算し,結果を前の層に出力(逆伝播)します。
次の図は,ニュ,ラルネットワ,クおよび出力層におけるデ,タのフロ,を示しています。
詳細にいては,カスタム深層学習出力層の定義を参照してください。
カスタム層の有効性のチェック
カスタム深層学習層を作成する場合,関数checkLayer
を使用して,層が有効であることをチェックできます。この関数は,層について,有効性,GPU互換性,勾配定義の正しさ,コード生成の互換性をチェックします。層が有効であることをチェックするには,次のコマンドを実行します。
validInputSize checkLayer(层)
层
は層の电子邮箱ンスタンス,validInputSize
は層に有効な入力サesc escズを指定するベクトルまたはcell配列です。複数の観測値をチェックするには,ObservationDimension
オプションを使用します。コ,ド生成の互換性チェックを実行するには,CheckCodegenCompatibility
オプションを1
(正确)に設定します。入力サesc escズが大きい場合,勾配チェックの実行に時間がかかります。チェックを高速化するには,指定する有効な入力サ。
詳細にいては,カスタム層の有効性のチェックを参照してください。
参考
functionLayer
|checkLayer
|setLearnRateFactor
|setL2Factor
|getLearnRateFactor
|getL2Factor
|findPlaceholderLayers
|replaceLayer
|assembleNetwork
|PlaceholderLayer
|networkDataLayout