MVN¶
バージョン名: MVN-6
カテゴリー: 正規化
簡単な説明: 入力テンソルの平均分散正規化を計算します。
詳細な説明:
MVN は入力ブロブから平均値を減算します。
normalize_variance が true
に設定されている場合、出力ブロブは分散で除算されます。値を正規化する際に、ゼロによる除算を避けるため数値 eps
が分散に追加されます。eps_mode
フラグの値に従って、eps
は sqrt の内側または外側に追加されます。
-
eps_mode
がinside_sqrt
の場合:\[o_{i}=\frac{o_{i}}{\sqrt {\sum {o_{k}^2}+\epsilon}}\] -
eps_mode
がoutside_sqrt
の場合:\[o_{i}=\frac{o_{i}}{\sqrt {\sum {o_{k}^2}}+\epsilon}\]
属性:
-
normalize_variance
説明: normalize_variance は分散正規化を行うかどうかを指定するフラグです。
-
値の範囲:
false
- 分散を正規化しませんtrue
- 分散を正規化します
タイプ:
boolean
必須: はい
-
eps
説明: eps は、値を正規化するときにゼロによる除算を避けるため分散に追加される数値です。
値の範囲: 正の浮動小数点数
タイプ:
float
必須: はい
-
eps_mode
説明: イプシロンを追加する場所を選択します。
-
値の範囲:
inside_sqrt
- sqrt の内側にイプシロンを追加しますoutside_sqrt
- sqrt の外側にイプシロンを追加します
タイプ:
string
必須: はい
入力:
1:
data
- 正規化されるタイプ T および任意の形状の入力テンソル。必須。2:
axes
- 正規化スライスを定義するdata
内の次元のインデックスを指定する 1D テンソル。許容される軸の範囲は[-r; r-1]
ここで、r = rank(data)
の場合は順序をソートできません。負の値は、次元を後ろから数えることを意味します。タイプ T_IND。必須。
出力:
1:
data
入力テンソルと同じ形状およびタイプの出力テンソル。
タイプ:
T: 任意の浮動小数点タイプ。
T_IND:
int64
またはint32
。
例:
<layer ... type="MVN">
<data eps="1e-9" eps_mode="inside_sqrt" normalize_variance="true"/>
<input>
<port id="0">
<dim>6</dim>
<dim>12</dim>
<dim>10</dim>
<dim>24</dim>
</port>
<port id="1">
<dim>3</dim> <!-- value of [0,2,3] means independent normalization per channels -->
</port>
</input>
<output>
<port id="2">
<dim>6</dim>
<dim>12</dim>
<dim>10</dim>
<dim>24</dim>
</port>
</output>
</layer>