首页 > 解决方案 > 如何在 keras 模型中使用 PSO 等自然启发算法作为优化器?

问题描述

我正在研究一个 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'])

谁能建议我如何将它们指定为优化器/帮助相关代码?

标签: kerasdeep-learningparticle-swarm

解决方案


推荐阅读