- 時系列データまたは画像の場合、異なるフィルター、kernel_size、およびストライドは、異なる高次元の特徴が出力されることを意味します。
- 同じデータ、ネットワークの表現力を高める方法。広いネットワークは深いネットワークよりも良い結果を達成できますか?これは、この記事で解決する必要のある問題です。
- データの説明については、前の記事https://www.jianshu.com/p/21b96d597367を参照してください。
ネットワーク構造
# 定义多通道特征组合模型
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
- 入力が3つのネットワークの入力データとして使用されていることがわかります。CNN1 + LSMT1、CNN2 + LSTM2、CNN3 + LSTM3は、それぞれ3つの高次元の特徴を取得し、最終的に高密度層に接続して予測結果を出力しました。
予測結果と上記の記事の結果との比較
-
ベースライン効果:
正規化されたmseと元のmseは、それぞれ0.00167と1606です。
-
複雑なネットワークcnn + lstmシングルチャネル効果:
正規化されたmseと元のmseは、それぞれ0.0090666と869です。
-
複雑なネットワークcnn + lstmマルチチャネル効果:
正規化されたmseと元のmseは、それぞれ0.0008297と795です。
複雑ネットワークの効果は非常に改善され、mseは完全に50%減少しますが、マルチチャネルの改善はシングルチャネルと比較して比較的小さいことがわかります。時間のパフォーマンスを追求する場合、cnn + lsmt + denseの単一チャネルはほとんどの場合すでに需要を満たすことができるかもしれません
改善の理由についての推測
- 異なるパラメーター設定を持つcnnは、異なる高次元の特徴式を取得します。これにより、モデルの特徴入力が強化され、より優れた予測効果が得られます。
適合曲線の比較
-
最初の図はディープlstmネットワークフィッティング図、2番目の図はcnn + lstmシングルチャネルフィッティング図、3番目の図はcnn + lstmマルチチャネルネットワークフィッティング図です。
image.png
image.png
image.png
考え
異なるデータの場合、同じ複雑なネットワークをどのように適用するかは、次のステップで検討する必要がある質問です。そして注目の紹介
著者:yangy_fly
リンク:https://www.jianshu.com/p/c428efc6966e
出典:ジェーンの本の
著作権は著者にあります。商用の転載の場合は、著者に連絡して許可を求め、非商用の転載の場合は、出典を示してください。