SoftPlus¶
バージョン名: SoftPlus-4
カテゴリー: アクティベーション関数
簡単な説明: SoftPlus は、修正ベースの要素ごとのアクティベーション関数です。
詳細説明:
SoftPlus は、次の数式に基づいて、指定された入力テンソルに対して要素ごとのアクティベーション関数を実行します。
\[\begin{split}\begin{equation*}
\mathrm{SoftPlus}(x) = \begin{cases}
x & \text{if } x \geq \mathrm{threshold} \\
\log(e^{x} + 1.0) & \text{if } x < \mathrm{threshold}
\end{cases}
\end{equation*}\end{split}\]
注: 数値安定性のために、x > threshold
の場合、演算は線形関数に戻ります。threshold
は T に依存し、線形関数と正確な計算の差が 1e-6
以下になるように選択されます。threshold
は次の式で計算できます。ここで、alpha
は小数点以下の桁数、beta
は T データタイプの最大値です。
\[-log(e^{10^{-\alpha}} - 1.0) < threshold < log(\beta)\]
例えば、T が fp32
の場合、threshold
は 20
にする必要があり、T が fp16
の場合、threshold
は 11
にする必要があります。
属性: SoftPlus 操作には属性がありません。
入力:
1: タイプ T の任意の形状のテンソル。必須。
出力:
1: 入力テンソルに適用された要素ごとの SoftPlus 関数の結果。T タイプのテンソルで、入力テンソルと同じ形状です。
タイプ:
T: サポートされている任意の浮動小数点タイプ。
例:
<layer ... type="SoftPlus">
<input>
<port id="0">
<dim>256</dim>
<dim>56</dim>
</port>
</input>
<output>
<port id="1">
<dim>256</dim>
<dim>56</dim>
</port>
</output>
</layer>