Keras: обучение не начинается при установке Bi-RNN initial_states - PullRequest
0 голосов
/ 20 сентября 2018

Я пишу модель Кераса для задачи логического вывода (предположения) относительно предпосылки и гипотезы.

Я запускаю предпосылку и гипотезу как через Bi-LSTM, с return_state = True,и затем использовать другой Bi-LSTM, инициализированный такими последними векторами состояния, чтобы зависимо кодировать как предпосылку, так и гипотезу.В коде, вот создание Bi-LSTM:

LastStateLSTM = LSTM(hidden_units, implementation=2, return_sequences=False, name='laststate', return_state=True )
LastStateLSTM = Bidirectional(LastStateLSTM, name='bilstm1')
EncoderLSTM = LSTM(hidden_units, implementation=2, return_sequences=True, name='encoderlstm')
EncoderLSTM = Bidirectional(EncoderLSTM, name='bilstm2')

И здесь я применяю такие слои:

out1, forward_prem_h, forward_prem_c, backward_prem_h,backward_prem_c = LastStateLSTM(prem)
out2, forward_hyp_h, forward_hyp_c, backward_hyp_h, backward_hyp_c = LastStateLSTM(hyp)

u = EncoderLSTM(prem, initial_state=[forward_hyp_h, forward_hyp_c, backward_hyp_h, backward_hyp_c])
v = EncoderLSTM(hyp, initial_state=[forward_prem_h, forward_prem_c, backward_prem_h, backward_prem_c])

В итоге, есть сводка () и подгонка () методы:

final_model.compile(optimizer=Adam(amsgrad=True), loss='categorical_crossentropy', metrics=['accuracy'])

final_model.summary()

final_model.fit([X1_nli, X2_nli, overlapFeatures_nli, refutingFeatures_nli, polarityFeatures_nli, handFeatures_nli, cosFeatures_nli, bleu_nli, rouge_nli, cider_nli_train], \
                Y_nli, validation_data=([X1_test_nli, X2_test_nli, overlapFeatures_nli_test, refutingFeatures_nli_test, polarityFeatures_nli_test, handFeatures_nli_test, cosFeatures_nli_test, bleu_nli_test, rouge_nli_test, cider_snli_test], Y_test_nli), \
                callbacks=[checkpoint], epochs=1, batch_size=8)

Однако я обнаружил, что при передаче аргумента initial_state в EncoderLSTM обучение не начинается (и без ошибок), даже если выводится краткое изложение модели..

Я использую Keras 2.2.2 с бэкэндом Theano.У кого-нибудь была подобная проблема?

Заранее спасибо.

...