NormalizationLayer

NormalizationLayer[]

二次元目以降の次元の入力データを正規化し,独立したスケールとバイアスを一次元の各成分に適用する,訓練可能なネット層を表す.

NormalizationLayer[aggregationlevels]

指定された集約レベルでデータを正規化し,学習したスケールとバイアスを残りのレベルに適用する.

NormalizationLayer[aggregationlevels,scalinglevels]

学習したスケールとバイアスを指定されたスケールレベルに適用する.

詳細とオプション

  • NormalizationLayerは,ゼロ平均と単位分散へのデータの正規化に使われる.その後にはアフィン変換が続く.
  • aggregationlevels は,平均と分散統計の計算に入力のどのレベルを集約するかを決定する.scalinglevels は,入力のどのレベルにコンポーネントごとの特定のスケーリング値とバイアスを適用するかを決定する.
  • 次は,aggregationlevels の可能な値である.
  • aレベル a のみを集約
    a1;;a2レベル a1からレベル a2までを集約
    {a1,}レベル aiを集約
  • デフォルトの集約レベルは2;;Allである.
  • 次は,scalinglevels の可能な値である.
  • "Complement"集約レベルを除いた全レベル(デフォルト)
    "Same"集約レベルと同じレベル
    sレベル i のみ
    s1;;s2レベル s1からレベル s2まで
    {s1,}レベル si
  • 次の選択的パラメータを含めることができる.
  • "Epsilon" 0.001安定性パラメータ
    LearningRateMultipliersAutomaticスケーリングおよび/またはバイアスパラメータの学習率乗数
    "Unbiased" False(長さの代りに)長さ-1で標準偏差を正規化するかどうか
  • 集約レベル{a1,,an}のとき,"GroupNumber"{g1,,gn}と設定すると,ajレベルが gjグループに分割され,個別に正規化される.レベル ajの次元は gjの整数倍でなければならない.
  • 次の学習可能パラメータを指定することができる.
  • "Biases"Automatic学習可能なバイアスパラメータ
    "Scaling"Automatic学習可能なスケールパラメータ
  • Automatic設定の場合は,NetInitializeまたはNetTrainが使われるとスケールパラメータとバイアスパラメータが自動的に初期化される.Noneの設定の場合は,スケールと追加のバイアスを無効にすることができる.
  • スケールとバイアスの両パラメータが初期化あるいは無効にされると,NormalizationLayer[][input]は層を適用した結果から明示的に出力を計算する,
  • NormalizationLayer[][input]は,層を input に適用した結果の出力を明示的に計算する.
  • NormalizationLayer[][{input1,input2,}]は各 inputiの出力を明示的に計算する.
  • より大きいネット内の他の層から推測できない場合は,オプション"Input"->{d1,d2,}を使ってNormalizationLayerの入力次元を固定することができる.
  • NetExtractを使って,スケール,バイアス,イプシロンの各パラメータをNormalizationLayerオブジェクトから抽出することができる.
  • NormalizationLayerは,NetChainNetGraph等の内部で使われることが多い.
  • NormalizationLayerNetGraph等で使うために次のポートを開放する.
  • "Input"1階より上の配列
    "Output"1階より上の配列
  • 集約レベル{a,b,}では da×db×の部分配列 xAに,スケールレベル{i,j,}では di×dj×の部分配列 xIに分解できる,入力配列 について考える.スケールパラメータ とバイアスパラメータ の次元は(di×dj×)である.入力配列と同じ次元の出力は で得ることができる.ただし,平均配列は で,分散は で与えられる.
  • デフォルトのNormalizationLayer[]は,Ulyanov et al.による2016年の「Instance Normalization: The Missing Ingredient for Fast Stylization」における一次元のチャンネルレベルと続くレベルの空間次元を持つ正規化の例に対応する.
  • NormalizationLayer[2;;All,"Same","Input"{n,Automatic}]は,Ba et al.による2016年の「Layer Normalization」における最終レベルのチャンネル次元と一次元のチャンネルレベルにおける時間次元の正規化の例に対応する.
  • NormalizationLayer[All,1,"GroupNumber"{n,1,1,},"Input"{m*n,}]は,Wu et al.による2018年の群の正規化についての「Group Normalization」における一次元のチャンネルレベルと続くレベルの空間次元を持つ正規化の例に対応する.
  • Options[NormalizationLayer]は層を構築する際のデフォルトオプションのリストを与える.Options[NormalizationLayer[]]はデータについて層を評価する際のデフォルトオプションのリストを与える.
  • Information[NormalizationLayer[]]は層についてのレポートを与える.
  • Information[NormalizationLayer[],prop]NormalizationLayer[]の特性 prop の値を与える.使用可能な特性NetGraphと同じである.

