omuriceman's blog

iOS / AWS / Firebase / JavaScript / Deep Learning を中心とした技術を面白く紹介します!

【機械学習】Google I/O・AWS Summit・WWDC2019年総まとめ!共通点と違いは?

ここ数ヶ月Google/AWS/Appleの開発者向けイベントが開催されました。私も国内イベントに参加や視聴をしてきました。

そこから各社の共通点や注力してるポイントが見えてきましたのでまとめていきたいと思います。

機械学習 / ディープラーニングに限定してまとめております。

エッジデバイス / オンデバイス機械学習

エッジデバイス(クラウドを利用しない)で動く機械学習を強化してきています。GoogleAWSの取り組みをご紹介します。

Google

これまで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(人間の画像をセグメンテーション) f:id:omuriceman:20190621130648g:plain

AWS

AWSもエッジデバイスによる機械学習に力を入れてきています。

SageMaker Neo

https://d1.awsstatic.com/r2018/r/Neo/Product-Page-Diagram_Neo-How-it-Works.9845ca7e23290bc849f36cb947ef81bd967825ef.png

Amazon SageMaker Neo は、精度を損なうことなく、10 分の 1 以下のメモリ使用量で最大 2 倍の速度で実行するようにモデルを最適化します。最初に、MXNet、TensorFlow、PyTorch や XGBoost を使って機械学習モデルを構築し、Amazon SageMaker を使ってトレーニングします。次に、ターゲットハードウェアプラットフォームを選択します。ワンクリックで、Amazon SageMaker Neo はトレーニング済みモデルを実行できるようにコンパイルします。

こちらもTensorFlow Liteと同じでメモリ使用量を下げて実行速度を早くしたエッジデバイス向け機械学習を提供しています。

特徴としてTensorFlowだけでなくPyTorchMXNetなどディープラーニングのライブラリーが限定されないところが強みです。

機械学習をより簡単に実装する

機械学習を深く理解していなくても画像認識などが簡単に実装できる機能や、機械学習のワークフローを簡単にする仕組みが提供されております。

Google

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の記事を書きましたのでそちらもご覧ください。

omuriceman.hatenablog.com

AutoML Vision Edge

簡単にオリジナルの画像分類が実装できるML Kitの機能です。

  1. 識別したい写真を集めてFirebaseのコンソールにアップロード
  2. 写真の識別を行うモデルをAutoML Vision Edgeが自動的に作成してTensorFlow Liteの形に変換
  3. ML Kit経由でアプリに配布して画像分類

という簡単な作業のみでカスタムの画像分類が可能になります。

AWS

AWS機械学習のワークフローを簡単にしたり自動化したりする部分にかなり注力している印象です。

Amazon SageMaker Ground Truth

https://d1.awsstatic.com/r2018/r/Samurai/SamurAI%20Customer%20Assets/Product-Page-Diagram_SamurAI_How-it-works-2.bc19de267c29570783c4add8bb2286ee584fcfbc.png

Ground Truth を使用すると、ラベル付きデータセットを作成できる機械学習とともに、選択したベンダー会社、または社内のプライベートワークフォースのいずれかの Amazon Mechanical Turk のワーカーを使うことができます。

今まで機械学習の画像認識分野などでデータセットを用意する際に大変だったのが、データのラベル付けです。Amazon SageMaker Ground Truthはデータのラベル付けのワークフローを自動化します。

信頼性スコアがしきい値を下回る場合、データが人に送信され、人がラベルを付けます。人がラベルを付けたデータの一部は、ラベル付けモデルの新しいトレーニングデータセットを生成するために使用され、モデルは精度を向上させるために自動的に再トレーニングされます。

詳細は以下ご覧ください。

aws.amazon.com

Apple

2018年から簡単に機械学習を実装できる環境を提供し始めました。今年はさらに強化されております。

Core ML

公式で用意している学習モデルが増えました。これらはモデルを作成する必要がなく利用が可能です。

  • 深度推定(単一画像からデプスの推定が可能)
  • 画像のセグメンテーション
  • オブジェクト検出

developer.apple.com

Create ML

