Где реализовать нормализацию слоя? - PullRequest
0 голосов
/ 19 июня 2019

Я пытаюсь реализовать нормализацию слоя в моей модели 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]))

1 Ответ

0 голосов
/ 19 июня 2019

Слои нормализации обычно применяют свой эффект нормализации к предыдущему слою, поэтому его следует поместить перед слоем, который вы хотите нормализовать.

Обычно все слои нормализуются, кроме выходного, поэтому конфигурациявы показываете, что в вашем вопросе это уже сделано, так что это может считаться хорошей практикой.

Как правило, вам не нужно нормализовать каждый слой, и это немного экспериментов (проб и ошибок)какие слои нормализовать.

...