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.