Pool médio ou máximo com suporte de mascaramento em Keras
...
print('Build model...')
model = Sequential()
model.add(Embedding(max_features, 128))
model.add(LSTM(size, return_sequences=True, dropout_W=0.2 dropout_U=0.2))
model.add(GlobalAveragePooling1D())
model.add(Dense(1))
model.add(Activation('sigmoid'))
....
Eu preciso ser capaz de obter a média ou o máximo dos vetores para todas as etapas de tempo em uma amostra após a camada LSTM antes de atribuir esse vetor médio ou máximo à camada densa em Keras.
eu acho quetimedistributedmerge
foi capaz de fazer isso, mas foi preterido. Usandoreturn_sequences=True
Eu posso obter os vetores para todas as etapas de tempo em uma amostra após a camada LSTM. Contudo,GlobalAveragePooling1D()
não é compatível com mascaramento e considera todas as etapas de tempo, enquanto eu preciso apenas das etapas de tempo sem máscara.
Vi posts recomendando oLambda
camada, mas eles também não levam em consideração a máscara. Qualquer ajuda seria apreciada.