【機械学習ツール徹底比較】Amazon SageMaker / Google AutoML / Microsoft ML / IBM AutoAI 使用事例と強み



#はじめに
Coming Soon

まずは各社の商品をざっくり紹介

AWS 
https://aws.amazon.com/machine-learning/

<img width="930" alt="Screen Shot 2019-10-15 at 16.39.52.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/76304/8ca78491-4afc-80c2-ac8e-7ec01fe46e05.png">
<img width="955" alt="Screen Shot 2019-10-15 at 16.40.00.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/76304/e00b769a-cf27-821b-64c4-cd38298ecfa2.png">

GCP

https://cloud.google.com/automl/

<img width="751" alt="Screen Shot 2019-10-15 at 16.41.40.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/76304/e31067f0-8a5d-1692-534d-ecd4459b0103.png">

https://cloud.google.com/products/ai/

![curating-online-content-with-google-ml-api-9-638.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/76304/2cf852a4-15f0-d83b-38f8-95548fce5c9b.jpeg)

Microsoft
https://azure.microsoft.com/en-us/services/cognitive-services/
<img width="1056" alt="Screen Shot 2019-10-15 at 16.46.47.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/76304/0f3fa5a0-129b-e09e-72df-803a2b7a1ae6.png">




#比較記事

AWS/Azure/GCPサービス比較 2019.09
https://qiita.com/hayao_k/items/906ac1fba9e239e08ae8

AI/機械学習のクラウドAPIってどんなものがあるの？AWS / Azure / GCP
https://localab.jp/blog/cloud-apis-for-ai-machine-learning-and-deep-learning/

「AWSとGCPを“選択可能”にしておく」LIFULLに学ぶ長生きするインフラ構築術
https://employment.en-japan.com/engineerhub/entry/2019/02/26/103000

#AWS

###事例

ZOZO Researchの研究活動を支える Amazon SageMaker 利用 導入課題の解決と展開(by zozo)
https://speakerdeck.com/kotatsu360/using-amazon-sagemaker-to-support-zozo-research-activities

DockerとAmazon SageMakerで実現した機械学習システムのプロダクション移行(by mamari)
https://speakerdeck.com/tatsushim/dockertoamazon-sagemakerdeshi-xian-sitaji-jie-xue-xi-sisutemufalsepurodakusiyonyi-xing

kurashiruにおけるSageMakerの活用(by kurashiru)
https://speakerdeck.com/kametaro/kurashiruniokerusagemakerfalsehuo-yong

[レポート] AWS の AI・機械学習系サービスは Game 開発でどう活用されるか聞いてきた
https://dev.classmethod.jp/cloud/aws/201908-report-amazon-game-tech-night-15-2/

10,000 人以上のお客様が機械学習に AWS を選択しています
https://aws.amazon.com/jp/machine-learning/customers/

dely株式会社における機械学習の取り組み
https://aws.amazon.com/jp/blogs/startup/x-dely-machine-learning/

第8回 Amazon SageMaker 事例祭り
https://aws.amazon.com/jp/blogs/news/amazon-sagemaker-fes-8/

機械学習で東京都の不動産の取引価格を予測する (Amazon Machine Learning)
https://blog.mmmcorp.co.jp/blog/2017/11/30/amazon-machine-learning/

###チュートリアル

機械学習モデルの構築およびトレーニング、デプロイ
https://aws.amazon.com/jp/getting-started/tutorials/build-train-deploy-machine-learning-model-sagemaker/

XG Boost / MNIST @SagaMaker祭り
https://pages.awscloud.com/rs/112-TZM-766/images/SageMaker_handson_guide.pdf

<img width="970" alt="Screen Shot 2019-10-01 at 11.06.32.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/76304/2fb062e0-838f-c2d4-af39-38bdc4a72213.png">

<img width="471" alt="Screen Shot 2019-10-01 at 11.08.21.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/76304/7ef3b2ec-7d6d-9f2d-50ba-09ec9118c0ca.png">


<img width="1290" alt="Screen Shot 2019-10-01 at 11.07.24.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/76304/5c8e18ad-fcb8-f7ce-c242-2ac693a7e877.png">


