我正在研究 keras 模型(分层注意力网络)来将文本分类为各种类别。我目前使用的是 Adam 优化器。我希望使用 PSO、Cuckoo 等自然启发算法作为优化器。
相关代码如下:
word_input = Input(shape=(max_senten_len,), dtype='int32')
word = embedding_layer(word_input)
word = SpatialDropout1D(0.2)(word)
word = Bidirectional(LSTM(128, return_sequences=True))(word)
word_out = AttentionWithContext()(word)
wordEncoder = Model(word_input, word_out)
sente_input = Input(shape=(max_senten_num, max_senten_len), dtype='int32')
sente = TimeDistributed(wordEncoder)(sente_input)
sente = SpatialDropout1D(0.2)(sente)
sente = Bidirectional(LSTM(128, return_sequences=True))(sente)
sente = AttentionWithContext()(sente)
preds = Dense(6, activation='sigmoid')(sente)
model = Model(sente_input, preds)
opt = Adam(clipnorm=5.0)
model.compile(loss='binary_crossentropy',
optimizer=opt,
metrics=['acc'])
有人可以建议我如何将它们指定为优化器/帮助相关代码吗?
任何人请回复,我也在寻求帮助