4

我想知道如何在Keras中使用批量標準化(BN)實現biLSTM。我知道BN層應該處於線性和非線性之間,即激活。這很容易與CNN或密集層實現。但是,如何用biLSTM做到這一點?在Keras中使用批量標準化的雙向LSTM

在此先感謝。

回答

1

如果你想在一個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中實現。