© 2017 Apple Inc.

今秋に正式リリースされる『iOS 11』には『Core ML』が追加されます。いま注目されている「機械学習」に関する新機能ですが、何ができるようになるのでしょうか。

Core MLとは

予測・判断に必要なデータを「学習モデル」として取り込み、モデルに基づいて与えられたデータからプログラムが予測・判断し、その結果をアプリに伝える枠組みを指します。

例としてAppleが挙げているのは、不動産価格を予測するアプリです。地域の不動産価格に関するデータをまとめて学習モデルとして用意すれば、入力された部屋数からCore MLが不動産価格を予測してアプリに伝えられます。

これは開発者がアプリに組み込むもので、一般ユーザーはCore MLを直接使えません。アプリを介してCore MLに予測・判断させ、その結果をアプリで確認することになります。

Core MLを拡張するツール

Core MLだけでは処理できるデータの種類に限りがあるので、iOS 11に用意されている『Vision』や『Foundation』・『GameplayKit』と組み合わせます。

VisionはCore MLが画像を認識する、FoundationはCore MLが言葉を認識する、GameplayKitはCore MLを使ってゲーム内の環境を計算させる際に使うものです。

Vision

Visionは画像を解析する枠組みで、その結果をCore MLに送れます。画像を識別するための学習モデルを用意すれば、画像から撮影した場所(例:空港・寝室・森・海岸)や、主な被写体(例:木・動物・食品・車・人)などを判別できます。

実際にこれを使って試作品をつくった開発者がすでにいます。

@theswiftistが公開したのは、表示された画像がどんな場所を撮ったものなのか・何が写っているのかをCore MLに分析させるアプリです。

@tapbot_paulが公開したのは、iSightカメラで撮ったものが何かをCore MLに分析させるアプリです。残念ながらMac Proはヒーターやスピーカーとして認識されていますが、最初に映したキーボードや箱は正確に認識しています。

いずれもCore MLとVisionを組み合わせて開発したものと思われます。

GameplayKit

プレイヤーの動きに対して、敵や対戦相手のキャラクターにどんな反応をさせるかを定められる機能です。これは『iOS 9』から追加されています。

Core MLと組み合わせれば、学習モデルを元にキャラクターの動きを決定できるようになります。優れた学習モデルがあれば、より巧みな戦略で敵を動かせるでしょう。

Core MLのメリット・デメリット

Core MLの処理はすべてiPhoneで行うので、サーバとの通信は必要ありません。したがって個人情報の保護に必要な措置が軽減され、開発者は高い処理能力を持つサーバを用意する必要がなくなります。

ユーザーとしても、個人情報がどこかに送信されたり保存されたりする恐れは少ない方が良いでしょう。データ通信量の削減にもなります。

一方で、問題は容量と消費電力です。Core MLと連携するアプリを試作した@tapbot_paulによれば、試作アプリの容量は600MB以上になりました。Core MLが必要とする学習モデルの容量が大きいことが原因のようです。

用途によっては消費する電力も大きいようです。iSightカメラで撮った映像からリアルタイムに物を認識させるアプリを試用した@tapbot_paulは、iPhoneが熱くなったと『Twitter』に投稿しています。

Core MLやVisionは機械学習やAI(人工知能)に必要な基礎を提供するので、アプリ開発者がゼロから開発する手間を省けます。しかし、学習モデルは目的に応じて用意する必要があるので、手間が全くない訳でもありません。

より難しい・正確な予測や判断を行わせるには、学習モデルに使うデータの充実が不可欠です。そのための手間はかかるので、高度なAIを搭載したアプリがすぐに大量に登場するようなことにはならないでしょう。

参考

Machine Learning - Apple DeveloperCore ML | Apple Developer Documentation@tapbot_paul - Twitter@theswiftist - Twitter