iOS11でCoreMLが導入されて、AIの実装が簡単になります。
何がどう簡単になるのか?
エンジニア以外の人にも分かるようにカンタンに解説してみます☆
まずはiOS11のおさらい
・2017年秋にリリース予定
・iPhone5S以降に対応
・iPhone8も同時発売かも!?
・CoreMLでAIが簡単に
・ARKitでARが簡単に
・Apple Payで個人間送金が可能に
・その他、多数の新機能!
開発者にとって注目はやっぱり「CoreML」と「ARKit」ですね。
機械学習?CoreML?
まず、「AI」と「機械学習」と「ディープラーニング」の違いを整理しときましょう。
難しい話は置いておくと、
いっぱいあるAIの手法の中で、そのひとつが機械学習
いっぱいある機械学習の手法の中で、そのひとつがディープラーニング
っていう感じです。
超カンタンに説明するなら、
機械学習 | コンピュータにデータを学習させて賢くするAIの手法 |
ディープラーニング | 複雑に学習させて精度をあげる機械学習の手法 |
っていう感じです。
そしてCoreMLは機械学習・ディープラーニングを使うためのライブラリなんです。
そのなかの詳しい仕組みはエンジニアじゃない人は知らなくて大丈夫ですー☆
「学習」と「推論」の違いだけは理解しよう
それにしても学習と推論の違いは理解してください!
学習 | AIに大量のデータを勉強させることです。時間もデータもたくさん必要です |
推論 | 学習結果を使ってAIに判定してもらうことです。一瞬で結果が出ます |
たとえば猫を認識するAIなら、
学習 | たくさんの猫の画像をAIに見せて学習させる |
推論 | AIに画像を見せて猫かどうか判定してもらう |
ということです。「勉強」と「試験」と言い換えると分かりやすいかも。
そして学習した結果を「モデル」といいます。
要注意!)CoreMLが対応してるのは「推論」だけ
CoreMLが対応しているのは「推論」だけです。「学習」は時間もコストもかかるのでサーバでやりましょう。CoreMLは外部のサーバ、外部の機械学習ツールで学習したモデルをiPhone内で使うためのライブラリなのです。
どんな学習用の外部ツールに対応しているの?
これはエンジニア向けの話ですが、CoreMLと連携できる機械学習ツールは、
Keras,Scikit-learn,Caffe等々です。
いま一番ホットなGoogleのTensorFlowを使いたければKerasで対応できます。
(ちなみにTensolflowはiOS対応してるので、今までも使えたんですが、これがまあまあ大変だったんです。CoreMLならそんなによく分かってないエンジニアでも使えるレベルに簡単になりました☆)
モデルはいちいち学習しなくてもネットでひろってくればOK!
機械学習において学習処理にはかなり多くの時間が必要です。サーバ費用も必要です。
(ガッツリ学習するなら一ヶ月とかかかります)
そこで世の中には学習したモデルを配布しているサイトがいろいろあるので活用しましょう。Appleも開発者ページで、学習済みモデルを配布しています。
Appleの学習済みモデル配布ページ
(主に「この画像は何の画像でしょう?」に使えるものです。画像以外にも期待!)
さらにVision Frameworkで画像認識が超簡単に!
CoreMLと一緒にVision Frameworkっていう超便利なライブラリもリリースされます!これを使えばCoreMLを使わなくても簡単な画像認識ができたり、CoreMLと組み合わせると高度な画像処理が簡単にできるようになります。
★Vision Frameworkでできること
・顔を認識
・顔の目や口などパーツを認識
・四角形などの図形を認識
・文字を認識
・バーコードを認識
・画像の傾き(どの方向が↑か)認識
・2つの画像を1つに整列させる
・(CoreMLと連携して)何の画像か認識
・↑で認識したものを動画内で自動追尾
ということで、Vision Frameworkで画像認識がとても簡単になりました!
それで結局どんな機能がつくれるようになるの?
CoreMLやVison Frameworkで画像処理が飛躍的に便利になりました。そこで企画者にとっては「結局どんなことが簡単にできるようになるの?」ってとこですよね。
いくつか思いつくままに列挙してみました。
・SNOWみたいな顔をいじる系のアプリ
・二人の顔を入れ替えたりするアプリ
・似ている有名人の顔に変身できるアプリ
・名刺認識OCRアプリで、名刺の上に顔写真が表示されるARアプリ
・社員の顔写真を学習しておいて、防犯カメラ連携で自動顔認証タイムカードアプリ
・自宅で猫がカメラの前を通ったら動画撮影するアプリ
等々
今のところ画像認識関係が中心です。「画像認識の精度が上がって便利になる!」系のアプリが増えると思います。(いちおうGameplayKitっていうライブラリを使って、ゲームの敵AIの動きを機械学習で強くしたりもできますが、そんなに簡単じゃ無さそうなのであんまり使われないかも)
これからのバージョンアップに期待!
今のところiOSの機械学習系はまだまだ成長の余地が大きくて、むしろちょっと遅れてるぐらいかもしれません。今回のCoreMLでまずは第一歩、という感じです。
世のエンジニア達は今後このようなことも出来るといいなと期待してそうです。
・Apple独自の学習手法の提供
・文章認識周りの充実
・SIRI的な音声認識の充実
・iPhoneのチップの向上でAI処理速度の向上
・デバイス側でのちょっとした学習に対応
等々
それではこの辺で!これからのiOSのAI充実に期待しましょう☆
投稿者プロフィール
-
これまで100本以上のアプリ開発に携わり、
1000万を超えるダウンロードを稼いできました。
スマホ研究部では幽霊部員として日々活動しています。