GELU

バージョン名: Gelu-2

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

簡単な説明: ガウス誤差線形単位の要素ごとのアクティベーション関数。

詳細説明:

Gelu の操作については、この記事で紹介されています。これは、次の数式に基づいて、指定された入力テンソルに対して要素ごとのアクティベーション関数を実行します。

\[Gelu(x) = x\cdot\Phi(x) = x\cdot\frac{1}{2}\cdot\left[1 + erf\frac{x}{\sqrt{2}}\right]\]

ここで、Φ(x) はガウス分布の累積分布関数です。

さらに、Gelu 関数は次のように近似できます。

\[Gelu(x) \approx 0.5\cdot x\cdot \left(1 + \tanh\left[\sqrt{2/\pi} \cdot (x + 0.044715 \cdot x^3)\right]\right)\]

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

入力:

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

出力:

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

タイプ:

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

例:

<layer ... type="Gelu">
    <input>
        <port id="0">
            <dim>1</dim>
            <dim>128</dim>
        </port>
    </input>
    <output>
        <port id="1">
            <dim>1</dim>
            <dim>128</dim>
        </port>
    </output>
</layer>