我想知道如何在keras中实现本文[https://arxiv.org/abs/1506.03099]中描述的定时采样(可能与课程学习一起)。你知道吗
假设一个简单的编码器-解码器模型,如下所示。如果可能,您将如何改变此模型以包含这些策略和行为?你知道吗
# encoder architecture
encoder_inp = lyrs.Input(shape=(None, encoder_input_data.shape[-1]))
encoder_out = lyrs.GRU(size_gru)(encoder_inp)
# decoder architecture | training
decoder_inp = lyrs.Input(shape=(None, decoder_input_data_categorical.shape[-1]))
decoder_gru_lyr = lyrs.GRU(size_gru, return_sequences=True, return_state=True)
decoder_seq, decoder_states = decoder_gru_lyr(decoder_inp, initial_state=encoder_out)
decoder_dns_lyr = lyrs.Dense(decoder_input_data_categorical.shape[-1], activation='softmax')
decoder_out = decoder_dns_lyr(decoder_seq)
# encoder_decoder model | training
model = k.models.Model(inputs=[encoder_inp, decoder_inp], outputs=decoder_out)
# encoder model | inference
encoder_model = k.models.Model(encoder_inp, encoder_out)
# decoder architecture | inference
decoder_state_inp = lyrs.Input(shape=(size_gru,))
decoder_inf_out_seq, decoder_inf_out_state = decoder_gru_lyr(decoder_inp, initial_state=decoder_state_inp)
decoder_inf_out_preds = decoder_dns_lyr(decoder_inf_out_seq)
# decoder model | inference
decoder_model = k.models.Model([decoder_inp, decoder_state_inp], [decoder_inf_out_preds, decoder_inf_out_state])
我已经能够解决这个问题,使用lambda层来启用给定参数的随机选择,手动堆叠解码器层来启用输出反馈到解码器和自定义keras.utils.序列发电机具有“on\ epoch\ U end”功能,可在不同的历元之间更新采样计划。你知道吗
以下是(可能有点黑客)版本:
相关问题 更多 >
编程相关推荐