メインコンテンツ

spatialDropoutLayer

空間ドロップアウト層

R2024a 以降

    説明

    空間ドロップアウト層は、与えられた確率で入力チャネルをランダムに選択し、学習中にそのすべての要素をゼロに設定します。

    作成

    説明

    layer = spatialDropoutLayer は、空間ドロップアウト層を作成します。

    layer = spatialDropoutLayer(Name=Value) は、名前と値の引数を使用して、オプションの Probability プロパティおよび Name プロパティを設定します。たとえば、spatialDropoutLayer(Probability=0.25) は、ドロップアウト確率 0.25 の空間ドロップアウト層を作成します。spatialDropoutLayer(Name="spat1") は、"spat1" という名前の空間ドロップアウト層を作成します。

    プロパティ

    すべて展開する

    Dropout

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

    サイズが [sizeDim1,...,sizeCDim, sizeBDim,...,sizeDimN] の入力の場合 (sizeCDim はチャネル数、sizeBDim はバッチ サイズ)、rand([1,...,sizeCDim, sizeBDim,...,1])<Probability を使用してドロップアウト マスクが作成されます。rand 関数への入力は、チャネル次元とバッチ次元の位置以外が 1 のベクトルです。学習時に、層はドロップアウト マスクによってランダムに選択されたすべての入力要素をゼロに設定します。その後、残りの要素を 1/(1-Probability) でスケーリングします。この操作により、活性化が強く相関するのを防ぐことで汎化性能が効果的に向上し[1]、ネットワークの過適合を防ぐことができます。この確率が高いほど、学習中に削除される要素が多くなります。予測時には、この層の出力はその入力と等しくなります。

    例: 0.4

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

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

    データ型: char | string

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

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

    データ型: double

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

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

    データ型: cell

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

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

    データ型: double

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

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

    データ型: cell

    すべて折りたたむ

    名前が "spat_drop1" でドロップアウト確率が 0.25 の空間ドロップアウト層を作成します。

    layer = spatialDropoutLayer(Name="spat_drop1",Probability=0.25)
    layer = 
      SpatialDropoutLayer with properties:
    
               Name: 'spat_drop1'
        Probability: 0.2500
    
       Learnable Parameters
        No properties.
    
       State Parameters
        No properties.
    
      Show all properties
    
    

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

    layers = [ ...
        imageInputLayer([28 28 1])
        convolution2dLayer(5,20)
        reluLayer
        spatialDropoutLayer
        fullyConnectedLayer(10)
        softmaxLayer]
    layers = 
      6×1 Layer array with layers:
    
         1   ''   Image Input       28×28×1 images with 'zerocenter' normalization
         2   ''   2-D Convolution   20 5×5 convolutions with stride [1  1] and padding [0  0  0  0]
         3   ''   ReLU              ReLU
         4   ''   Spatial Dropout   Spatial Dropout
         5   ''   Fully Connected   10 fully connected layer
         6   ''   Softmax           softmax
    

    参照

    [1] Jonathan Tompson, Ross Goroshin, Arjun Jain, Yann LeCun, and Christoph Bregler. "Efficient Object Localization Using Convolution Networks." arXiv preprint arXiv:1411.4280v3 (2015)

    拡張機能

    すべて展開する

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

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

    バージョン履歴

    R2024a で導入