0

複数の出力 (16 個の出力) を持つ回帰問題に対処するためにディープ ラーニング アプローチを使用しています。各出力は[0,1]の間で、合計は1です。どの損失関数がこの問題に理想的かについて混乱しています。すでに平均二乗誤差平均絶対誤差をテストしましたが、ニューラル ネットワークは常に同じ値を予測します。

model = applications.VGG16(include_top=False, weights = None, input_shape = (256, 256, 3))

x = model.output
x = Flatten()(x)
x = Dense(1024)(x)
x=BatchNormalization()(x)
x = Activation("relu")(x)
x = Dropout(0.5)(x)
x = Dense(512)(x)
x=BatchNormalization()(x)
x = Activation("relu")(x)
x = Dropout(0.5)(x)

predictions = Dense(16,activation="sigmoid")(x)


model_final = Model(input = model.input, output = predictions)


model_final.compile(loss ='mse', optimizer = Adam(lr=0.1), metrics=['mae'])
4

1 に答える 1

3

What you are describing sounds more like a classification task, since you want to get a probability distribution at the end. Therefore you should use a softmax (for example) in the last layer and cross-entropy as loss measure.

于 2019-01-30T14:54:45.923 に答える