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 の場合、演算は線形関数に戻ります。thresholdT に依存し、線形関数と正確な計算の差が 1e-6 以下になるように選択されます。threshold は次の式で計算できます。ここで、alpha は小数点以下の桁数、betaT データタイプの最大値です。

\[-log(e^{10^{-\alpha}} - 1.0) < threshold < log(\beta)\]

例えば、Tfp32 の場合、threshold20 にする必要があり、Tfp16 の場合、threshold11 にする必要があります。

属性: 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>