4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Swift CoreMLによる機械学習モデルの作成

Last updated at Posted at 2021-12-20

#Xcode標準機能で機械学習モデルの作成ができる!
XcodeにはCoreMLという機械学習モデルの利用や作成ができるフレームワークがあります。

#CoreMLとは
Appleが2017年に発表した機械学習モデルの利用の無料のフレームワーク。
モデルの作成にはCreateMLを使用する。
最新版のXcodeでは標準機能でついており、無料で使用することができる。
ただし公式の使用方法が記載されているドキュメントは英語のみ。
スクリーンショット 2021-11-29 17.56.40.png

#【目標】航空機(主にヘリコプター)を画像から自動的に機種を判別するAIモデルを作成
スクリーンショット 2021-11-29 17.10.50.png

#モデル作成フロー
スクリーンショット 2021-12-20 20.38.43.png

#練習データとテストデータを用意する
スクリーンショット 2021-12-20 20.40.44.png

・機種ごとにファイルを用意
・練習フォルダの中身とテストデータの中身はファイル名を必ず同一にする
・train用の画像は機種ごとに10枚ずつ、test用の画像は3枚ずつインプット

#CoreMLに実際に学習させる
スクリーンショット 2021-12-20 20.41.35.png

trainしてなんと数秒でモデルが出力された。(写真は計117枚入力)
スクリーンショット 2021-12-20 20.45.08.png

#では実際に画像を与えて判別できるのか?

スクリーンショット 2021-12-20 20.43.07.png

###結果①
学習に使用していない新たなAS332の画像を与えたところ、見事に機種を的中させた。ただし、信頼率は61%とやや低い。
スクリーンショット 2021-11-29 17.10.50.png

###結果②
次に、学習に使用していない新たなS76の画像を与えたところ、見事に機種を的中させた。さらに信頼率は99%とかなり高い。
スクリーンショット 2021-11-29 17.42.45.png

###結果③
次に固定翼であるC680の画像を与えたところ、なんと信頼率100%で的中させた。このモデルは飛行機とヘリコプターの判別は得意なようです。
スクリーンショット 2021-12-20 20.50.32.png

#検証
###モデルの正確性①
モデルのValidation Accuracy(検証正確性)がかなり低くなってしまったが、これはテストデータが少なかったためと考えられる。
スクリーンショット 2021-12-20 20.51.46.png

###モデルの正確性②
分類ごとで見るとこのモデルはまだまだ未熟であることがわかった。
実用には全ての分類で80〜90%の正確性は欲しいところである。
スクリーンショット 2021-11-29 19.26.04.png

#モデルの応用
本モデルはiphoneアプリに組み込むことができます。アプリからカメラにアクセスして実際の実機や写真を撮影することで機種判別ができます。
スクリーンショット 2021-12-20 20.54.14.png

#課題
###CoreML中身はブラックボックス
画像を与えれば勝手に学習して規則性を見出してくれますが、この規則性の見つけ方・計算方法がブラックボックスです。(公開したら真似されてしまうので当然ですが)アプリを開発するにあたってこのブラックボックスに依存していることが、未知のリスクを含んでいると感じました。

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?