【機械学習】Google I/O・AWS Summit・WWDC2019年総まとめ!共通点と違いは?
ここ数ヶ月Google/AWS/Appleの開発者向けイベントが開催されました。私も国内イベントに参加や視聴をしてきました。
そこから各社の共通点や注力してるポイントが見えてきましたのでまとめていきたいと思います。
機械学習 / ディープラーニングに限定してまとめております。
エッジデバイス / オンデバイスで機械学習
エッジデバイス(クラウドを利用しない)で動く機械学習を強化してきています。GoogleとAWSの取り組みをご紹介します。
これまでGoogleはクラウド活用した機械学習が主流でした。エッジデバイス側で機械学習を行うというのは容量やCPU使用率の問題で動作が非常に遅く使いづらいものでしたが、技術の進化によりエッジデバイス側で機械学習を行うという事例が増えてきています。
アプリのみで動作するML Kit
(後述) / アプリやラズベリーパイで動作するTensorFlow Lite
/ Webブラウザ上で動作するTensorFlow.js
があります。
TensorFlow Lite
TensorFlow LiteはTensorFlowの学習モデルをモバイルアプリ・ラズベリーパイ・マイコンなどで動作させる事ができるフレームワークです。 CPUではなくGPUを利用し、容量も一般の機械学習のモデルサイズの数百MBから1/4程度まで落とすことが可能です。
【事例】 CareOS
ラズベリーパイ上で顔の認識やセグメンテーションをリアルタイムで行なっています。メガネをかけたり髪の毛の色を変えたりする事例です。
TensorFlow.js
Webブラウザで動作する機械学習です。クラウドにアクセスすることなくJavascriptでTensorFlowを動かすことができます。
【事例】BodyPix(人間の画像をセグメンテーション)
AWS
AWSもエッジデバイスによる機械学習に力を入れてきています。
SageMaker Neo
Amazon SageMaker Neo は、精度を損なうことなく、10 分の 1 以下のメモリ使用量で最大 2 倍の速度で実行するようにモデルを最適化します。最初に、MXNet、TensorFlow、PyTorch や XGBoost を使って機械学習モデルを構築し、Amazon SageMaker を使ってトレーニングします。次に、ターゲットハードウェアプラットフォームを選択します。ワンクリックで、Amazon SageMaker Neo はトレーニング済みモデルを実行できるようにコンパイルします。
こちらもTensorFlow Liteと同じでメモリ使用量を下げて実行速度を早くしたエッジデバイス向け機械学習を提供しています。
特徴としてTensorFlow
だけでなくPyTorch
、MXNet
などディープラーニングのライブラリーが限定されないところが強みです。
機械学習をより簡単に実装する
機械学習を深く理解していなくても画像認識などが簡単に実装できる機能や、機械学習のワークフローを簡単にする仕組みが提供されております。
ML Kit
モバイルアプリ上で動く機械学習の実行環境です。モバイルアプリで機械学習機能を開発する前提で、やりたいことがML Kitで実現できる内容であればTenforFlow Liteを使うより簡単に実装が可能です。
2019年に新しく追加されたML Kitの機能
- ML Kit On Device Translation
オフラインで動く翻訳機能で、Google翻訳と同じモデルを使用
- Object Detection & Tracking API
画像の中でオブジェクトを検出してくれる機能
【事例1】 LIFULL HOME'sアプリでの外国人向け多言語翻訳機能
【事例2】 以前、ブログにてML KitのObject Detectionの記事を書きましたのでそちらもご覧ください。
AutoML Vision Edge
簡単にオリジナルの画像分類が実装できるML Kitの機能です。
- 識別したい写真を集めてFirebaseのコンソールにアップロード
- 写真の識別を行うモデルをAutoML Vision Edgeが自動的に作成してTensorFlow Liteの形に変換
- ML Kit経由でアプリに配布して画像分類
という簡単な作業のみでカスタムの画像分類が可能になります。
AWS
AWSは機械学習のワークフローを簡単にしたり自動化したりする部分にかなり注力している印象です。
Amazon SageMaker Ground Truth
Ground Truth を使用すると、ラベル付きデータセットを作成できる機械学習とともに、選択したベンダー会社、または社内のプライベートワークフォースのいずれかの
Amazon Mechanical Turk
のワーカーを使うことができます。
今まで機械学習の画像認識分野などでデータセットを用意する際に大変だったのが、データのラベル付けです。Amazon SageMaker Ground Truth
はデータのラベル付けのワークフローを自動化します。
信頼性スコアがしきい値を下回る場合、データが人に送信され、人がラベルを付けます。人がラベルを付けたデータの一部は、ラベル付けモデルの新しいトレーニングデータセットを生成するために使用され、モデルは精度を向上させるために自動的に再トレーニングされます。
詳細は以下ご覧ください。
Apple
2018年から簡単に機械学習を実装できる環境を提供し始めました。今年はさらに強化されております。
Core ML
公式で用意している学習モデルが増えました。これらはモデルを作成する必要がなく利用が可能です。
- 深度推定(単一画像からデプスの推定が可能)
- 画像のセグメンテーション
- オブジェクト検出
Create ML
ドラッグ&ドロップで機械学習のモデル作成が可能です。 物体検出、音・行動の分類など実装できる機能の種類が増えました。
Turi Create
PythonでCore MLモデルを作ることができるAppleのライブラリです。
One Shot Object Detection
という機能が追加されました。今までモデル作成にあたりたくさんの画像が必要でしたが、1枚の画像で物体検出が可能になります。
私もTuri Createを活用した画風変換のブログ記事を出しております。よければご覧ください。
AIサービス比較表
AIサービス群の比較をおこないます。単純な比較は難しいので詳細については別途お調べください。
機能 | AWS | Apple | |
---|---|---|---|
翻訳 | Cloud Translation API/ ML Kit On Device Transition | Amazon Translate | - |
音声認識 | Cloud Speech-to-Text | Amazon Transcribe | Speech Framework |
自然言語処理 | Cloud Natural Language API | Amazon Comprehend | Natural Language framework |
音声合成 | Cloud Text-to-Speech | Amazon Polly | AVSpeechSynthesizer |
レコメンデーション | Recommendations AI | Amazon Personalize | MLRecommender |
時系列分析 | Cloud Inference API | Amazon Forecast | - |
画像分析 | Cloud Vision API | Amazon Rekognition | - |
動画分析 | Cloud Video Intelligence API | Amazon Rekognition Video | - |
OCR | Cloud Vision API(OCR) | Amazon Textract | VNRecognizeTextRequest |
顔検出 | Cloud Vision API / Detect Faces with ML Kit | Amazon Rekognition | VNDetectFaceLandmarksRequest |
各社の特徴
各社の強みや特徴についてまとめたいと思います。個人の見解も含まれている部分もありますのでご了承ください。
マルチデバイス/クロスプラットフォーム
上記にも記載した通りWebブラウザでも動くしiOS/Androidアプリやラズベリーパイ/マイコンでも動かせる仕組みを公式でサポートしております。クラウドのAIサービスや無料のGPU学習環境のColaboratoryなどの提供もしており、Googleのサービスだけである程度の機械学習は実現できてしまうくらい網羅している印象です。
AIを普及させるための取り組み
GoogleはAIを普及させるために資料やデータセットを積極的に公開しています。
People + AI Guidebook
AIがユーザーにとって使いやすいサービスとなるためにどのような設計にすればいいのかを紹介している公式の資料になります。
Machine Learning Fairness
機械学習を行う際に集めたデータセットの内容に偏りがでると差別や不公平な学習モデルが生まれてしまいます。 国籍や性別に影響されないデータセットを用意するためにGoogleがデータセットを公開しています。
今まで欧米のデータセットが多かったのですがこちらのデータはインド・アフリカ・中近東を中心に集められているので偏りが少ない機械学習が可能になるそうです。
AWS
ビジネスシーンに特化
これらはAmazonのリテールビジネスの予測に使われていたレコメンデーションや需要予測の機能をベースに作られている技術とのことです。Amazonはクラウドベンダーでもありながら小売業でもあるため、かなりの期待が寄せられます。
継続的な機械学習ワークフローの実現
Amazon SageMaker Ground TruthやAWS Step Functions 、Amazon ECRなどAWSのサービスをフル活用し「データ収集→クリーニング→データ変換ラベル付け→トレーニング→モデル評価→本番にデプロイ→推論監視→データ収集」といったワークフローを楽にして継続的にチューニングする仕組みを導入しやすいです。
Apple
AR体験を強化
- People Occlusion(人を認識してARオブジェクトを隠す機能)
- Motion Capture(体の動きを認識)
iOS13で搭載されるARKit3では、上記の機能でApple独自のMachine Learningが活用されています。
運動・健康促進
Apple Watchセンサーを利用してどんな動きをしているかを予測することができます。これを利用して日々の運動の可視化など健康促進に繋げることができますね。個人的には百式観音の動きをマスターできるようになりたいです。
ARもセンサーもOSからデバイスまでアップルが自社で管理しているからできることであり、強みなのではないかと考えられます。
まとめ
- Google / AWS / Appleは機械学習をより簡単にし誰でも扱えるような仕組みを提供し始めている
- デバイスの進化によりエッジ側で機械学習の推論する事例が増えてきており各社も推進している
- 各社それぞれに強みがあり独自のノウハウを最大限に生かした機械学習を提供している
- お互いの仕組みを要件に応じて組み合わせたりするのがいいかもしれない
参考にしたサイトや資料
WWDC
AWS Summit
Google I/O
【ML & AI】Google I/O Extended: Recap Live Japan 2019 #RecapLiveJP
【Firebase & ML Kit】Google I/O Extended: Recap Live Japan 2019 #RecapLiveJP