我想知道如何在Keras中实现具有批量标准化(BN)的biLSTM。我知道BN层应该在线性和非线性之间,即激活。使用CNN或Dense图层很容易实现。但是,如何用biLSTM做到这一点?
提前致谢。
答案 0 :(得分:5)
如果要对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应用于outpus。
如果你想要的是将BatchNormalization应用到LSTM的一个内部流程中,例如循环流,我担心该功能尚未在Keras中实现。