[Developers Summit 2017] MicrosoftのAI開発機能/サービス
-
Upload
naoki-sato -
Category
Software
-
view
727 -
download
1
Transcript of [Developers Summit 2017] MicrosoftのAI開発機能/サービス
東京大学 特任准教授松尾 豊 氏 による AI 発展の系譜
総務省「AIネットワーク社会推進会議」資料
過去のデータの傾向をモデル(数式やルール)に変換
→過去の傾向から未来を予測
傾向のモデル化と予測
データを多次元空間にマップして、近いデータを集めてグループ化
→人間には判別できない類似傾向をもつグループを発見
多次元空間での集約
大量のデータ項目 (変数)の関連性を高速に計算し、関係を可視化
→業務環境の状況把握や、経年変化などを察知
関連性の高い変数の組み合わせ発見
性別 年齢 配偶者 子供人数
…
製品カテゴリ
男性 19 無 0 1
女性 44 有 2 3
男性 49 有 1 2
男性 12 無 0 3
女性 37 無 0 1
女性 60 有 2 4
男性 44 有 1 2
女性 27 有 0 4
女性 51 有 3 2
女性 81 有 2 1
男性 22 無 0 3
男性 29 無 0 2
性別:男
年齢:45
配偶者:有
子供人数:2
“商品カテゴリ2”
・・・・・
・・・・・
・・・・・
・・・・・
・・・・・
Microsoft の AI 分野での取り組み
Bing maps
提供開始
目的地への
最短経路
Microsoft
Research
設立
Hotmail
提供開始
迷惑メールの
判別
Bing search
提供開始
最適な
検索結果
1991 20091997 2008
Kinect
販売開始
人の動きを
認識する
Azure ML
提供開始
将来起こること
の予測
Skype
Translator
提供開始
人の言葉を
認識する
2014 20152010
CNTK
OSS公開
深層学習
ツールキット
2016
Cognitive
Services
提供開始
知覚・記憶・
判断・推理
2016
クラウド
ロボティクス分野
戦略提携
Pepper による
次世代型店舗
2016
Microsoft AI
andResearch
Group
設立
2016
りんな
提供開始
会話型
AI
2015
アプリケーション インフラエージェント サービス
Microsoft AI and Research Group5,000 人以上の AI 専門チーム アプローチ
Cortana のような AI を利用したエージェントにより、人とコンュータのやりとりを根本的に変える。
写真アプリ、Skype, Office 365 等の全てのアプリケーションに AI を取り入れる。
認知機能、機械学習を利用した分析などのインテリジェント機能を全てのアプリケーション開発者に提供する。
Azureを利用して、世界で最も強力な AIスーパーコンピュータを構築し、誰でも利用できるようにする。
• Personal Digital Assistant :人工 AI 秘書
• Cortana for Android, Cortana for iPadリリース済み。Cortana Devices SDK 発表
• Cortana に対応したアプリ開発も可能
• IM
50以上の言語サポート
• 通話
中国語, 英語, フランス語, ドイツ語, イタリア語, ポルトガル語,スペイン語, アラビア語, ロシア語
https://www.microsoft.com/en-us/translator
LINE ID:@ms_rinna
AI の民主化
Action
People
Automated Systems
Apps
Web
Mobile
Bots
Intelligence
Dashboards & Visualizations
Cortana
Bot Framework
Cognitive Services
Power BI
Information Management
Event Hubs
Data Catalog
Data Factory
Machine Learning and Analytics
HDInsight
Stream Analytics
Intelligence
Data Lake Analytics
Machine Learning
Big Data Stores
SQL Data Warehouse
Data Lake Store
Data Sources
Apps
Sensors & Devices
Data
Cortana Intelligence Suite
AI 利用 → Machine Learning へのステップ
人工知能パーツを用いたWebサービス
を試す
人工知能パーツを使う
自分でモデルを作成するMLテンプレート
を使う(既存のモデル) ・R
・Python・SPSS・SAS
・Hadoop・Spark
Cognitive Services
Azure Machine Learning
How-Old.net
機械学習 教師あり学習
教師なし学習
強化学習
決定木
線形回帰
SVM
ロジスティック回帰
ニューラルネットワーク
クラスタリング
次元削減
Q学習
K-mean法
主成分分析
正準相関分析
ディープニューラルネットワーク
畳みこみニューラルネットワーク
再帰的ニューラルネットワーク
回帰結合ニューラルネットワーク
→ MLによるモデルを自作せずに結果だけ利用
Face
ComputerVision
Emotion
Video
Speaker Recognition
CustomSpeech
Bing Speech
LinguisticAnalysis
LanguageUnderstanding
BingSpell Check
Web LanguageModel
Text Analytics
KnowledgeExploration
Entity Linking
AcademicKnowledge
QnA Maker
Bing Image Search
Bing Video Search
Bing Web Search
Bing Autosuggest
Bing News Search
Translator
ContentModerator
Recommendations
Face
ComputerVision
Emotion
Video
Speaker Recognition
Bing Speech
LinguisticAnalysis
LanguageUnderstanding
BingSpell Check
Web LanguageModel
Text Analytics
KnowledgeExploration
Entity Linking
AcademicKnowledge
Bing Image Search
Bing Video Search
Bing Web Search
Bing Autosuggest
Bing News Search
Translator
ContentModerator
QnA Maker
Recommendations
CustomSpeech
CustomSpeech
LinguisticAnalysis
LanguageUnderstanding
BingSpell Check
Web LanguageModel
Text Analytics
KnowledgeExploration
Entity Linking
AcademicKnowledge
Bing Image Search
Bing Video Search
Bing Web Search
Bing Autosuggest
Bing News Search
Translator
QnA Maker
Recommendations
Face
ComputerVision
Emotion
Video
Speaker Recognition
Bing Speech
ContentModerator
見る+認知機能
導入事例:東京サマーランド様
CustomSpeechFace
ComputerVision
Emotion
Video
Speaker Recognition
Bing Speech
LinguisticAnalysis
LanguageUnderstanding
BingSpell Check
Web LanguageModel
Text Analytics
KnowledgeExploration
Entity Linking
AcademicKnowledge
Bing Image Search
Bing Video Search
Bing Web Search
Bing Autosuggest
Bing News Search
Translator
ContentModerator
QnA Maker
Recommendations
言語+認知機能
ダイアログ形式のコミュニケーションを実装(C#, Node.js)
BOT アプリをメッセージングサービスに接続
Bing, Cortana などから利用できるディレクトリに登録
http://www.nri.com/Home/jp/news/2015/151221_1.aspx
http://www.headwaters.co.jp/news/pepper/SynApps.html
https://www.microsoft.com/cognitive-services/en-us/pricing
https://www.luis.ai/
https://www.cris.ai/
https://portal.azure.com
48
49
※ Wikipedia より引用
定型レポート(SSRS)
セルフサービス BI
(Power BI)
マシンラーニング(Azure ML)
機械学習とデータマイニングは交差する部分が大きく、技法も同じなので混同されることが多いが、次のように定義できる。
• 機械学習の目的は、訓練データから学んだ「既知」の特徴に基づく予測である。• データマイニングの目的は、それまで「未知」だったデータの特徴を発見することである。
• レコメンデーション• 同じ商品を買った人が買った別のアイテムを お勧め商品として提示
• 同じ属性を持った人が買った商品を お勧め商品として提示
• 分類• メール本文・タイトルの内容からスパムメールの分類
• Web サイトの行動履歴から不正ユーザの検出
• 異常検知• センサー情報に基づく機械故障予測
• NW アクセス情報から不正アクセスや攻撃を検知
• ユーザ属性の推定• 属性情報が完全に取れているお客様のデータから、属性情報に欠損のあるお客様の属性情報を推定
50
5151
機械学習 教師あり学習
教師なし学習
強化学習
決定木
線形回帰
SVM
ロジスティック回帰
ニューラルネットワーク
クラスタリング
次元削減
Q学習
K-mean法
主成分分析
正準相関分析
ディープニューラルネットワーク
畳みこみニューラルネットワーク
再帰的ニューラルネットワーク
回帰結合ニューラルネットワーク
• クラウドベースの機械学習実行基盤
• 機械学習の「モデル作成」「モデルの評価」から、作成した分析モデルのデプロイ( Web サービス化)まで、機械学習 の開発~サービス提供で必要となるすべてのコンポーネントを PaaS で提供
Microsoft Azure Machine Learning
開発環境
予測モデルのデプロイ( Web サービス )
52
熟練者のノウハウをサービス化して世界に展開
53
経営課題• 高度な予兆保全サービスによる連続稼働性の向上と、低コストの保守ビジネスによる利益確保を両立したい
• 急成長するアジア市場で保守技術者の大量育成が必要
効果
解決策
“我々は予防保全の業界標準の先を行き、先取りした予兆的な保全を行うことにより、より高い稼働時間を保証したかった”
ANDREAS SCHIERENBECK
CEO
ThyssenKrupp Elevator
• ThyssenKrupp とその顧客の保守費用を削減
• 予測モデルの精度を向上し、急成長する市場の未熟な保守技術者も活用
• エレベーターの稼動データをリアルタイムに監視・見える化し、PCやモバイルでどこでも活用
• 問題発生時の対処方法のノウハウを機械学習でシステムに学ばせ世界中に展開
5454
デバイス・コネクティビティ
データ収集とブローカーサービス
イベント処理とデバイス管理
データ管理(変換・蓄積・処理)
高度な分析(Big Data 処理)
データの提供と表現・気づき
モビリティとコラボレーション
ISS Agent
ISS Gateway
Event Hub
Blob Storage
マシンデータの蓄積
Azure ML予兆の学習モデル
Azure ML
修繕方法の学習モデル
ダッシュボード
参照 • 顧客• 設備• 担当者
Notification
Hubs通知
予兆イベント
修繕方法の推奨
• ヘルス状態• インシデント管理• 対応のディスパッチ
現地技術要員のモバイルデバイス
オペレーションセンター
Power BIセルフサービス分析
『ThyssenKrupp teams up with Microsoft to create ‘smart’ elevators』
http://blogs.microsoft.com/firehose/2014/09/30/thyssenkrupp-teams-up-with-microsoft-to-create-smart-elevators/
数千のシステムとセンサー データ• イベント :
✓ドア開閉、軸アライメント、キャビン速度、モーター温度など
• アラーム :
✓故障アラーム、エラーコードなど
Azure ML を用いてビルの熱源・動力の制御モデルを構築し、自動制御を実施
55
① 建物の情報を Microsoft Azureにリアルタイム送信
② 機械学習 Microsoft Azure Machine Learning によりデータを解析・学習し、建物にフィードバック
これまでのビル設備管理は“経験と勘”に頼っていたが、今回の連携とクラウド化によって、実データに基づく制御モデルの構築や管理の自動化が可能となり、ビルの使用エネルギー効率化と管理負担の軽減が実現する
ビジネス課題
• ゲーム開始直後 (3ヶ月以内) に解約する会員の増加
• 解約が予期される会員への早期のアクションが必要
• アクティブ期間が伸びるほど収益への影響が大きい
利用データ最初の3日間の下記データを基に150以上のパターン化(数十TB以上)
• Engagement(各セッションや日毎の利用時間)
• Performance(ランキング、勝利数、敗退数)
• Social(友人や他ユーザーとの同時プレイ数)
モデリング• パターン化されたユーザー毎に次の7日間の行動を分析
• 1 週間分のデータを基にモデルのテストを実施(Boosted Decision Tree を活用)
効果 ランダム抽出による従来の分析方法に
比較して、3倍以上の精度で解約する会員を特定
AUC*:0.779
影響を与えた主要な項目:
・友人とのプレイ数
・3日目のプレイ数
・3日目のプレイヤーの Grade
*AUC (Area under the carve)
AUC 0.9 - 1.0 High accuracyAUC 0.9 - 0.7 Moderate accuracyAUC 0.5 - 0.7 Low accuracy
5757
1. トレーニングデータ(実績データ)の準備• 予測モデルを作成する為のトレーニングデータ(実績データ)を準備
例:顧客属性によるお勧め商品の提示(リコメンデーション)を行いたいのであれば、どういった属性情報のお客様が、どういう商品を買ったのかという実績データが必要
2. 予測モデルの開発と評価
3. 予測モデルの公開(Web サービス)• 作成した予測モデルは、非常に簡単な操作でWebサービスとして公開可能。
58
①部品をドラッグ&ドロップ
②各部品のプロパティーを設定
59Azure ML Studio の基本的な使い方
①部品をドラッグ&ドロップ
②各部品のプロパティーを設定
60Azure ML Studio の基本的な使い方
61
62
性別 年齢 配偶者 子供人数
…
製品カテゴリ
男性 19 無 0 1
女性 44 有 2 3
男性 49 有 1 2
男性 12 無 0 3
女性 37 無 0 1
女性 60 有 2 4
男性 44 有 1 2
女性 27 有 0 4
女性 51 有 3 2
女性 81 有 2 1
男性 22 無 0 3
男性 29 無 0 2
トレーニングデータ(実績データ)を元に予測モデルを作成
Azure Machine Learning ではトレーニングデータを使ってモデルの学習を行い、予測モデルを作成
性別:男
年齢:45
配偶者:有
子供人数:2
63
Azure Machine Learning では、以下のシステム・サービスからトレーニングデータをロード可能
CSV, TSV, ARFF, SvmLight 形式
HDInsight
(Hadoop)
Azure SQL Database
Azure テーブル
OData
業務システム OData
Training
Data
Azure
Machine Learning
64
Train
Model
Score
Model
検証用データ
トレーニングデータ
Evaluate
Model
機械学習アルゴリズム
予測モデルの評価予測モデルの見直し• アルゴリズムの変更
• パラメータの見直し
66
トレーニングデータの読込み
データクレンジング・メタデータ設定
読み込んだデータを「トレーニングデータ」と「評価用
データ」に分割
予測モデルの作成に使用するアルゴリズム
予測モデルの作成(トレーニング)
左インプット:利用するアルゴリズム右インプット:トレーニングデータ
作成した予測モデルを評価する為に、評価用データで予測を実行
予測結果の評価と可視化
67
ML Studio : Experiments > Evaluate Model > Evaluation Result
• True Positive
• False Positive
• True Negative
• False Negative
• Accuracy
• Precision
• Recall
• F1 Score
• Threshold
• AUC
✓ AUC 0.9 - 1.0 High accuracy✓ AUC 0.9 - 0.7 Moderate accuracy✓ AUC 0.5 - 0.7 Low accuracy
68
予測モデルの公開(Web サービス)
69
70
② Web サービスのInput / Output を設定
③「 PREPARE WEB SERVICE 」ボタンをクリックすると Web サービスが
作成される
① Deploy 用のExperiment を作成
71
WEBサービスは「REQUEST/RESPONSE」「BATCH
EXECUTION」の2種類が作成される
API Help Pageで作成された Web サービスの詳細を確認可能
Web フォーム、Excel を使ってWeb サービスや予測モデルの確認・評価を行う事が可能
✓ REST API. POST リクエスト
✓ HTTP の Req/Res の body は JSON 形式
✓ REST API. 入力として各種データソースが指定可能。Azure Blob/Azure Table/Azure SQL Database/HiveQL/HTTP
✓ レスポンスとして “JOBID” が返ってくる。それを基にバッチジョブの状態を定期チェック
✓ 状態が Finished/Failed になったら処理結果を取得結果は Azure Blob に出力される
73
• Request-Response Service✓ Web サービス URI
✓ インプットパラメータ✓ アウトプットパラメータ✓ サンプルコード( C# / Python / R )
• Batch Execution Service (BES)• Web サービス URI• ジョブの投入方法• ジョブステータス確認方法• ジョブのキャンセル方法• サンプルコード( C# / Python / R )
74
① Excel シートにパラメータを入力
② 予測結果が表示される
① Webフォームに入力パラメータを設定
② クリックすると予測結果が表示される
Training
Data
Web
Service
Azure Machine Learning
Microsoft Azure
75
Webシステム
Azure Blob ストレージ
Hive
Azure SQL Database
Azure テーブル
業務システム
OData
OData
HDInsight
( Hadoop )
他システム
Power View 等のデータ分析・可視化
ツール
Azure Blob ストレージ
Azure SQL
Database
Batch Execution
Service
Request-Response
Service
評価モデル作成
(Training)
76
77
78
79
80
R 言語対応
• Execute R Script / Create R Model モジュール• R スクリプトの記述と実行を制御する Azure ML のモジュール• 良く利用される 400 以上の標準的な R パッケージを事前ロード済み• カスタムパッケージを作成、ロードして利用する事も可能。
Execute R Script• 主にデータ加工とプロット(可視化)に利用
Create R Model• 機械学習の独自アルゴリズムの実装に利用• Training Script(機械学習のアルゴリズム) と
Scoring Script (予測モデルの評価用スクリプト)の2つを記述
80
Execute R Script モジュール の例R スクリプトを記述
Execute R Script モジュール
カスタムパッケージ (Zip)
81
Python 対応
• Execute Python Script モジュール• Python Script の記述と実行を制御する Azure ML のモジュール• 「データ加工」「予測結果のプロット」等に利用可能• Python の実行環境には、データ分析・科学技術計算ライブラリが豊富な
Anaconda ディストリビューションを採用• カスタムパッケージを作成、ロードして利用する事も可能
Execute R Script モジュール の例
カスタムパッケージ (Zip)
Execute R Script Python スクリプトを記述
82
依存関係のある R パッケージ (.zip) をまとめて ZIP 化して、”+NEW” で Dataset としてアップロードする
Saved Datasets からアップロードした Dataset を Drag & Dropし、R 実行モジュールの Script Bundle Port (一番右側の入力ポート) に接続し、install.packages を利用して ZIP 内の R パッケージを読み込む
➢ 読み込み先としてセットするパスの “src/” 部分は固定
スクリーンショットは、RHmm モジュールを読み込んで利用している例。依存関係のある MASS と nlme を含めている。
• Microsoft Azure Machine Learning Centerhttp://azure.microsoft.com/ja-jp/documentation/services/machine-learning/
• Azure Machine Learning Support Forumhttp://social.msdn.microsoft.com/forums/azure/en-US/home?forum=MachineLearning
• Machine Learning Bloghttp://blogs.technet.com/b/machinelearning/
83
84
Cognitive Toolkit | Caffe | TensorFlow | Torch
Azure N シリーズ GPU インスタンス2 種類の NVIDIA GPUを搭載
サイズ コア数 メモリ SSD RDMA GPU
NV6 6 56 GB 380 GB -M60 半分 (GPU 1
基)
NV12 12 112 GB 680 GB - M60 1枚 (GPU 2基)
NV24 24 224 GB 1.5 TB - M60 2枚 (GPU 4基)
NC6 6 56 GB 380 GB - K80 半分 (GPU 1基)
NC12 12 112 GB 680 GB - K80 1枚 (GPU 2基)
NC24 24 224 GB 1.5 TB - K80 2枚 (GPU 4基)
NC24r 24 224 GB 1.5 TBInfiniBan
dK80 2枚 (GPU 4基)
Visualization の
NV 系
Tesla M60搭載
Compute の
NC 系
Tesla K80 搭載
Deep Learning はこちら
• 世界記録を達成した MS Research のスピーチ研究チームが開発
• MIT や Stanford 等の様々な研究者と共同作業で改定中
• Python, C++, BrainScript
Theano only supports 1 GPU
We report 8 GPUs (2 machines) for CNTK only as it is the only
public toolkit that can scale beyond a single machine. Our
system can scale beyond 8 GPUs across multiple machines
with superior distributed system performance.
0
10000
20000
30000
40000
50000
60000
70000
80000
CNTK Theano TensorFlow Torch 7 Caffe
Speed Comparison (Frames/Second, The Higher the Better)
1 GPU 1 x 4 GPUs 2 x 4 GPUs (8 GPUs) 2015年7月時点
Cognitive Toolkit による自動応答システムの実現
本書に記載した情報は、本書各項目に関する発行日現在の Microsoft の見解を表明するものです。Microsoftは絶えず変化する市場に対応しなければならないため、ここに記載した情報に対していかなる責務を負うものではなく、提示された情報の信憑性については保証できません。
本書は情報提供のみを目的としています。 Microsoft は、明示的または暗示的を問わず、本書にいかなる保証も与えるものではありません。
すべての当該著作権法を遵守することはお客様の責務です。Microsoftの書面による明確な許可なく、本書の如何なる部分についても、転載や検索システムへの格納または挿入を行うことは、どのような形式または手段(電子的、機械的、複写、レコーディング、その他)、および目的であっても禁じられています。これらは著作権保護された権利を制限するものではありません。
Microsoftは、本書の内容を保護する特許、特許出願書、商標、著作権、またはその他の知的財産権を保有する場合があります。Microsoftから書面によるライセンス契約が明確に供給される場合を除いて、本書の提供はこれらの特許、商標、著作権、またはその他の知的財産へのライセンスを与えるものではありません。
© 2016 Microsoft Corporation. All rights reserved.
Microsoft, Windows, その他本文中に登場した各製品名は、Microsoft Corporation の米国およびその他の国における登録商標または商標です。
その他、記載されている会社名および製品名は、一般に各社の商標です。