ふかふかブログ

興味のあることについてゆる~く書きます

【Splatoon2】ディープラーニングでイカとタコを見分ける

最近機械学習の勉強をしているので練習として、スプラトゥーン2イカとタコを見分けてみたいと思います。

といってもすでに実践している方がいらしたので、さらに精度を上げる+実際に間違えた画像を表示して少しでもディープラーニングのお気持ちを理解したいと思います。

参考 tkgstrator.work

概要

↑で参考にあげているページから学習データをいただきまして、図の人工知能部分に学習させます。 最終的には、画像を与えるとイカガール・イカボーイ・タコガール・タコボーイの中からどちらに近いか判定ができるようになります。

f:id:nohararc:20190728132127p:plain

結論

テストデータ999枚に対し、989枚正解(99.9%)を達成しました。

コードはこちら github.com

誤った画像について、目視で確認していきます。 f:id:nohararc:20190701004025p:plain

3行2列目の画像はもうすこし頑張ってほしいところですが、その他の画像は人間でも判断がつきにくく、 概ねいい感じに学習できている気がします。

実装

詳細は実行環境は省きます(GCPで構築した記憶があるのですがメモを紛失しました...)。

  • フレームワーク: keras
  • モデル: EfficientNet
  • 学習方法: 転移学習(ファインチューニング)
  • 学習データの水増し: horizontal flip, random erase

おまけ

f:id:nohararc:20190728133020p:plain