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

1 回表示 (過去 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 ExchangeDeep Learning Toolbox についてさらに検索

Community Treasure Hunt

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

Start Hunting!