ドラッグ&ドロップ機械学習のモデル作成が可能です。 物体検出、音・行動の分類など実装できる機能の種類が増えました。

f:id:omuriceman:20190623003046j:plain

Turi Create

PythonでCore MLモデルを作ることができるAppleのライブラリです。

One Shot Object Detectionという機能が追加されました。今までモデル作成にあたりたくさんの画像が必要でしたが、1枚の画像で物体検出が可能になります。

私もTuri Createを活用した画風変換のブログ記事を出しております。よければご覧ください。

omuriceman.hatenablog.com

AIサービス比較表

AIサービス群の比較をおこないます。単純な比較は難しいので詳細については別途お調べください。

機能 Google 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

各社の特徴

各社の強みや特徴についてまとめたいと思います。個人の見解も含まれている部分もありますのでご了承ください。

Google

マルチデバイス/クロスプラットフォーム

上記にも記載した通りWebブラウザでも動くしiOS/Androidアプリやラズベリーパイ/マイコンでも動かせる仕組みを公式でサポートしております。クラウドのAIサービスや無料のGPU学習環境のColaboratoryなどの提供もしており、Googleのサービスだけである程度の機械学習は実現できてしまうくらい網羅している印象です。

AIを普及させるための取り組み

GoogleはAIを普及させるために資料やデータセットを積極的に公開しています。

People + AI Guidebook

AIがユーザーにとって使いやすいサービスとなるためにどのような設計にすればいいのかを紹介している公式の資料になります。

pair.withgoogle.com

Machine Learning Fairness

機械学習を行う際に集めたデータセットの内容に偏りがでると差別や不公平な学習モデルが生まれてしまいます。 国籍や性別に影響されないデータセットを用意するためにGoogleがデータセットを公開しています。

storage.googleapis.com

今まで欧米のデータセットが多かったのですがこちらのデータはインド・アフリカ・中近東を中心に集められているので偏りが少ない機械学習が可能になるそうです。

AWS

ビジネスシーンに特化

  • Amazon Personalize | レコメンデーション機能

  • Amazon Forecast | 需要予測機能

これらはAmazonのリテールビジネスの予測に使われていたレコメンデーションや需要予測の機能をベースに作られている技術とのことです。Amazonクラウドベンダーでもありながら小売業でもあるため、かなりの期待が寄せられます。

継続的な機械学習ワークフローの実現

Amazon SageMaker Ground TruthやAWS Step Functions 、Amazon ECRなどAWSのサービスをフル活用し「データ収集→クリーニング→データ変換ラベル付け→トレーニング→モデル評価→本番にデプロイ→推論監視→データ収集」といったワークフローを楽にして継続的にチューニングする仕組みを導入しやすいです。

https://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/ml-concepts-10.png

Apple

AR体験を強化

  • People Occlusion(人を認識してARオブジェクトを隠す機能)
  • Motion Capture(体の動きを認識)

iOS13で搭載されるARKit3では、上記の機能でApple独自のMachine Learningが活用されています。

https://www.apple.com/newsroom/videos/apple-dev-tools-occlusion/posters/Apple-Dev-tools-people-occlusion-06032019_571x321.jpg.large.jpg

運動・健康促進

Apple Watchセンサーを利用してどんな動きをしているかを予測することができます。これを利用して日々の運動の可視化など健康促進に繋げることができますね。個人的には百式観音の動きをマスターできるようになりたいです。

f:id:omuriceman:20190621210551j:plain

ARもセンサーもOSからデバイスまでアップルが自社で管理しているからできることであり、強みなのではないかと考えられます。

まとめ

  • Google / AWS / Apple機械学習をより簡単にし誰でも扱えるような仕組みを提供し始めている
  • バイスの進化によりエッジ側で機械学習の推論する事例が増えてきており各社も推進している
  • 各社それぞれに強みがあり独自のノウハウを最大限に生かした機械学習を提供している
  • お互いの仕組みを要件に応じて組み合わせたりするのがいいかもしれない

参考にしたサイトや資料

WWDC

developer.apple.com

AWS Summit

dev.classmethod.jp

dev.classmethod.jp

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