Keras中带批量规范化的双向LSTM

2024-06-07 00:23:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道如何在Keras中实现带有批处理规范化(BN)的biLSTM。我知道BN层应该介于线性和非线性之间,即激活。这很容易实现与有线电视新闻网或密集层。但是,怎么用biLSTM呢?

提前谢谢。


Tags: 线性规范化kerasbn密集bilstm
1条回答
网友
1楼 · 发布于 2024-06-07 00:23:00

如果要对LSTM的线性输出应用BatchNormalization,可以按照

from keras.models import Sequential
from keras.layers.recurrent import LSTM
from keras.layers.wrappers import Bidirectional
from keras.layers.normalization import BatchNormalization

model = Sequential()
model.add(Bidirectional(LSTM(128, activation=None), input_shape=(256,10)))
model.add(BatchNormalization())

实际上,您要删除LSTM的非线性激活(而不是门激活),然后对输出应用BatchNormalization。

如果您想要将批处理规范化应用到LSTM的一个内部流中,比如循环流,恐怕Keras中还没有实现这个特性。

相关问题 更多 >