PReLU#

バージョン名: PReLU-1

カテゴリー: 活性化関数

簡単な説明: パラメトリック修正線形単位の要素ごとの活性化関数。

詳細な説明

PReLU の操作については、この記事で紹介されています。

PReLU は、次の数式に基づいて、指定された入力テンソルに対して要素ごとのパラメトリック ReLU 操作を実行します:

PReLU(x)={xif x0αxif x<0

ここで、α は学習可能なパラメーターであり、2 番目の入力 slope によって定義される負の勾配に対応します。

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

PReLU(x)=max(0,x)+αmin(0,x)

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

入力

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

  • 2: slope。タイプ T でランク 1 以上のテンソル。負の傾き値を持つテンソル。必須。

  • : チャネル次元は、data 入力テンソルの 2 番目の次元に対応します。slope 入力ランクが 1 で、その次元が data 入力の 2 番目の次元と等しい場合、チャネルごとのブロードキャストが適用されます。それ以外の場合、slope 入力は numpy ルールでブロードキャストされます。説明は要素ごとの操作のブロードキャスト・ルールで参照できます。

出力

  • 1: slope 入力テンソルからの負の傾き値を持つ data 入力テンソルに適用された要素ごとの PReLU 操作の結果。タイプ T のテンソルで、data 入力テンソルと同じ形状です。

タイプ

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

例: 1D 入力テンソル data

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

例: 2D 入力テンソル data

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

例: 4D 入力テンソル data

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