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

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

例:0.4

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

データ型:char|string

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

層の入力の数。この層は単一の入力のみを受け入れます。

データ型:double

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

層の入力名。この層は単一の入力のみを受け入れます。

データ型:cell

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

層の出力の数。この層には単一の出力のみがあります。

データ型:double

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

層の出力名。この層には単一の出力のみがあります。

データ型: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 '' 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, N., G. Hinton, A. Krizhevsky, I. Sutskever, R. Salakhutdinov. "Dropout: A Simple Way to Prevent Neural Networks from Overfitting." Journal of Machine Learning Research. Vol. 15, pp. 1929-1958, 2014.

[2]Krizhevsky, A., I. Sutskever, and G. E. Hinton. "ImageNet Classification with Deep Convolutional Neural Networks." Advances in Neural Information Processing Systems. Vol. 25, 2012.

拡張機能

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

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

バージョン履歴

R2016a で導入