Использование двух оптимизаторов с функциональным API-интерфейсом keras. Будет ли это работать? - PullRequest
0 голосов
/ 12 мая 2019

Я хочу построить систему со следующей структурой:

input = Input()
embedding = Embedding()(input)
lstm_1 = LSTM()(embedding)
out_1 = Dense()(lstm_1)
lstm_2 = LSTM()(embedding)
x = concatenate([lstm_1, lstm_2])
out_2 = Dense()(x)

model = Model(inputs=[input], outputs=[out_1, out_2])

optimizer = optimizers.Adam(lr=learning_rate)

model.compile(optimizer=optimizer,
              loss={'out_1': 'categorical_crossentropy', 'out_2': 'binary_crossentropy'}, metrics=['acc'])

Итак, у меня есть общие input для lstm_1 и lstm_2. lstm_1 помещается в выходной слой и объединяется с lstm_2. Конкатенация помещается в другой выходной слой. Теперь я хочу дополнить эту модель прогнозом для out_1 и out_2. Будут ли они учиться в одно и то же время, чтобы изучение out1 воздействовало на lstm_1 таким образом, чтобы оно изменилось для оптимизации out_2?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...