List of algorithm
https://docs.aws.amazon.com/sagemaker/latest/dg/algos.html
Common Elements of Built-in Algorithms
BlazingText Algorithm
DeepAR Forecasting Algorithm
Factorization Machines Algorithm
Image Classification Algorithm
IP Insights Algorithm
K-Means Algorithm
K-Nearest Neighbors (k-NN) Algorithm
Latent Dirichlet Allocation (LDA) Algorithm
Linear Learner Algorithm
Neural Topic Model (NTM) Algorithm
Object2Vec Algorithm
Object Detection Algorithm
Principal Component Analysis (PCA) Algorithm
Random Cut Forest (RCF) Algorithm
Semantic Segmentation Algorithm
Sequence-to-Sequence Algorithm
XGBoost Algorithm

####Amazon Comprehend の特徴
Amazon Comprehend は、機械学習を使用してテキストから洞察を見つける自然言語処理 (NLP) サービスです。Amazon Comprehend では、キーフレーズ抽出、感情分析、実体認識、トピック形成、言語検出 API を提供し、自然言語処理を簡単にお使いのアプリケーションに統合できます。Amazon Comprehend API をお使いのアプリケーションに読み込むだけで、ソースとなるドキュメントやテキストの場所がわかります。API は、エンティティ、キーフレーズ、感情、言語を、アプリケーションで使用できる JSON 形式で出力します。 
キーフレーズ抽出
キーフレーズ抽出 API は、キーフレーズまたは会話のポイント、およびそれがキーフレーズであることを裏付ける信頼性スコアを返します。 

例: この例では、お客様が DSLR カメラとインスタントフィルムカメラを比較しています。API はキーフレーズを抽出し、キーフレーズが繰り返される回数をカウントし、結果についての信頼性スコアを返します。  
感情分析
感情分析 API は、テキストの全体的な感情 (肯定的、否定的、中立的、または混在) を返します。

例: この例では、お客様が 1 足の靴についてのフィードバックを投稿しています。API は、信頼性スコアとともにお客様が表している感情を識別します。  
構文解析
Amazon Comprehend Syntax API を使用すれば、お客様は、トークン分割や品詞 (PoS) を使用してテキストを分析したり、テキスト内の名詞や形容詞などの単語境界やラベルを識別したりできます。 

例: この例では、Comprehend Syntax API を使用して短いドキュメントを分析します。Syntax API は、テキストをトークン分割 (単語境界を定義) して、名詞 や動詞などの関連する品詞で各単語にラベルを付けます。開始や終了を知らせ、テキスト内での単語の位置がわかるだけでなく、信頼性スコアも提供します。  
エンティティ認識
エンティティ認識 API は、提供されたテキストに基づいて自動的に分類される、名前付きエンティティ (「人」、「場所」、「位置」など) を返します。

例: この例では、会社の説明を見ています。API は、「組織」、「日付」、「位置」のようなエンティティを識別し、エンティティが言及された回数を数え、信頼性スコアを返します。  
		

####Medical Named Entity および Relationship Extraction (NERe)
Medical NERe API は、投薬、病状、検査、治療と手順 (TTP)、解剖学、および保護された健康情報 (PHI) などの医療情報を返します。また、Medications と TTP に関連付けされた抽出したサブタイプ間の関係性も識別します。エンティティの「特質」 (否定、または診断が徴候か症状である場合) として提供されるコンテクスト情報も識別します。下のテーブルは、関連するサブタイプとエンティティの特質を持つ、抽出した情報を示しています。
PHI のみを抽出するには、Protected Helath Information Data Identification (PHId) API を使用します。

例: この例では、入院時診療記録を見ています。API は医療情報を識別し、信頼スコアを返します。   
カスタムエンティティ
カスタムエンティティを使用すると、Amazon Comprehend をカスタマイズして、ドメインに固有の用語を識別できます。AutoML を使用して、Comprehend は小さなプライベートインデックスの例 (たとえば、ポリシー番号と使用されるテキストのリスト) から学習し、プライベートなカスタムモデルをトレーニングして、他のテキストブロックでこれらの用語を認識させます。管理するサーバーはなく、習得するアルゴリズムもありません。 

