Selu

バージョン名: Selu-1

カテゴリー: アクティベーション関数

簡単な説明: Selu は、スケーリングされた指数線形単位の要素ごとのアクティベーション関数です。

詳細説明:

Selu 操作は、自己正規化ニューラル・ネットワーク (SNN) の活性化関数として記事で紹介されています。

Seluは、次の数式に基づいて、指定された入力テンソル data に対して要素ごとのアクティベーション関数を実行します。

\[\begin{split}Selu(x) = \lambda \left\{\begin{array}{r} x \quad \mbox{if } x > 0 \\ \alpha(e^{x} - 1) \quad \mbox{if } x \le 0 \end{array}\right.\end{split}\]

ここで、α と λ はそれぞれ入力 alphalambda に対応します。

他の参考文献に記載されている別の数学的表現:

\[Selu(x) = \lambda\cdot\big(\max(0, x) + \min(0, \alpha(e^{x}-1))\big)\]

属性: Selu 操作には属性がありません。

入力:

  • 1: data。タイプ T の任意の形状のテンソル。必須。

  • 2: alphaT タイプの 1 つの要素を持つ 1D テンソル。必須。

  • 3: lambdaT タイプの 1 つの要素を持つ 1D テンソル。必須。

出力:

  • 1: data 入力テンソルに適用された要素ごとの Selu 関数の結果。タイプ T のテンソルで、data 入力テンソルと同じ形状です。

タイプ:

  • T: サポートされている任意の浮動小数点タイプ。

例:

 <layer ... type="Selu">
     <input>
         <port id="0">
             <dim>256</dim>
             <dim>56</dim>
         </port>
         <port id="1">
             <dim>1</dim>
         </port>
         <port id="2">
             <dim>1</dim>
         </port>
     </input>
     <output>
         <port id="3">
             <dim>256</dim>
             <dim>56</dim>
         </port>
     </output>
 </layer>