我正在尝试在 keras 中创建一个自动编码器,其中输入和输出具有不同的时间步长。
model = Sequential()
#encoder
model.add(Embedding(vocab_size, embedding_size, mask_zero=True))
model.add(LSTM(units=hidden_size, return_sequences=False))
#decoder
model.add(RepeatVector(max_out_length))
model.add(LSTM(units=hidden_size, return_sequences=True))
model.add(TimeDistributed(Dense(num_class, activation='softmax')))
Run Code Online (Sandbox Code Playgroud)
对于输入来说,没有问题,因为只要整个批次具有相同的长度,网络就可以接受不同长度的输入。然而,问题在于输出大小是由 RepeatVector 长度决定的,并且没有简单的方法来改变它。
对于这样的问题有解决办法吗?