例: この例では、保険会社が、ビジネス、ポリシー番号に固有のエンティティのテキストドキュメントを分析したいと考えています。  
言語検出
言語検出 API は、100 を超える言語で書かれたテキストを自動的に識別し、主要言語と、言語が主要であることを裏付ける信頼性スコアを返します。 

例: この例では、API はテキストを解析し、信頼性スコアとともにテキストの主要言語をイタリア語として識別することができます。  

####カスタム分類子
カスタム分類子 API を使用すると、ML を学習することなく、ビジネス特有のラベルを使用してカスタムのテキスト分類モデルを簡単に構築できます。たとえば、カスタマーサポート組織はカスタム分類子を使用して、顧客がどのように問題を記述したかを元に、インバウンドリクエストを問題のタイプで自動的に分類できます。カスタムモデルの作成はシンプルです。使用するラベルごとにテキストの例を与えると、Comprehend はカスタムモデルを作成するためにそこに照準をあてます。機械学習の経験を必要としないので、一行のコードも使用することなくカスタムモデルを構築できます。SDK を使用すると、顧客分類機能を現在のアプリケーションに統合することができます。カスタムモデルを使用すると、ウェブサイトのコメントの調整、お客様からのフィードバックのトリアージ、ワークグループドキュメントの整理が簡単にできます。詳細については、このドキュメントページをご覧ください。 

例:航空会社でカスタマーサポートへのフィードバックを整理してみるとします。各フィードバックを、会計の疑問、チケットの払い戻し、フライトへの苦情に整理しようと思います。このサービスをトレーニングするには、それぞれの問題からテキストの例を含む CSV ファイルを作成し、各サンプルに該当する 4 つのラベルのいずれかを付けます。このサービスでは、お客様に代わってカスタムモデルを自動的にトレーニングします。翌日にモデルを使用してすべての通話を分析するには、各テキストファイルをサービスに送信し、ラベル一致の信認とともに、ラベルの付いた結果を受け取ります。  

####トピックモデリング
トピックモデルは、Amazon S3 に格納された一連のドキュメントから、関連する用語またはトピックを識別します。コレクション内の最も一般的なトピックを識別し、それらをグループに整理し、次にどのドキュメントがどのトピックに属しているかをマップします。 

例: ドキュメント (Doc1.txt、Doc2.txt、Doc3.txt、および Doc4.txt) が Amazon S3 に保存されているときに、Amazon Comprehend をその位置にポイントすると、Comprehend はドキュメントを分析して 2 つのビューを返します。 
多言語サポート

Amazon Comprehend は、英語とフランス語、ドイツ語、イタリア語、ポルトガル語、およびスペイン語のテキストのテキスト分析を実行できます。これにより、複数の言語でテキストを検出し、Amazon Translate でテキストを英語、フランス語、ドイツ語、イタリア語、ポルトガル語、またはスペイン語に変換してから、Amazon Comprehend を使用してテキスト分析を実行できるアプリケーションを構築できます。


####Amazon Personalize
https://aws.amazon.com/personalize/
<img width="1258" alt="Screen Shot 2019-10-03 at 11.01.38.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/76304/11d0ce4b-6316-494c-7521-da30662432f0.png">

Amazon Personalizeは、開発者がアプリケーションを使用する顧客向けに個別の推奨事項を簡単に作成できるようにする機械学習サービスです。

機械学習は、パーソナライズされた製品とコンテンツの推奨事項、カスタマイズされた検索結果、ターゲットを絞ったマーケティングプロモーションにより、顧客エンゲージメントを向上させるためにますます使用されています。ただし、これらの洗練された推奨システムを作成するために必要な機械学習機能の開発は、複雑さのために今日のほとんどの組織の手の届かないところにあります。Amazon Personalizeを使用すると、以前の機械学習経験のない開発者は、Amazon.comで長年使用してきた機械学習テクノロジーを使用して、洗練された個人化機能をアプリケーションに簡単に組み込むことができます。

