NetPortGradient

NetPortGradient["port"]

指定された入力ポートの値に対するネットの出力の勾配を表す.

NetPortGradient["param"]

param という名前の学習されたパラメータに対する出力の勾配を表す.

NetPortGradient[{layer1,layer2,,"param"}]

ネットの特定の位置のパラメータに対する勾配を表す.

NetPortGradient[All]

すべての入力とパラメータについての勾配を表す.

詳細

  • NetPortGradientは,通常,ネットワークの学習されたパラメータとネットワークへの入力の両方に対する勾配を計算するために使われる.
  • net[data,NetPortGradient[iport]]を使って,特定のデータに適用されたネットの入力ポート iport に対する勾配を得ることができる.
  • net[<|,NetPortGradient[oport]ograd|>,NetPortGradient[iport]]を使って,iport における勾配を計算するために後方伝播だれる出力ポート oport に勾配を強制する.
  • 単一のスカラー出力ポートを持つネットの場合,NetPortGradientを使った場合に返される勾配は通常の数学的な意味の勾配である.つまり, がその勾配が計算されている配列であり, が他のすべての配列を表す を計算するネットの場合,勾配は成分が で与えられる と同じ階数の配列である.直感的に, の特定の値における勾配は,ゴールが を増加させることであるなら を摂動させる「最良の方向」であることが分かる.勾配の大きさは における変化に対する の感度に比例する.
  • ベクトル出力または配列出力のあるネットについては,NetPortGradientを使った場合に返される勾配は全出力のスカラー和の通常の勾配である.構文<|,NetPortGradient[oport]ograd|>を使って出力における勾配を強制することは,このスカラー和を出力と ograd の間のドット積で置換することに等しい.
  • NetPortGradientを使って,ネットの学習済みのパラメータについて勾配を計算すると,入力バッチに渡る勾配の合計が返される.

例題

すべて開くすべて閉じる

  (3)

要素ごとの層を作り入力の出力に対する微分係数を返す:

負の値に対する微分係数は0である:

LinearLayerをランダムに初期化し,特定の入力値についての入力に対する出力の微分係数を返す:

ネイティブの数値計算と比較する:

バイナリクロスエントロピー損失層を作る:

入力とターゲットについて損失を評価する:

入力がターゲットより小さいので,入力の微分係数は負である(入力を大きくすると損失は小さくなる):

入力がターゲットより大きい場合は,入力の微分係数は正である:

入力とターゲットが等しければ,微分係数は0である:

スコープ  (2)

線形層の鎖をランダムに初期化する:

特定の入力値について,最初の層の重みとバイアスに対する出力の微分係数を返す:

入力の勾配を計算する:

出力に勾配を強制する:

すべての勾配を1回の呼出しで計算する:

PoolingLayerを,赤い色チャンネルを抽出するPartLayerに繋ぐ:

検証画像について入力勾配を計算する:

勾配を可視化すると,既存の赤や白い部分から離れた画素が赤みがかっている場合にのみこのネットの全出力が増加することが分かる:

特性と関係  (1)

出力配列で仮定されるデフォルトの勾配は,1からなる配列である:

線形層のチェーンをランダムに初期化する:

入力における勾配を計算する:

これは,すべてが1の出力に勾配を強制することに等しい:

出力に別の勾配を強制する:

考えられる問題  (1)

ネット内の任意の学習済みパラメータの勾配は,入力例のバッチに渡って集計される:

Wolfram Research (2017), NetPortGradient, Wolfram言語関数, https://reference.wolfram.com/language/ref/NetPortGradient.html (2022年に更新).

テキスト

Wolfram Research (2017), NetPortGradient, Wolfram言語関数, https://reference.wolfram.com/language/ref/NetPortGradient.html (2022年に更新).

CMS

Wolfram Language. 2017. "NetPortGradient." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2022. https://reference.wolfram.com/language/ref/NetPortGradient.html.

APA

Wolfram Language. (2017). NetPortGradient. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/NetPortGradient.html

BibTeX

@misc{reference.wolfram_2024_netportgradient, author="Wolfram Research", title="{NetPortGradient}", year="2022", howpublished="\url{https://reference.wolfram.com/language/ref/NetPortGradient.html}", note=[Accessed: 27-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_netportgradient, organization={Wolfram Research}, title={NetPortGradient}, year={2022}, url={https://reference.wolfram.com/language/ref/NetPortGradient.html}, note=[Accessed: 27-November-2024 ]}