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> <!-- 軸リスト [1] はチャネル次元の正規化を意味します --> 
       </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> <!-- 軸リスト [1, 2, 3] はチャネルと空間次元の正規化を意味します --> 
        </port> 
    </input> 
    <output> 
        <port id="2"> 
            <dim>6</dim> 
            <dim>12</dim> 
            <dim>10</dim> 
            <dim>24</dim> 
        </port> 
    </output> 
</layer>