Amazon Personalizeを使用すると、クリック、ページビュー、サインアップ、購入などのアプリケーションからのアクティビティストリームと、記事、製品、ビデオ、音楽などの推奨アイテムのインベントリを提供します。また、年齢や地理的位置など、ユーザーからの追加の人口統計情報をAmazon Personalizeに提供することもできます。Amazon Personalizeは、データを処理および検査し、意味のあるものを特定し、適切なアルゴリズムを選択し、データに合わせてカスタマイズされたパーソナライズモデルをトレーニングおよび最適化します。Amazon Personalizeによって分析されるすべてのデータは非公開で安全に保たれ、カスタマイズされた推奨事項にのみ使用されます。シンプルなAPI呼び出しを使用して、パーソナライズされた推奨事項の提供を開始できます。使用した分だけお支払いいただき、最低料金や前払いの義務はありません。

Amazon Personalizeは、1日24時間、Amazon.comの機械学習パーソナライズチームを自由に使用できるようなものです。

####Amazon Forecast
https://aws.amazon.com/forecast/

<img width="1262" alt="Screen Shot 2019-10-03 at 11.01.55.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/76304/be99cd7e-16ee-6c38-3dde-4702ed5bed7b.png">

Amazon Forecastは、機械学習を使用して非常に正確な予測を提供する完全に管理されたサービスです。
今日の企業は、単純なスプレッドシートから複雑な財務計画ソフトウェアまですべてを使用して、製品の需要、リソースのニーズ、財務実績などの将来のビジネス成果を正確に予測しようと試みています。これらのツールは、時系列データと呼ばれる過去の一連のデータを見て予測を構築します。たとえば、そのようなツールは、将来が過去によって決定されるという根本的な仮定を使用して、以前の販売データのみを調べることにより、レインコートの将来の販売を予測しようとする場合があります。このアプローチでは、不規則な傾向を持つ大量のデータの正確な予測を作成するのに苦労する可能性があります。また、時間とともに変化するデータシリーズ（価格、値引き、ウェブトラフィック、従業員数など）と製品機能や店舗の場所などの関連する独立変数を簡単に組み合わせることができません。
Amazon.comで使用されているのと同じテクノロジーに基づいて、Amazon Forecastは機械学習を使用して時系列データを追加変数と組み合わせて予測を構築します。Amazon Forecastを開始するには、機械学習の経験は必要ありません。履歴データと、予測に影響する可能性があると思われる追加データのみを提供する必要があります。たとえば、シャツの特定の色に対する需要は、季節や店舗の場所によって変わる場合があります。この複雑な関係を単独で判断するのは困難ですが、機械学習はそれを認識するのに理想的です。データを提供すると、Amazon Forecastは自動的にデータを調べ、意味のあるものを特定し、時系列データのみを見るよりも最大50％正確な予測を行うことができる予測モデルを作成します。
Amazon Forecastは完全に管理されたサービスであるため、プロビジョニングするサーバーや、構築、トレーニング、デプロイする機械学習モデルはありません。使用した分だけお支払いいただき、最低料金や前払いの義務はありません。




#GCP

###AutoML

###事例

株式会社LIFULL の導入事例：物件画像のカテゴリー分類を AutoML で自動化。数十秒かかっていた分類を自動化で 2 秒に(by LIFULL)
https://cloudblog.withgoogle.com/ja/topics/customers/automl-lifull/amp/

クックパッドにおけるCloud AutoML事例(by cookpad)
https://speakerdeck.com/chie8842/kutukupatudoniokerucloud-automlshi-li

Cloud AutoML
https://cloud.google.com/automl/?hl=ja

###AutoML vs DataRobot比較

###チュートリアル
AutoML Vision ドキュメント
https://cloud.google.com/vision/automl/docs/?hl=ja

#Azure

###事例
Azure によりすばらしい成果を上げているお客様
https://azure.microsoft.com/ja-jp/case-studies/

###チュートリアル
Azure Machine Learning のドキュメント
https://docs.microsoft.com/ja-jp/azure/machine-learning/


#IBM

###AutoAI

最近IBM CloudのWatson StudioでもAutoAIという自動的に機械学習モデルを作るサービスを提供しています。
簡単なガイドをqiitaにアップしていますので、是非お試し下さい。

https://qiita.com/makaishi2/items/d63f0bbac32a975c391e

https://qiita.com/makaishi2/items/d6cd449f7a9f7186a833

https://qiita.com/makaishi2/items/e5ad4d068bd364fdc056

#その他

###GPU Eater
###Antonio's favorite