изо всех сил пытается найти лучшее решение для объединения выходов двух отдельных слоев - PullRequest
0 голосов
/ 09 марта 2020

Я тренирую комбинированную модель (точно настроенный 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. Однако я не смог найти доступные варианты.

Надеюсь, у вас есть идеи, которые стоит попробовать.

...