Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ディープラーニング素人がPyTorchでマスクつけている人を学習させてみた

4b2f3a64637b51e81813accbe8a98083?s=47 KMiura
February 20, 2021

 ディープラーニング素人がPyTorchでマスクつけている人を学習させてみた

2021.02.20「Python Charity Talks in Japan 2021.02」
https://pyconjp.connpass.com/event/199787/

4b2f3a64637b51e81813accbe8a98083?s=128

KMiura

February 20, 2021
Tweet

Transcript

  1. ディープラーニング素人がPyTorchで マスクつけている人を学習させてみた KMiura(@k_miura_io)

  2. お前だれよ • 三浦 耕生(こうき) • 名古屋のゲーム会社 のサーバーエンジニア @k_miura_io koki.miura05

  3. ディープラーニング • ディープラーニングはチュートリアル 止まり • せっかくGPU乗ったSurface買ったの に…(3年前) • Pythonやってるならディープラーニ ングやらないと

  4. ディープラーニングを社会の役に立てたい (建前) • 外出するのにマスクを付けるのは当 たり前 • 百貨店行くとマスクつけても認識する サーモカメラを見かけるようになった • ワイも実装してドヤりたい(本音)

  5. 実行環境 • Python 3.9 • Pytorch(Tensorflowはベタすぎる) • NVIDIA GeForce GTX

    965M(Surface Book内蔵GPU)
  6. とりあえず動かしてみた • Mobile Net V2を転移学習 • データ数600枚ほど • 思ってたのと違う…

  7. Why? • 逆伝搬の計算するとトレーニングをするたびに以前の勾配を加算する • トレーニングの度に勾配をゼロにする処理をいれてみた • ついでにデータも増やしたれ(各クラス600枚→900枚)

  8. 学習結果 • 悪くはないがノイズ結構のってる • Accuracyが1に到達してるものもある(収束しているのが理想)

  9. さらに改善 • もっとデータ量を増やしてみた(各クラス900枚→1600枚) • ついでにエポック数増やしてみる(100エポック→150エポック)

  10. 学習結果 • 目立ったノイズも無くきれいな曲線(ディープラーニングでよくあるやつ) • Accuracyが1に到達せず収束している • やはりデータがものをいう

  11. 実験成果 https://youtu.be/VbBSG1Is3hY

  12. まとめ • ディープラーニングはデータ量、アルゴリズムは二の次 • ようやくGPUを生かすことができた(Jetson Nanoも買える) • ディープラーニング完全に理解した

  13. 今回のソースコード&ブログ https://github.com/Miura55/deeplearning- face-mask-detection https://supernove.hatenadiary.jp/entry/ 2021/01/19/041445

  14. END