我需要一些帮助来了解使用深度学习解决问题的最佳方法。 我的数据库中有许多未标记的序列和一些标记的序列。 我想检索每个标记序列的标签。 序列具有各种长度,并且通常很长。 到目前为止,我一直在考虑做以下事情:
使用LSTM自动编码器作为"预训练步骤"使用未标记的数据学习序列的简化表示
使用相同的模型对标记的序列进行编码
使用其他模型从简化表示中检索标记数据(LSTM,SVM,...)
所以这是我的问题:
如何处理不同长度的序列?
到目前为止,我已经尝试了以下自动编码器部分(使用Keras后端Theano):
model = Sequential()
model.add(Masking(mask_value=0, input_shape=(None,2)))
model.add(LSTM(32, input_shape = (8785,2), return_sequences = True))
model.add(LSTM(32, input_shape = (8785,2), return_sequences = True))
model.add(LSTM(32, input_shape = (8785,2)))
model.add(RepeatVector(8785))
model.add(LSTM(32, input_shape = (8785,2), return_sequences = True))
model.add(LSTM(32, input_shape = (8785,2), return_sequences = True))
model.add(LSTM(32, input_shape = (8785,2), return_sequences = True))
model.add(TimeDistributed(Dense(2)))
填充序列后。 但我不确定这样做是否可行,因为我的测试数据(标记序列)可能比列车数据的最长序列(未标记序列)长。
没用说,所有这一切对我来说都是新鲜的,在看了很多文章/论坛后,我有点迷失方向。我也不确定这是处理这种问题的最佳方法。
任何帮助将不胜感激。谢谢。