LogSoftMax

バージョン名: LogSoftmax-5

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

簡単な説明: LogSoftmax は、指定された入力のソフトマックス値の自然対数を計算します。

LogSoftmax を Log(Softmax(x, axis)) として直接計算しないことをお勧めします。より安定した数値として LogSoftmax を次のように計算します。

\[\begin{split}t = (x - ReduceMax(x,\ axis)) \\ LogSoftmax(x, axis) = t - Log(ReduceSum(Exp(t),\ axis))\end{split}\]

属性:

  • axis

    • 説明: axis は、LogSoftmax が計算される axis を表します。負の値は、次元を後ろから数えることを意味します。

    • 値の範囲: 任意の整数値

    • タイプ: int

    • デフォルト値: 1

    • 必須: いいえ

入力:

  • 1: axis 属性と互換性がある次元数を持つ T タイプのテンソル x を入力します。必須。

出力:

  • 1: 結果として得られる同じ形状の T タイプのテンソル。

タイプ:

  • T: 任意の浮動小数点タイプ。

数学定式化

\[y_{c} = ln\left(\frac{e^{Z_{c}}}{\sum_{d=1}^{C}e^{Z_{d}}}\right)\]

ここで \(C\)axis 次元に沿ったテンソルのサイズです。

例:

<layer ... type="LogSoftmax" ... >
    <data axis="1" />
    <input>
        <port id="0">
            <dim>256</dim>
            <dim>56</dim>
        </port>
    </input>
    <output>
        <port id="3">
            <dim>256</dim>
            <dim>56</dim>
        </port>
    </output>
</layer>