Test de réseau complexe dense CNN + LSTM + multicanal (avec comparaison d'effet monocanal)

  • Pour les données ou images de séries chronologiques, différents filtres, kernel_size et foulées signifient que différentes caractéristiques de haute dimension sont produites.
  • Le même élément de données, comment améliorer la capacité expressive du réseau. Un réseau plus large peut-il obtenir de meilleurs résultats qu'un réseau profond? C'est le problème que cet article doit résoudre.

Structure du réseau

 

# 定义多通道特征组合模型
def build_multi_cr_lstm_model(ts, fea_dim):

    # 定义输入
    inputs = Input(shape = (ts, fea_dim))

    # ########################################
    # cnn层&lstm层1
    cnn_left_out1 = Conv1D(filters=50, kernel_size=6, strides=3, kernel_initializer=he_normal(seed=3))(inputs)
    act_left_out1 = LeakyReLU()(cnn_left_out1)

    lstm_left_out1 = LSTM(64, activation='sigmoid', dropout=0.1, return_sequences=False, 
                         kernel_initializer=he_normal(seed=10))(act_left_out1)

    # #########################################
    # cnn层&lstm层2
    cnn_right_out1 = Conv1D(filters=50, kernel_size=12, strides=3, kernel_initializer=he_normal(seed=3))(inputs)
    act_right_out1 = LeakyReLU()(cnn_right_out1)

    lstm_right_out1 = LSTM(64, activation='sigmoid', dropout=0.1, return_sequences=False, 
                         kernel_initializer=he_normal(seed=10))(act_right_out1)
    
    # #########################################
    # cnn层&lstm层3
    cnn_mid_out1 = Conv1D(filters=50, kernel_size=6, strides=2, kernel_initializer=he_normal(seed=3))(inputs)
    act_mid_out1 = LeakyReLU()(cnn_mid_out1)

    lstm_mid_out1 = LSTM(64, activation='sigmoid', dropout=0.1, return_sequences=False, 
                         kernel_initializer=he_normal(seed=10))(act_mid_out1)

    # ############################################
    # 上层叠加新的dense层
    concat_output = Concatenate(axis=1)([lstm_left_out1, lstm_mid_out1, lstm_right_out1])
    outputs = Dense(1)(concat_output)
    model_func = Model(inputs=inputs, outputs=outputs)
    model_func.compile(loss='mse', optimizer=Adam(lr=0.002, decay=0.01), metrics=['mse'])
    
    return model_func

image.png

  • On peut voir que les entrées sont utilisées comme données d'entrée pour les trois réseaux. CNN1 + LSMT1, CNN2 + LSTM2, CNN3 + LSTM3 ont obtenu respectivement 3 caractéristiques de haute dimension, et finalement connectés à la couche dense pour sortir les résultats de prédiction

Comparaison des résultats de prédiction avec les résultats de l'article ci-dessus

  • effet de base:

    Le mse normalisé et le mse d'origine sont respectivement 0,00167 et 1606

  • Effet monocanal réseau complexe cnn + lstm:

    La mse normalisée et la mse d'origine sont respectivement 0,0090666 et 869

  • Effet multicanal réseau complexe cnn + lstm:

    Le mse normalisé et le mse d'origine sont respectivement 0,0008297 et 795

On peut voir que l'effet du réseau complexe est extrêmement amélioré, mse est réduit de 50%, mais l'amélioration du multi-canal est relativement faible par rapport au mono-canal. Si la performance temporelle est recherchée, le canal unique de cnn + lsmt + dense peut déjà être en mesure de répondre à la demande dans la plupart des cas

Conjecture sur la raison de l'amélioration

  • Le cnn avec différents réglages de paramètres obtient différentes expressions de caractéristiques de haute dimension, ce qui enrichit l'entrée de caractéristiques du modèle et obtient ainsi un meilleur effet de prédiction.

Comparaison des courbes ajustées

  • La première image est le diagramme d'appareillage de réseau lstm profond, la deuxième image est le diagramme d'appareillage monocanal cnn + lstm et la troisième image est le diagramme d'ajustement réseau multicanal cnn + lstm.

     

    image.png

image.png

image.png

En pensant

Pour différentes données, comment appliquer le même réseau complexe est une question qui doit être examinée à l'étape suivante. Et l'introduction de l'attention



Auteur: yangy_fly
lien: https: //www.jianshu.com/p/c428efc6966e
Source: Les livres de Jane
sont protégés par les droits d'auteur de l'auteur. Pour les réimpressions commerciales, veuillez contacter l'auteur pour l'autorisation, et pour les réimpressions non commerciales, veuillez indiquer la source.

Je suppose que tu aimes

Origine blog.csdn.net/ch206265/article/details/107211310
conseillé
Classement