Googleは3月20日、機械学習に特化したイベント「Google Developers ML Summit」を六本木アカデミーヒルズおよびGoogle東京オフィスにて開催する。当日は、TensorFlow、Cloud ML、ML Kit、Actions on Googleなど、Googleが提供する開発者向けの機械学習ツールについてのセッションとハンズオンが行われる予定だ。
本稿では、同イベントでの中心的なテーマの1つ、Android/iOS向けの機械学習SDK「ML Kit」の使いどころについてGoogleの プログラムマネージャー 鈴木 拓生氏に解説していただいた。
コミュニティとの連携で機械学習のエコシステムをつくる
――Google Developers ML Summit開催の背景についてお聞かせください。
2015年にTensorFlowを公開したことをきっかけに、Cloud ML、ML Kit、Actions on Googleなど、Googleが開発者向けに提供している機械学習のツールやプラットフォーム、フレームワークの選択肢が増えました。その反動で、開発者は機械学習のどの部分にフォーカスしていていけばよいか、選択していくのが難しい時代になりつつあります。
イベントでは、機械学習の概要をおさらいしながら、Googleが提供する各ツールの概要をセッションとハンズオンでお伝えしようと考えています。また、3月6日-7日(米国現地時間)に開催されたイベント「TensorFlow Dev Summit」で発表されたTensorFlow 2.0についても解説する予定です。
――Google Developers ML Summitは昨年の12月にも行われていますが、今回は何か新しい取り組みがあるのでしょうか。
昨年12月のイベントでは多くのセッションを設けていましたが、参加者の方から実際に手を動かしてみたいというフィードバックが多くあったので、今回は午後をすべてハンズオンにしています。講師として、Google社員のほかGoogle Developers Expertと呼ばれる外部の開発者の方々にもお越しいただきます。
これはGoogleの強みであるコミュニティとの連携を意識した取り組みでもあります。イベントに参加しただけですべての方が機械学習の専門家になれるわけではありませんので、イベント参加後に、Google Developer Group(GDG)、TensorFlow User Groupなどのコミュニティや、開発者が有志で開催している勉強会などにも興味をもっていただければと思っています。
コミュニティや社外のインフルエンサーを巻き込むことで、みなさんと一緒にエコシステムをつくっていきたいですね。
一眼レフのオートモードのように機械学習を扱えるML Kit
――開発者のなかでも機械学習の注目度は上がってきているのですか?
機械学習がバズワードから当たり前のように使われる技術になってきているなかで、モバイル開発者をはじめとする開発者の方から「機械学習に興味はあるけど、どこでどのようにして勉強したらよいかわからない」という声を聞くようになりました。
私たちとしては、一眼レフカメラのオートモードのように、気軽に機械学習に触れていただきたいと考えています。
一眼レフカメラのマニュアルモードで写真を撮影するには、絞り値、シャッタースピード、ISO感度などをすべて勉強し、練習を繰り返して、撮影の技術を習得しなければなりません。これらを機械学習で例えるならば、前処理、モデルのトレーニング、予測などにあたるでしょう。
私たちは、このプロセスを完璧に学ばずとも、機械学習の技術をアプリに組み込めるような環境を作っていきたいと思っています。ML Kitはまさにそのためのツールです。
――ML Kitはどのようなツールですか?
デバイス上で機械学習を扱いやすくするためのモバイルアプリ開発者向け機械学習ツールです。Firebaseの機能のひとつとして提供しており、Googleが開発したモデルを使うことで、データを自分で用意したりトレーニングしたりすることなく、機械学習の機能がご利用いただけます。
――具体的にどういうモデルが用意されていますか。
テキスト認識、顔認識、バーコードスキャン、画像ラベル付け、ランドマーク認識などがあり、今のところ画像や映像から情報を抽出するものがメインです。また、これらの事前構築済みモデルではニーズを満たせない場合、TensorFlow Liteのカスタムモデルを使用することもできます。
オンラインだけでなく、オフラインで利用できる点も特徴です。オフラインでは正確性は低くなりますがレスポンスがはやく、またアプリによってはオフラインで動くほうがユーザビリティが高いケースもあります。
――ML Kitが利用されているアプリの事例はありますか?
現在はEC系のアプリに使われていることが多いですね。また「PicksArt」という写真編集アプリでは、数千ものステッカーのなかから写真の雰囲気に合ったステッカーを選んでくれる機能に機械学習を活用しています。
ZOZOグループでは、ファッションコーディネートアプリ「WEAR」のデータを使用し、TensorFlowLiteのカスタムモデルを利用してデモアプリを作っています。コーディネートに対してどれくらいの「いいね」がつきそうかを予測する機能について検証しているところです。
WEARは、数万枚のコーディネートと「いいね」の情報をもっているので、これらのデータを利用するほうが利便性が高いという判断から、カスタムモデルの使用を選択されました。モデルをアプリ内で実行しているため、ユーザーはオフラインでも利用でき、開発側にとっては、ネイティブアプリ開発者だけで作業を完結できるという利点があります。後者は、PoC(Proof of Concept)の高速化などに貢献するはずです。
また、興味深いのは、いずれのアプリでも機械学習を使うこと自体を目的にしているわけではなく、開発したいアプリの機能に対する最適解として機械学習があったという点です。「機械学習を使っています!」とわざわざ説明する必要がないくらい、機械学習がアプリのなかで普通に使われるようになってきているのです。
“AI for everyone”の実現に向けて
――Googleとしてもさまざまなユースケースにあわせて、各種ツールやフレームワークを準備していくということですよね。
ユーザーに何か新しい機能を提供したい場合、そもそも機械学習を使うべきかどうかを検討して、その後、機械学習を使うのであれば、TensorFlow、Cloud ML、ML Kitなどの選択肢のうちから何を選んでどう使うかを考えていくのが、今後の流れになっていくのではないでしょうか。
DIYをする際には、ノコギリやトンカチなど用途によって使いやすい道具は異なってきますよね。Googleとしては、機械学習に関連する道具を用意し、組み合わせて使えるように、道具箱にありとあらゆる道具が揃っているような状態にしていきたいと考えています。
そうすることで、当社のCEOであるSundar Pichaiが現在掲げている”AI for everyone”の実現につながっていくのだと思います。
――最後に、開発者の方にメッセージをお願いします。
私たちは、R&D部門や研究所を持っているような一部の組織の技術者だけではなく、中小企業やアプリ開発に関わる方々など、より多くの人に機械学習を使っていただきたいと考えています。
機械学習はあくまで、ユーザーの満足度が高いものをつくるための選択肢のひとつ。もし、機械学習によってより良いものをユーザーに届けることができるのであれば、私たちはその実現のお手伝いをしていきたいと思っています。