5

以下のコードは問題なく動作します。すべての 64 を 128 に変更しようとすると、形状に関するエラーが発生します。Keras を使用する場合、人工ニューラル ネットワークのレイヤー数を変更すると、入力データの形状を変更する必要がありますか? 正しいinput_dimを要求するので、そうは思いませんでした。

作品:

model = Sequential()
model.add(Dense(64, input_dim=14, init='uniform'))
model.add(Activation('tanh'))
model.add(Dropout(0.5))
model.add(Dense(64, init='uniform'))
model.add(Activation('tanh'))
model.add(Dropout(0.5))
model.add(Dense(64, init='uniform'))
model.add(Activation('softmax'))

sgd3 = SGD(lr=0.1, decay=1e-6, momentum=0.9, nesterov=True)
model.compile(loss='binary_crossentropy', optimizer=sgd3)
model.fit(X_train, y_train, nb_epoch=20, batch_size=16, show_accuracy=True, validation_split=0.2, verbose = 2)

動作しません:

model = Sequential()
model.add(Dense(128, input_dim=14, init='uniform'))
model.add(Activation('tanh'))
model.add(Dropout(0.5))
model.add(Dense(128, init='uniform'))
model.add(Activation('tanh'))
model.add(Dropout(0.5))
model.add(Dense(128, init='uniform'))
model.add(Activation('softmax'))

sgd3 = SGD(lr=0.1, decay=1e-6, momentum=0.9, nesterov=True)
model.compile(loss='binary_crossentropy', optimizer=sgd3)
model.fit(X_train, y_train, nb_epoch=20, batch_size=16, show_accuracy=True, validation_split=0.2, verbose = 2)
4

2 に答える 2

3

同じ入力で、それぞれに異なる数の隠れ層と異なる数のユニット/ニューロンを使用できます。

Dense最後の 1 つを除いて、それぞれが非表示のレイヤーとして表示されます。最後Denseの出力には、目的の出力次元に等しい数の出力が必要です (この場合、次元はy64 のようです)。

これを試して:

model = Sequential()
model.add(Dense(128, input_dim=14, init='uniform'))
model.add(Activation('tanh'))
model.add(Dropout(0.5))
model.add(Dense(128, init='uniform'))
model.add(Activation('tanh'))
model.add(Dropout(0.5))
model.add(Dense(64, init='uniform'))
model.add(Activation('softmax'))

sgd3 = SGD(lr=0.1, decay=1e-6, momentum=0.9, nesterov=True)
model.compile(loss='binary_crossentropy', optimizer=sgd3)
model.fit(X_train, y_train, nb_epoch=20, batch_size=16, show_accuracy=True, validation_split=0.2, verbose = 2)
于 2016-01-19T14:01:00.340 に答える
1

コード スニペット間でレイヤーの数をまったく変更しません。変更するのはユニットの数です。

Dense(64) は、64 個の隠れユニットを持つ全結合層です。完全に接続されているため、入力ユニットの数もその数に変わり、したがって入力の要件も変わります。

于 2016-01-18T10:20:37.137 に答える