複数の出力 (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'])