web-dev-qa-db-ja.com

層の数に関するケラスの混乱

Kerasモデルで使用されるレイヤーの数について少し混乱しています。ドキュメントは、問題に関してかなり不透明です。

Jason Brownleeによると、最初のレイヤーは、技術的には_input_dim_で指定された入力レイヤーと隠しレイヤーの2つのレイヤーで構成されています。 his blog の最初の質問をご覧ください。

Kerasのすべてのドキュメントでは、最初のレイヤーは一般にmodel.add(Dense(number_of_neurons, input_dim=number_of_cols_in_input, activtion=some_activation_function))として指定されています。

したがって、作成できる最も基本的なモデルは次のようになります。

_ model = Sequential()
 model.add(Dense(1, input_dim = 100, activation = None))
_

このモデルは、100次元の入力が単一の入力ニューロンを通過する単一のレイヤーで構成されていますか、それとも2つのレイヤーで構成されていますか?

さらに、このようなモデルを指定する場合、いくつのレイヤーがありますか?

_model = Sequential()
model.add(Dense(32, input_dim = 100, activation = 'sigmoid'))
model.add(Dense(1)))
_

これは、1つの入力層、1つの隠れ層、および1つの出力層を持つモデルですか、またはこれは1つの入力層と1つの出力層を持つモデルですか?

25
Tom Davidson

最初の質問のモデルは次のとおりです。

1つの入力層と1つの出力層。

2番目の質問:

1つの入力層

1つの隠れ層

1つの活性化層(シグモイド層)

1つの出力層

入力レイヤーの場合、これはinput_dim argまたはinput_shapeを使用してKerasによって抽象化されますが、このレイヤーは次の場所にあります。

from keras.layers import Input

アクティベーションレイヤーについても同じです。

from keras.layers import Activation
12
Pusheen_the_dev

最初の1つは、単一の出力ニューロンに接続された100個のニューロン入力層で構成されます

2番目の層は、100個のニューロン入力層、32個のニューロンの1つの隠れ層、1つの単一ニューロンの1つの出力層で構成されます。

最初のレイヤーを、指定した数のニューロン(最初の場合は1、2番目の場合は32 1)

Kerasでは便利なのはコマンドです

model.summary()
21
Nathan