YOLOでの学習状況の質問

YOLOを学習させた際に、学習の結果が以下の画像のようになりました。
学習オプションは、
trainingOptions('sgdm', ...
'MiniBatchSize', 64, ....
'InitialLearnRate',1e-3, ...
'MaxEpochs',30,...
'CheckpointPath', tempdir, ...
'Shuffle','never');
となっています。
この後、テストデータで検証を試みるものの、全く認識ができません。謎なことに、学習データで検証してもbboxesが空になってしまいます。
(ちなみに、学習データ数は5000枚以上になっています。)
ここで質問ですが、画像のように学習状況が適切にできているように見えても、実際は学習できない場合があるのでしょうか。
まだまだ不勉強なため、大雑把な質問となってしまい申し訳ございませんが、何か教えていただければ幸いです。

 採用された回答

Kenta
Kenta 2020 年 7 月 14 日
編集済み: Kenta 2020 年 7 月 14 日

0 投票

こんにちは、matlabのバージョンはいくつでされていますか?2019aなどの少し前のものでされていますか?もし、そうであれば、最新の2020aにアップデートしてやってみればよいかもしれません。もしくは、単に、すべてのセルに対して物体がない、というような判断を下すように学習が進んでしまっているのかもしれないな、とも思ったのですが、それにしては十分Lossが小さくなっている気もします。

12 件のコメント

HY
HY 2020 年 7 月 14 日
何度も大変ありがとうございます。
バージョンですが2019bを使用しています。アップデートで解決できる場合もあるのですね!時間がかかるかもしれませんが、確認してみます。
また、適合率や再現率が以下の画像のようになっているのですが(見づらくてすみません)、0の値になっているカテゴリは、適切に学習できていないということなのでしょうか?
Kenta
Kenta 2020 年 7 月 14 日
はい、一度2020aでもやってみて、結果を教えてもらえるとうれしいです。
そうですね、ほかの非負の値も結構小さいので、あまり学習はうまくいっていないようです。
HY
HY 2020 年 7 月 14 日
遅くなるかもしれませんが、アップデート確認してみます。
うまくいってなさそうですね、、、、泣
YOLOv2深層学習を使用したオブジェクトの検出のドキュメンテーションでは、学習オプションが'MiniBatchSize', 16, 'InitialLearnRate',1e-3,'MaxEpochs',20,...で、学習時間7分で(GPUの性能によると思いますが)、認識精度が9割以上になっていますが、これは単純に検出する物体のサイズが大きいためなのでしょうか。単にエポック数をあげて解決できるようならいいのですが、、、。
関係ない質問までしてすみません。
Kenta
Kenta 2020 年 7 月 15 日
はい、またアップデートのほうも試してみてください。
ちなみにデータは自前のデータでされていますか?それともmatlabのドキュメントにあるデータでやっていますか?
HY
HY 2020 年 7 月 15 日
自前で用意しています。 (faster rcnnでは、7〜8割での認識はできていました。)
宜しくお願い致します。
Tohru Kikawada
Tohru Kikawada 2020 年 7 月 15 日
Kentaさんのご指摘のとおり、新しいバージョンでお試しすることをお勧めいたします。古いバージョンですと下記のような不具合が修正されていない可能性があります。
HY
HY 2020 年 7 月 15 日
ご回答ありがとうございます。
確かに標識のサイズがバラバラであるので、エラーが発生してそうです。 確認してみます。
Kenta
Kenta 2020 年 7 月 15 日
Kikawadaさま、URLのほうありがとうございます。こちら、私の意図していたもので助かりました。
HYさま、URLにあるとおり、2019bの初期では、入力のサイズなどによっては、うまく作動しないことがあって(すぐに改善されましたが)今回はそれにあたるかもしれないと思いました。アノテーションのbounding boxの縦横ではなく、ネットワーク構造の話です。
HY
HY 2020 年 7 月 15 日
すみません、英論文に損失関数とbounding boxのサイズエラーについて書いてあったので混同してしまいました。
ネットワークの構造の話だったのですね。 ありがとうございます。
Kenta
Kenta 2020 年 7 月 16 日
>論文に損失関数とbounding boxのサイズエラーについて書いてあったので混同してしまいました
なるほど、YOLO v2は小さいものに弱いともとの論文でも言っているのでそれも誤差要因ですね。
とはいえ、faster RCNNではうまくいっているようですので、極端にYOLOで精度が0になるのは、他の要素が大きいかと思います。
まずはバージョンをアップさせて試してみてください。
HY
HY 2020 年 7 月 16 日
はい、明日アップデートできそうなので、試してみます。
みなさま、誠にありがとうございました。
Kenta
Kenta 2020 年 7 月 16 日
はい、うまくいくといいですね!

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

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeDeep Learning Toolbox についてさらに検索

質問済み:

HY
2020 年 7 月 14 日

コメント済み:

2020 年 7 月 16 日

Community Treasure Hunt

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

Start Hunting!