質問: ### 実現したいこと CNNにおけるlossとaccの値から読み取れることを確認したいです。 ### 質問 val_lossが大きいと共にval_accも大きい時、どういうことがCNNで起きているのでしょうか。 lossが大きくaccが小さいならば学習が進んでいない、val_lossが大きくaccが大きいなら過学習ということはわかるのですが 上記のタイプはどのように解釈すべきでしょうか。 ### 学習設定 task: binary classification model: ResNet101 Optimizer: SGD(lr=1e-4, momentum=0.9) loss function: cross entropy epoch: 300 ### モデルのコード GitHubに上がっているkerasでのResNetコードを拝借いたしました。 ### 結果画像 accuracy ![](https://teratail.storage.googleapis.com/uploads/contributed_images/123b758f2462d6ee91bef5c264ae198f.png) loss ![](https://teratail.storage.googleapis.com/uploads/contributed_images/7940faaaccd2753a6bc3325c67e1e736.png) こちらは補足ですがResNet34を用いた際の学習曲線です accuracy ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/98b27660b63474740da267ce663bed8e.png) loss ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/5959d7509adb14a8269c69d2d1337b35.png) どちらもあまりうまく学習が進んでいないことがわかります... ### 追記 lr=1e-3としたところ以下のような画像になりました。 やはりlossもaccも高いという現象が見られるような気がするのですが... ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/d65e417858d5074004bdad9e1c4d83be.png) ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/c9a2da8d38fc35edd49b07a2480975b5.png)
回答: 過学習しているだけのように見えます。 lossが下がって、 accが上がって、 val_lossは下がらず、 val_accは上がっていない という状態です。 学習率を下げて、バッチサイズを少し大きくしてみてはいかがでしょう。 val_accは高いという判断は、他のモデルと比べて、などでしょうか?