我在Keras
中使用CNN进行NLP任务,而不是最大池,我试图实现最大化时间池。
关于如何实现这一目标的任何想法/黑客?
我所说的最大时间池是指汇集最高值,无论它们在向量中的位置
答案 0 :(得分:5)
假设您的数据形状为(batch_size, seq_len, features)
,您可以申请:
seq_model = Reshape((seq_len * features, 1))(seq_model)
seq_model = GlobalMaxPooling1D()(seq_model)
答案 1 :(得分:0)
只需使用Keras'permute function切换尺寸。这样它最大限度地汇集了时间维度。
例如:
seq_model = Permute((2, 1))(seq_model)
seq_model = MaxPooling1D()(seq_model)