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

ハンズオンお疲れ様 でした!!

Slide 4

Slide 4 text

この話は機械学習名古屋の勉強会が 休止していた間、まだ世間にChatGPT が知られてない頃の話です (訳:結構過去のリバイバル)

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

実行環境(検証当時) • Python 3.9 • PyTorch(Tensorflowはベタすぎる) • NVIDIA GeForce GTX 965M(Surface Book内蔵GPU)

Slide 8

Slide 8 text

とりあえず動かしてみた • Mobile Net V2を転移学習 • データ数600枚ほど • 思ってたのと違う…

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

END