Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

dropoutLayer

説明

ドロップアウト層は、与えられた確率でランダムに、入力要素をゼロに設定します。

作成

説明

layer = dropoutLayer はドロップアウト層を作成します。

layer = dropoutLayer(probability) は、ドロップアウト層を作成し、Probability プロパティを設定します。

layer = dropoutLayer(___,'Name',Name) は、名前と値のペアと、前の構文のいずれかの引数を使用して、オプションの Name プロパティを設定します。たとえば、dropoutLayer(0.4,'Name','drop1') は、ドロップアウトの確率が 0.4、名前が 'drop1' であるドロップアウト層を作成します。プロパティ名を一重引用符で囲みます。

プロパティ

すべて展開する

Dropout

入力要素をドロップアウトする確率。1 未満の非負の数値として指定します。

学習時に、この層によってドロップアウト マスク rand(size(X))<Probability が適用され、入力要素がランダムにゼロに設定されます。ここで、X は層入力です。残りの要素は 1/(1-Probability) でスケーリングされます。この演算は、基になるネットワーク アーキテクチャを反復間で効果的に変更するため、ネットワークの過適合の防止に役立ちます[1][2]。大きい数値を指定するほど、学習時にドロップアウトされる要素の数が増加します。予測時には、この層の出力はその入力と等しくなります。

イメージ入力の場合、この層は各イメージのチャネルごとに異なるマスクを適用します。シーケンス入力の場合、この層は各シーケンスのタイム ステップごとに異なるドロップアウト マスクを適用します。

例: 0.4

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

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

データ型: char | string

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

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

データ型: double

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

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

データ型: cell

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

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

データ型: double

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

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

データ型: cell

すべて折りたたむ

'drop1' という名前のドロップアウト層を作成します。

layer = dropoutLayer('Name','drop1')
layer = 
  DropoutLayer with properties:

           Name: 'drop1'

   Hyperparameters
    Probability: 0.5000

Layer 配列にドロップアウト層を含めます。

layers = [ ...
    imageInputLayer([28 28 1])
    convolution2dLayer(5,20)
    reluLayer
    dropoutLayer
    fullyConnectedLayer(10)
    softmaxLayer
    classificationLayer]
layers = 
  7x1 Layer array with layers:

     1   ''   Image Input             28x28x1 images with 'zerocenter' normalization
     2   ''   2-D Convolution         20 5x5 convolutions with stride [1  1] and padding [0  0  0  0]
     3   ''   ReLU                    ReLU
     4   ''   Dropout                 50% dropout
     5   ''   Fully Connected         10 fully connected layer
     6   ''   Softmax                 softmax
     7   ''   Classification Output   crossentropyex

アルゴリズム

すべて展開する

参照

[1] Srivastava, Nitish, Geoffrey Hinton, Alex Krizhevsky, Ilya Sutskever, and Ruslan Salakhutdinov. "Dropout: A Simple Way to Prevent Neural Networks from Overfitting." The Journal of Machine Learning Research 15, no. 1 (January 1, 2014): 1929–58

[2] Krizhevsky, Alex, Ilya Sutskever, and Geoffrey E. Hinton. "ImageNet Classification with Deep Convolutional Neural Networks." Communications of the ACM 60, no. 6 (May 24, 2017): 84–90. https://doi.org/10.1145/3065386

拡張機能

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

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

バージョン履歴

R2016a で導入