NormalizeL2¶
バージョン名: NormalizeL2-1
カテゴリー: 正規化
簡単な説明: NormalizeL2 操作は、axes
入力で指定された次元に沿って、指定された入力 data
の L2 正規化を実行します。
詳細な説明:
出力の各要素は、data
入力の対応する要素を、axes
入力で指定された次元に沿った L2 リダクションの結果で除算した結果です。
output[i0, i1, ..., iN] = x[i0, i1, ..., iN] / sqrt(eps_mode(sum[j0,..., jN](x[j0, ..., jN]**2), eps))
ここで、インデックス i0, ..., iN
は data
入力のすべての有効なインデックスを実行し、合計 sum[j0, ..., jN]
は、操作の axes
入力で指定されたインデックスのセットに含まれない次元 k
に対して axes
になります。eps_mode
リダクション値と eps
の組み合わせ方を選択します。eps_mode
属性値に応じて、max
または add
にすることができます。
特定のケース:
axes
が空のリストである場合、各入力要素はそれ自体で除算され、ゼロ以外のすべての要素の値は1
になります。axes
に入力data
のすべての次元が含まれている場合、入力テンソル全体に対して単一の L2 リダクション値が計算され、各入力要素がその値で除算されます。
属性:
-
eps
説明: eps は、値を正規化する際にゼロによる除算を避けるために、eps_mode 関数によって二乗和に適用される数値です。
値の範囲: 正の浮動小数点数
タイプ:
float
必須: はい
-
eps_mode
説明: ゼロによる除算を避けるため、eps を平方和と組み合わせる方法を指定します。
値の範囲:
add
またはmax
タイプ:
string
必須: はい
入力:
1:
data
はタイプ T の任意の形状のテンソルです。必須。2:
axes
-data
入力テンソルの軸インデックスに沿って L2 リダクションが計算されます。一意の要素とタイプ T_IND のスカラーまたは 1D テンソル。要素の範囲は[-r, r-1]
です。ここで、r
はdata
入力テンソルのランクです。必須。
出力:
1:
data
入力テンソルに適用された NormalizeL2 関数の結果。データ入力と同じタイプおよび形状の正規化されたテンソル。
タイプ:
T: サポートされている任意の浮動小数点タイプ。
T_IND: サポートされている整数タイプ。
例:
例: NCHW
レイアウトのチャネル次元の正規化
<layer id="1" type="NormalizeL2" ...>
<data eps="1e-8" eps_mode="add"/>
<input>
<port id="0">
<dim>6</dim>
<dim>12</dim>
<dim>10</dim>
<dim>24</dim>
</port>
<port id="1">
<dim>1</dim> <!-- axes list [1] means normalization over channel dimension -->
</port>
</input>
<output>
<port id="2">
<dim>6</dim>
<dim>12</dim>
<dim>10</dim>
<dim>24</dim>
</port>
</output>
</layer>
例: NCHW
レイアウトのチャネルおよび空間次元の正規化
<layer id="1" type="NormalizeL2" ...>
<data eps="1e-8" eps_mode="add"/>
<input>
<port id="0">
<dim>6</dim>
<dim>12</dim>
<dim>10</dim>
<dim>24</dim>
</port>
<port id="1">
<dim>3</dim> <!-- axes list [1, 2, 3] means normalization over channel and spatial dimensions -->
</port>
</input>
<output>
<port id="2">
<dim>6</dim>
<dim>12</dim>
<dim>10</dim>
<dim>24</dim>
</port>
</output>
</layer>