[備忘録]Keras.layersリファレンス

## 密結合層
- [Keras-コア層リファレンス](https://keras.io/layers/core/)
- 密結合ニューラルネットワークを作成する

#### Dense(units, 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)

- 引数

| 引数       | 型 |    説明    |
|:-----------------|:------------------:|:------------------|
| units|正の整数|出力次元|
| activation|列挙型(relu,softmax,sigmoidなど)|使用する活性化関数|

## 畳み込みレイヤー
- [Keras-畳み込みレイヤーリファレンス](https://keras.io/layers/convolutional/)
- 通常は3*3ウィンドウでストライドなし（1）で実行される。

##### Conv1D(filters, kernel_size, strides, padding, data_format, dilation_rate, activation)
- 一次元畳み込み層を生成する
- 引数

| 引数       | 型 |    説明    |
|:-----------------|:------------------:|:------------------|
| filters|整数型|出力フィルタの数（出力次元数）|
| kernel_size|整数型または整数のタプル（リスト）型|畳み込みウィンドウの長さを指定|
| strides|整数型または整数のタプル（リスト）型|ストライド長を指定|
| padding|列挙型（valid,causal,same）|valid=パディングなし,same=入力と出力の長さを同じにする,causal=拡張畳み込みを行う？|
| data_format|列挙型（channels_last,channels_first）|デフォルトはchannels_last|
| dilation_rate|整数型または整数のタプル（リスト）型|拡張畳み込みに使用する拡張率を指定|
| activation|列挙型(relu,softmax,sigmoidなど)|活性化関数を指定　指定しなかった場合は活性化関数は使われない（=linear）[活性化関数リファレンス](https://keras.io/activations/)|
| input_shape|整数のタプルまたはNone|モデルの最初のレイヤに使う時にはinput_shapeを指定する　例：data_format='chanel_last'であればinput_shape=(10, 128)はバッチごとに1ステップ128の特徴量で10タイムステップのシーケンスとなる※chanel_firstでは特徴量が10でタイムステップ数が128になるのかな？|
| output_shape|テンソル型|chanel_lastで3Dテンソルの場合：(batch, new_steps, filters)|


##### Conv2D(filters, kernel_size, strides, padding, data_format, dilation_rate, activation)

- 二次元畳み込み層を生成する
- 引数

| 引数       | 型 |    説明    |
|:-----------------|:------------------:|:------------------|
| filters|整数型|出力フィルタの数（出力次元数）|
| kernel_size|整数型または整数のタプル（リスト）型|畳み込みウィンドウの長さを指定|
| strides|整数型または整数のタプル（リスト）型|ストライド長を指定|
| padding|列挙型（valid,causal,same）|valid=パディングなし,same=入力と出力の長さを同じにする,causal=拡張畳み込みを行う？|
| data_format|列挙型（channels_last,channels_first）|デフォルトはchannels_last|
| dilation_rate|整数型または整数のタプル（リスト）型|拡張畳み込みに使用する拡張率を指定|
| activation|列挙型(relu,softmax,sigmoidなど)|活性化関数を指定　指定しなかった場合は活性化関数は使われない（=linear）[活性化関数リファレンス](https://keras.io/activations/)|
| input_shape|整数のタプルまたはNone|モデルの最初のレイヤに使う時にはinput_shapeを指定する　例：data_format='chanel_last'であればinput_shape=(28,28,1)はバッチごとに28行×28列×1次元ののシーケンスとなる※chanel_firstではinput_shape=(1,28,28)と指定|
| output_shape|テンソル型|chanel_lastで4Dテンソルの場合：(batch, new_rows, new_cols, filters)、channels_firstで4Dテンソルの場合：(batch, filters, new_rows, new_cols)|

## プールレイヤー
- [Keras-プール層リファレンス](https://keras.io/layers/pooling/)
- 次元のダウンサンプルを行う
- 最大値プールリングは通常、2*2ウインドウのストライド2を使って行われるので特徴マップのサイズが半分にダウンサンプリングされる。

#### MaxPooling1D(pool_size=2, strides=None, padding='valid', data_format='channels_last')
- 一次データの最大プールを行う
- 引数

| 引数       | 型 |    説明    |
|:-----------------|:------------------:|:------------------|
| pool_size|整数|最大プールウィンドウのサイズ|
| strides|整数またはNone|縮小係数　例：2なら入力を半分にする。Noneの場合はpool_size|
| padding|列挙型（valid,same）|valid=パディングなし,same=入力と出力の長さを同じにする|
| data_format|列挙型（channels_last,channels_first）|テンソルデータの形状　例：channels_last=(batch, steps, features), channels_first=(batch, features, steps)|
| input_shape|整数のタプルまたはNone|data_format='channels_last'形状が3次元テンソルの 場合(batch_size, steps, features), data_format='channels_first'形状が3次元テンソルの 場合(batch_size, features, steps)|
| output_shape|整数のタプルまたはNone|data_format='channels_last'形状が3次元テンソルの 場合(batch_size, downsampled_steps, features), data_format='channels_first'形状が3次元テンソルの 場合(batch_size, features, downsampled_steps)|

#### MaxPooling2D(pool_size=2, strides=None, padding='valid', data_format='channels_last')
- ２D（空間）データの最大プールを行う
- 引数

| 引数       | 型 |    説明    |
|:-----------------|:------------------:|:------------------|
| pool_size|整数|最大プールウィンドウのサイズ|
| strides|整数またはNone|縮小係数　例：2なら入力を半分にする。Noneの場合はpool_size|
| padding|列挙型（valid,same）|valid=パディングなし,same=入力と出力の長さを同じにする|
| data_format|列挙型（channels_last,channels_first）|テンソルデータの形状　例：channels_last=(batch, steps, features), channels_first=(batch, features, steps)|
| input_shape|整数のタプルまたはNone|channels_lastで4D：(batch_size, rows, cols, channels),channels_firstで4Dテンソル：(batch_size, channels, rows, cols)|
| output_shape|整数のタプルまたはNone|channels_lastで4Dテンソル：(batch_size, pooled_rows, pooled_cols, channels)、channels_firstで4Dテンソル：(batch_size, channels, pooled_rows, pooled_cols)|

#### MaxPooling3D(pool_size=2, strides=None, padding='valid', data_format='channels_last')
- 3Dデータ（空間または時空間）に対する最大プール操作。