ニューラルネットの調整について

4 ビュー (過去 30 日間)
maeda
maeda 2019 年 4 月 3 日
コメント済み: maeda 2019 年 4 月 7 日
深層学習を使用した sequence-to-sequence 回帰のデモにある予測のRMSEを低くしようと試みています。https://jp.mathworks.com/help/deeplearning/examples/sequence-to-sequence-regression-using-deep-learning.html
デモではCMAPSSData.zipの中からtrain_FD001.txtを学習して、ニューラルネットの精度が RMSE = 22となっています。さらに、私はCMAPSSDataの中の train_FD002.txt を選んで学習に用いたところ、RMSE = 51となりました。(添付ファイル) RMSEをデモと同等の22以下に抑えるにはどのような設定が必要になりますか?自分で試したことは、ニューラルネットのユニット数の変更 20,50,200,2000(フリーズ)、エポック数(200)の変更を試しました。計算には設定1つあたり15分ほどがかかってしまうので調整の勘を教えていただきたいです。
  1 件のコメント
maeda
maeda 2019 年 4 月 3 日
添付ファイルはいろいろ調整しようとしてミニバッチ数がexampleの値と違っていたりしますので、FD002に変えただけではないことにご注意ください。

サインインしてコメントする。

採用された回答

michio
michio 2019 年 4 月 3 日
編集済み: michio 2019 年 4 月 3 日
もし学習の進行状況をみて RMSE が大きく上下しているようであれば、InitialLearnRate を下げてみてはいかがでしょう。
また、元データの readme.txt に
train_FD001.txt は Condition: ONE (Sea Level)
train_FD002.txt は Condition: SIX
との記載があり、train_FD002.txt の方が難易度が高そうなデータになっています。もともとの例題ではデータ全体の平均値・分散でデータの正規化をしているので、そのまま複数の状態をもつ train_FD002.txt に使うと精度が出ないのかもしれません。同じようなデータを使っている別の例題 Similarity-Based Remaining Useful Life Estimation のようなモード別の正規化も有効かもしれません。
  3 件のコメント
Kazuya
Kazuya 2019 年 4 月 5 日
残念ながら拡大できないので
[net,traininfo] = trainNetwork(XTrain,YTrain,layers,options);
traininfo を出力させて別途確認する方法ではいかがでしょうか?
maeda
maeda 2019 年 4 月 7 日
kazuyaさんありがとうございます。その方法で学習の様子を出力してみます。

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File Exchange時系列、シーケンス、およびテキストを使用した深層学習 についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!