例題

すべて開くすべて閉じる

  (2)

NormalizationLayerを作る:

階数3の配列を取る,初期化されたNormalizationLayerを作る:

この層を入力に適用する:

スコープ  (3)

RGB画像を取り込んでRGB画像を返す正規化層の例を作る:

この層を画像に適用する:

NormalizationLayerは自動的に入力バッチに縫い込まれる:

二次元ベクトルの列を取り込んで,2倍にスケールされてシフトされた正規化ベクトルの列を返すNormalizationLayerを作る:

層正規化を正弦波入力に適用する:

正規化の前と後の値を可視化する:

階数6の配列を取り入れて全次元について正規化する,初期化されたNormalizationLayerを作る:

この層を入力に適用する:

オプション  (8)

"Biases"  (2)

バイアスを明示的に指定してNormalizationLayerを作る:

バイアスを抽出する:

バイアスなしでNormalizationLayerを作る:

この層は学習可能なバイアスを持たない:

"Epsilon"  (1)

"Epsilon"パラメータを明示的に指定してNormalizationLayerを作る:

"Epsilon"パラメータを抽出する:

"GroupNumber"  (2)

NormalizationLayerは,集約レベル全体の分散と平均を計算する:

集約レベルを2つのグループに分割するように指定する:

それぞれのグループが個別に正規化される:

これは正規化の前に入力を再形成することに等しい:

1レベル深く正規化を適用することと組み合せる:

スケーリングなしでNormalizationLayerを作成する:

この層には学習可能なスケーリングパラメータがない:

"Scaling"  (2)

スケールパラメータを明示的に指定してNormalizationLayerを作る:

スケールパラメータを抽出する:

スケールなしでNormalizationLayerを作る:

この層は学習可能なスケールパラメータを持たない:

"Unbiased"  (1)

デフォルトの分散推定器は,通常,ニューラルネットアプリケーションでは偏っている:

これは以下に等しい:

NormalizationLayerを偏りがない分散推定器で定義する:

分散の計算は,これでVarianceと等しくなった:

特性と関係  (1)

NormalizationLayerは,一般に,Standardizeとは等しくない:

単位"Scaling"とゼロ"Biases"で層を初期化する:

データの標準化を計算する:

安定性パラメータとバイアスのある分散推定器は違いを導入する:

NormalizationLayer遠正規化なしで定義する:

結果はStandardizeに近い:

考えられる問題  (1)

NormalizationLayerは,その全入出力次元が既知になるまで初期化できない:

Wolfram Research (2019), NormalizationLayer, Wolfram言語関数, https://reference.wolfram.com/language/ref/NormalizationLayer.html (2020年に更新).

テキスト

Wolfram Research (2019), NormalizationLayer, Wolfram言語関数, https://reference.wolfram.com/language/ref/NormalizationLayer.html (2020年に更新).

CMS

Wolfram Language. 2019. "NormalizationLayer." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2020. https://reference.wolfram.com/language/ref/NormalizationLayer.html.

APA

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

BibTeX

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

BibLaTeX

@online{reference.wolfram_2024_normalizationlayer, organization={Wolfram Research}, title={NormalizationLayer}, year={2020}, url={https://reference.wolfram.com/language/ref/NormalizationLayer.html}, note=[Accessed: 22-November-2024 ]}