Я хочу построить систему со следующей структурой:
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
?