🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Keras

Kerasは、TheanoやTensorFlow/CNTK対応のラッパーライブラリです。DeepLearningの数学的部分を短いコードでネットワークとして表現することが可能。DeepLearningの最新手法を迅速に試すことができます。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

14537閲覧

loss値の収束が早すぎる、精度が振動する。

tsugumi_7788

総合スコア31

Keras

Kerasは、TheanoやTensorFlow/CNTK対応のラッパーライブラリです。DeepLearningの数学的部分を短いコードでネットワークとして表現することが可能。DeepLearningの最新手法を迅速に試すことができます。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/01/15 12:41

編集2021/01/15 12:43

イメージ説明

ConvLSTMモデル(Keras)で50px*50px, RGB画像約15000枚のデータを学習させています。
損失関数はMAE、オプティマイザーはAdam(lr=0.001, 他デフォルト)、学習精度は metrics=['acc'] を使っています。
上のグラフはエポック数500、バッチサイズ16で学習させたときの、lossと学習精度のグラフです。ご覧の通り、lossの収束が早すぎるのと、学習精度が振動するのが何故かわからなくて困っています。
考えられる可能性や思いついたことなどありましたら、教えてほしいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

Lossの収束:
収束が早すぎるというのはどのような問題が起きるのでしょうか?Val-lossと乖離して困っているだとか、tsugumi_7788さんがまだ文字に起こしていないもう少し別の問題が潜んでいると思います。

精度の振動:
振動に関してはこんなものかな、という気もします。
Adamは適応が早いですが、学習が難しいものに対してブレる(学習時にやり過ぎて行ったり来たりしている?)と直感的には理解しています。
対策としては、学習率を下げたり、SGDのようなシンプルなオプティマイザにすると(学習が多少遅くなるにしても)安定して上がるかもしれません。

投稿2021/01/16 00:57

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tsugumi_7788

2021/01/16 09:20

Val-lossも同じ位の大きさです。lossの収束の速さが、扱っているデータの学習難易度と対応していないと肌感覚で感じています。もっとlossは大きいか、収束がもっとゆっくり進む方がしっくりきます。(直感みたいなものですが。。。)まだ初学なので、色々と試行錯誤しています。 試してみます。ご回答していただきありがとうございます。調べてみると、ドロップアアウトとかはこのような場合に用いられたりするのでしょうか?
退会済みユーザー

退会済みユーザー

2021/01/16 14:46

ドロップアウトは過学習対策で使われます。もし一から作ったもので学習がうまくいかない、であれば、ポカヨケのために「似たようなタスクで誰かが作ったもの」で試運転をして学習ができる/できないを見るのも手かもしれません。
tsugumi_7788

2021/01/18 07:07

ありがとうございます。参考にさせていただきます。
guest

0

タスクの内容がわからないのですが、Accuracyを求めているということは分類タスクでいいのでしょうか。

そうだとすると、損失関数がMAEなのは違和感を覚えます。一般にMAEは回帰タスクに用いるもので、分類タスクであれば、categorical_crossentropy等を使うことが一般的かと思います。

投稿2021/01/16 02:10

Amakaze

総合スコア313

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tsugumi_7788

2021/01/16 09:25

ご意見ありがとうございます。 時系列画像データを扱っているので、タスクは回帰に近いと思います。Kerasの提供している評価関数に、本モデルの適した関数が見当たらなかったので、使っています。(書くべきでした。すいません。)(インプットRGB値⇔アウトプットRGB値)したがって、精度はあくまで学習がうまくできているかの指標程度に考えています。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問