注意层输出的正确尺寸应该是什么?

时间:2019-01-04 07:48:08

标签: deep-learning attention-model

我建立了一个LSTM +注意层模型。根据我的理解,注意层为输入序列的每个单词分配权重。因此,注意层的输出应为(None,280)。但是,我得到了(无,240),这意味着关注层正在学习有关LSTM隐藏状态的关注。

我在哪里错了?

MAX_SEQUENCE_LENGTH=140
EMBEDDING_DIM = 300
model = Sequential()
model.add(Embedding(len(word_index) + 1,
                        EMBEDDING_DIM,
                        weights=[embedding_matrix],
                        input_length=MAX_SEQUENCE_LENGTH,
                        trainable=False))


model.add(Bidirectional(CuDNNLSTM(120, return_sequences=True), input_shape= 
(train_X.shape[1], EMBEDDING_DIM)))
model.add(Attention(MAX_SEQUENCE_LENGTH))
# model.add(Flatten())
model.add(Dense(100,activation='relu'))
model.add(Dense(1, activation='sigmoid'))
print(model.summary())

图层(类型)---输出形状---参数#

embedding_1(嵌入)----(无,140,300)--- 45720000


bidirectional_1(双向(无,140、240)--- 405120


attention_1(Attention)---(None,240)--- 380


dense_1(密集)---(无,100)--- 24100


dense_2(Dense)---(None,1)--- 101

总参数:46,149,701 可训练的参数:429,701 不可训练的参数:45,720,000


没有

0 个答案:

没有答案