AI アプリ - CreateMLだけで作ってみた2020年02月21日 13:52

ビッグデータが流行ですが、”スモールデータ” ではだめなんだろうか? Xcodeの Playgroundには AIモデルを生成する機能を備えている、これを使って実際にアプリを作成してみた。

学習システムには、Apple社が学習させた基本モデルが組み込まれているから、それを使って転移学習する仕組みらしい。ディープラーニングに解説されている、犬猫の画像分類なども、フォルダー別に各々画像を用意するだけで、手元の Macだけで簡単に AIモデルを生成することができ、生成したオリジナルモデルを自分のアプリに組み込むことができる仕組みだから Macが有れば容易に試すことができる。

作成したのは、AI がベストショットを自動で撮ってくれるアプリ
写真を撮るとき、誰しもがベストな一枚を願うものだ。これを AI化するための以下の方針を決めた。

 ・ベストショット = 素敵な顔の表情とする
 ・学習データ = 素敵な顔と、そうでないのを各20枚程度用意する (*)
 ・写真の判断に客観性はない

(*) 学習データ
2019.1.1 施行の改正著作権法によると、著作物を含むデータを元に機械学習によって学習済みモデルを開発することは適法となった、だから Web上の写真データを使って AIモデルを開発することは可能である。

このように、用意したのはビッグデータとは程遠い学習素材です。実際に学習させてモデルを生成してみると面白い。枚数の少ない画像を有効活用するための手段として CreateMLにも画像の回転、反転、拡大、切り取り、などの学習時のオプション設定ができるが、あれこれ試して分類精度を上げすぎるより、ここでは適当に低い方がいい結果が得られた。

(学習とテストの精度 - CreateML - )
CreateML-learning


実際、色々試してみたが、90%以上の高精度より 60〜70%程度の方が良い結果が得られたが、この結果の確証はない。使った学習データのせい、あるいは考え方が間違っていたのかもしれない。元々、目標にした "ベストな写真” に客観性はない。App Storeからダウンロードして試して判断ください。
(iOS 12.0以降。iPhone、iPad、およびiPod touchで動作。)


  App Store(無料、課金・広告なし)
appLogo & appImage

image-QR