Keras 在哪里实现层规范化?

Keras 在哪里实现层规范化?,keras,neural-network,deep-learning,normalization,recurrent-neural-network,Keras,Neural Network,Deep Learning,Normalization,Recurrent Neural Network,我正在尝试在我的LSTM模型上实现层规范化,但我不确定我需要在模型中使用多少层规范,以及在哪里准确放置它们 def build_model(): model = Sequential() layers = [100, 200, 2] model.add(Bidirectional(LSTM( layers[0], input_shape=(timestep, feature), dropout=0.4, r

我正在尝试在我的LSTM模型上实现层规范化,但我不确定我需要在模型中使用多少层规范,以及在哪里准确放置它们

def build_model():
    model = Sequential()
    layers = [100, 200, 2]
    model.add(Bidirectional(LSTM(
        layers[0],
        input_shape=(timestep, feature),
        dropout=0.4, 
        recurrent_dropout=0.4,  
        return_sequences=True)))
    model.add(LayerNormalization())
    model.add(Bidirectional(LSTM(
        layers[1], 
        input_shape=(timestep, feature),
        dropout=0.4, 
        recurrent_dropout=0.4, 
        return_sequences=False)))
    model.add(LayerNormalization())
    model.add(Dense(
        layers[2]))

规范化层通常将其规范化效果应用于前一层,因此应将其放在要规范化的层的前面

通常,除了输出层之外,所有层都是规范化的,因此您在问题中显示的配置已经做到了这一点,因此可以认为这是一种良好的做法

一般来说,您不必对每个层进行规范化,对于要规范化哪些层,这是一种尝试性的尝试