Main Content

globalMaxPooling2dLayer

グローバル最大プーリング層

R2020a 以降

説明

2 次元グローバル最大プーリング層は、入力の高さおよび幅の次元の最大値を計算することによって、ダウンサンプリングを実行します。

作成

説明

layer = globalMaxPooling2dLayer は、グローバル最大プーリング層を作成します。

layer = globalMaxPooling2dLayer('Name',name) は、オプションの Name プロパティを設定します。

プロパティ

すべて展開する

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

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

データ型: char | string

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

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

データ型: double

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

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

データ型: cell

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

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

データ型: double

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

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

データ型: cell

オブジェクト関数

すべて折りたたむ

'gmp1' という名前のグローバル最大プーリング層を作成します。

layer = globalMaxPooling2dLayer('Name','gmp1')
layer = 
  GlobalMaxPooling2DLayer with properties:

    Name: 'gmp1'

Layer 配列にグローバル最大プーリング層を含めます。

layers = [ ...
    imageInputLayer([28 28 1])
    convolution2dLayer(5,20)
    reluLayer
    globalMaxPooling2dLayer
    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   ''   2-D Global Max Pooling   2-D global max pooling
     5   ''   Fully Connected          10 fully connected layer
     6   ''   Softmax                  softmax
     7   ''   Classification Output    crossentropyex

ヒント

  • イメージ分類ネットワークでは、最後の全結合層の前に globalMaxPooling2dLayer を使用して、パフォーマンスを犠牲にすることなく活性化のサイズを縮小できます。活性化のサイズが縮小されるということは、下流の全結合層の重みが少なくなり、ネットワークのサイズが縮小されることを意味します。

  • 分類ネットワークの最後の方で、fullyConnectedLayer の代わりに globalMaxPooling2dLayer を使用できます。グローバル プーリング層には学習可能なパラメーターがないため、過適合が発生しにくくなり、ネットワークのサイズを縮小できます。これらのネットワークにより、入力データの空間変換に対するロバスト性を向上させることにもなります。代わりに、全結合層を globalAveragePooling2dLayer に置き換えることもできます。globalAveragePooling2dLayerglobalMaxPooling2dLayer のどちらがより適切かは、データ セットによって異なります。

    全結合層の代わりにグローバル平均プーリング層を使用するには、globalMaxPooling2dLayer への入力のサイズが分類問題のクラスの数と一致しなければなりません。

アルゴリズム

すべて展開する

拡張機能

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

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

バージョン履歴

R2020a で導入