Keras-convolution-layers

提供:Dev Guides
移動先:案内検索

Keras-畳み込みレイヤー

Kerasには、一般的に_Convolutionニューラルネットワーク(CNN)_と呼ばれる、ConvolutionベースのANNを作成するための多くのレイヤーが含まれています。 すべてのコンボリューションレイヤーには、他のレイヤー(たとえば、高密度レイヤー)とは異なる特定のプロパティ(下にリストされている)があります。

フィルタ-畳み込みで適用されるフィルタの数を指します。 出力形状の次元に影響します。

カーネルサイズ-畳み込みウィンドウの長さを指します。

ストライド-畳み込みのストライドの長さを指します。

パディング-畳み込みの出力でパディングを行う方法を示します。 それは次のような3つの値を持っています-

  • valid はパディングがないことを意味します
  • causal は因果的たたみ込みを意味します。
  • same は、出力が入力と同じ長さでなければならないことを意味し、それに応じてパディングを適用する必要があります

膨張率-膨張畳み込みに適用される膨張率。 −

畳み込み層のもう1つの重要な側面は、データ形式です。 データ形式は2つのタイプがあります。

*_channel_last:channel_last_* -チャネルデータが最後のエントリとして配置されることを指定します。 ここで、チャネルは実際のデータを参照し、入力スペースの最後の次元に配置されます。 −

たとえば、入力形状*(30、10、128)について考えてみましょう。 ここでは、1番目の次元の値 *30 はバッチサイズを示し、2番目の次元の値は 10 は時間畳み込みの timesteps を示し、3番目の次元の値 128 は入力の実際の値を示します。 これはKerasのデフォルト設定です。

*_channel_first:channel_first_* は *_channet_last_* の反対です。 ここでは、入力値は、バッチサイズの横の2番目の次元に配置されます。

この章のKerasレイヤーによって提供されるCNNに使用されるすべてのレイヤーを確認してみましょう。

Conv1D

*_Conv1Dレイヤー_* は、時間ベースのCNNで使用されます。 ConvIDの入力形状は以下の形式になります-
(batch_size, timesteps, features)

どこで、

  • batch_size はバッチのサイズを示します。
  • timesteps は、入力で提供されるタイムステップの数を示します。
  • features は、入力で使用可能な機能の数を示します。

_Conv1D_の出力形状は次のとおりです-

(batch_size, new_steps, filters)

ここで、 _ filters_ は、引数の1つとして指定されたフィルターの数を示します。

_ConvID_関数とデフォルト値を持つその引数のシグネチャは次のとおりです-

keras.layers.Conv1D(
   filters,
   kernel_size,
   strides = 1,
   padding = 'valid',
   data_format = 'channels_last',
   dilation_rate = 1,
   activation = None,
   use_bias = True,
   kernel_initializer = 'glorot_uniform',
   bias_initializer = 'zeros',
   kernel_regularizer = None,
   bias_regularizer = None,
   activity_regularizer = None,
   kernel_constraint = None,
   bias_constraint = None
)

Conv2D

これは畳み込み2Dレイヤーです。 これは、層の入力で畳み込みカーネルを作成し、出力のテンソルを作成します。 input_shapeは、data_format =“ channels_last”のRGB値を持つ整数のタプルを参照します。

*_Conv2D_* 関数とデフォルト値を持つその引数のシグネチャは次のとおりです-
keras.layers.Conv2D
   (filters, kernel_size,
   strides = (1, 1),
   padding = 'valid',
   data_format = None,
   dilation_rate = (1, 1),
   activation = None,
   use_bias = True,
   kernel_initializer = 'glorot_uniform',
   bias_initializer = 'zeros',
   kernel_regularizer = None,
   bias_regularizer = None,
   activity_regularizer = None,
   kernel_constraint = None,
   bias_constraint = None
)

ここに、

  • strides は、高さと幅に沿った畳み込みのストライドを指定する整数を参照します。