メインコンテンツ

preluLayer

パラメトリック正規化線形ユニット (PReLU) 層

R2024a 以降

説明

PReLU 層はしきい値処理を実行します。各チャネルについて、入力値がゼロよりも小さい場合は、学習時に得られたスカラーによって乗算されます。

この処理は次と同等です。

f(xi)={xiif xi>0αixiif xi0

作成

説明

layer = preluLayer は、パラメーター化された ReLU 層を返します。

layer = preluLayer(Name=Value) は、パラメーター化された ReLU 層を返し、オプションの Name プロパティと Alpha プロパティを設定します。たとえば、preluLayer(Alpha=2,Name="prelu1") は、オプションの Alpha プロパティと Name プロパティをもつ PReLU 層を作成します。

プロパティ

すべて展開する

PReLU

負の入力値の学習可能なパラメーターの乗数。数値スカラー、ベクトル、または行列として指定します。Alpha のサイズは、PReLU 層の入力サイズに適合しなければなりません。Alpha のサイズが PReLU 層の入力のサイズに適合する場合、2 つの配列は暗黙的に拡張されて互いに一致するようになります。たとえば、Alpha がスカラーの場合、そのスカラーは他の配列の各要素と組み合わされます。また、異なる方向をもつベクトル (1 つの行ベクトルと 1 つの列ベクトル) は暗黙的に拡張され、行列を形成します。

ネットワークは学習中にパラメーター Alpha を学習します。

例: 0.4

層の名前。文字ベクトルまたは string スカラーとして指定します。Layer 配列入力の場合、trainnet 関数および dlnetwork 関数は、名前のない層に自動的に名前を割り当てます。

PReLULayer オブジェクトは、このプロパティを文字ベクトルとして格納します。

データ型: char | string

この プロパティ は読み取り専用です。

層への入力の数。1 として格納されます。この層は単一の入力のみを受け入れます。

データ型: double

この プロパティ は読み取り専用です。

入力名。{'in'} として格納されます。この層は単一の入力のみを受け入れます。

データ型: cell

この プロパティ は読み取り専用です。

層からの出力の数。1 として格納されます。この層には単一の出力のみがあります。

データ型: double

この プロパティ は読み取り専用です。

出力名。{'out'} として格納されます。この層には単一の出力のみがあります。

データ型: cell

すべて折りたたむ

"prelu1" という名前の PReLU 層を作成します。

layer = preluLayer(Name="prelu1")
layer = 
  PReLULayer with properties:

     Name: 'prelu1'

   Learnable Parameters
    Alpha: 0.2500

Layer 配列に PReLU 層を含めます。

layers = [
    imageInputLayer([28 28 1])
    convolution2dLayer(3,16)
    batchNormalizationLayer
    preluLayer
 
    maxPooling2dLayer(2,Stride=2)
    convolution2dLayer(3,32)
    batchNormalizationLayer
    preluLayer
    
    fullyConnectedLayer(10)
    softmaxLayer]
layers = 
  10×1 Layer array with layers:

     1   ''   Image Input           28×28×1 images with 'zerocenter' normalization
     2   ''   2-D Convolution       16 3×3 convolutions with stride [1  1] and padding [0  0  0  0]
     3   ''   Batch Normalization   Batch normalization
     4   ''   PReLU                 PReLU
     5   ''   2-D Max Pooling       2×2 max pooling with stride [2  2] and padding [0  0  0  0]
     6   ''   2-D Convolution       32 3×3 convolutions with stride [1  1] and padding [0  0  0  0]
     7   ''   Batch Normalization   Batch normalization
     8   ''   PReLU                 PReLU
     9   ''   Fully Connected       10 fully connected layer
    10   ''   Softmax               softmax

アルゴリズム

すべて展開する

参照

[1] Maas, Andrew L., Awni Y. Hannun, and Andrew Y. Ng. "Rectifier nonlinearities improve neural network acoustic models." In Proc. ICML, vol. 30, no. 1. 2013.

拡張機能

すべて展開する

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

GPU コード生成
GPU Coder™ を使用して NVIDIA® GPU のための CUDA® コードを生成します。

バージョン履歴

R2024a で導入