Я тренирую комбинированную модель (точно настроенный VGG16 для изображений и мелкий FCN для числовых данных), чтобы выполнить бинарную классификацию. Тем не менее, общий балл AU C не соответствует ожиданиям. Среднее значение только для изображения AU C после 5-кратной перекрестной проверки составляет около 0,73 и цифры c только для данных 5-кратное среднее значение AU C равно 0,65 . Я надеялся улучшить среднее значение AU C, объединив модели в один и объединив выходные слои, используя concatenate
в кератах.
img_output = Dense(256, activation="sigmoid")(x_1)
и
numeric_output = Dense(128, activation="relu")(x_2)
являются выходными слоями двух моделей. И,
concat = concatenate([img_output, numeric_output])
hidden1 = Dense(64, activation="relu")(concat)
main_output = Dense(1, activation='sigmoid', name='main_output')(hidden1)
- это способ их объединения.
Поскольку производительность только с изображениями была лучше, я решил, что было бы разумно иметь более плотные слои для image_output
(256
) и закончил с использованием 128
в numeric_output
. Я мог достичь только AU C 0,67, используя комбинированную модель. Я думаю, что я должен каким-то образом изменить конкатенацию двух выходов (введя другой обучаемый параметр (например, раздел 3.3 из этой работы )?, Смещение? Или et c.?.), Чтобы получить больше поддержки среднее AU C. Однако я не смог найти доступные варианты.
Надеюсь, у вас есть идеи, которые стоит попробовать.