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, ..., iNdata 入力のすべての有効なインデックスを実行し、合計 sum[j0, ..., jN] は、操作の axes 入力で指定されたインデックスのセットに含まれない次元 k に対して axes になります。eps_mode リダクション値と eps の組み合わせ方を選択します。eps_mode 属性値に応じて、max または add にすることができます。

特定のケース:

  1. axes が空のリストである場合、各入力要素はそれ自体で除算され、ゼロ以外のすべての要素の値は 1 になります。

  2. 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] です。ここで、rdata 入力テンソルのランクです。必須。

出力:

  • 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>