ディープラーニング素人がPyTorchでマスクつけている人を学習させてみた
by
KMiura
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
ディープラーニング素人がPyTorchで マスクつけている人を学習させてみた KMiura(@k_miura_io)
Slide 2
Slide 2 text
お前だれよ • 三浦 耕生(こうき) • 名古屋のゲーム会社 のサーバーエンジニア @k_miura_io koki.miura05
Slide 3
Slide 3 text
ディープラーニング • ディープラーニングはチュートリアル 止まり • せっかくGPU乗ったSurface買ったの に…(3年前) • Pythonやってるならディープラーニ ングやらないと
Slide 4
Slide 4 text
ディープラーニングを社会の役に立てたい (建前) • 外出するのにマスクを付けるのは当 たり前 • 百貨店行くとマスクつけても認識する サーモカメラを見かけるようになった • ワイも実装してドヤりたい(本音)
Slide 5
Slide 5 text
実行環境 • Python 3.9 • Pytorch(Tensorflowはベタすぎる) • NVIDIA GeForce GTX 965M(Surface Book内蔵GPU)
Slide 6
Slide 6 text
とりあえず動かしてみた • Mobile Net V2を転移学習 • データ数600枚ほど • 思ってたのと違う…
Slide 7
Slide 7 text
Why? • 逆伝搬の計算するとトレーニングをするたびに以前の勾配を加算する • トレーニングの度に勾配をゼロにする処理をいれてみた • ついでにデータも増やしたれ(各クラス600枚→900枚)
Slide 8
Slide 8 text
学習結果 • 悪くはないがノイズ結構のってる • Accuracyが1に到達してるものもある(収束しているのが理想)
Slide 9
Slide 9 text
さらに改善 • もっとデータ量を増やしてみた(各クラス900枚→1600枚) • ついでにエポック数増やしてみる(100エポック→150エポック)
Slide 10
Slide 10 text
学習結果 • 目立ったノイズも無くきれいな曲線(ディープラーニングでよくあるやつ) • Accuracyが1に到達せず収束している • やはりデータがものをいう
Slide 11
Slide 11 text
実験成果 https://youtu.be/VbBSG1Is3hY
Slide 12
Slide 12 text
まとめ • ディープラーニングはデータ量、アルゴリズムは二の次 • ようやくGPUを生かすことができた(Jetson Nanoも買える) • ディープラーニング完全に理解した
Slide 13
Slide 13 text
今回のソースコード&ブログ https://github.com/Miura55/deeplearning- face-mask-detection https://supernove.hatenadiary.jp/entry/ 2021/01/19/041445
Slide 14
Slide 14 text
END