我正在尝试为我的文本分类模型添加一个注意层。输入是文本(例如电影评论),输出是二元结果(例如正面与负面)。
model = Sequential()
model.add(Embedding(max_features, 32, input_length=maxlen))
model.add(Bidirectional(CuDNNGRU(16,return_sequences=True)))
##### add attention layer here #####
model.add(Dense(1, activation='sigmoid'))
Run Code Online (Sandbox Code Playgroud)
经过一番搜索,我发现了几个 keras 的可阅读使用的注意力层。keras.layers.AttentionKeras 中内置了该层。还有SeqWeightedAttentionSeqSelfAttention layerkeras-self-attention包中。作为一个深度学习领域的新手,我很难理解这些层背后的机制。
这些外行各有什么作用?哪一款最适合我的模型?
非常感谢!