[microsoft cognitive toolkit (cntk) on azure ハンズオン] microsoft azure の ai...
TRANSCRIPT
1
2
• •
・・・・・
・・・・・
・・・・・
・・・・・
・・・・・
Platform Services
Infrastructure Services
Web Apps
MobileApps
APIManagement
API Apps
Logic Apps
Notification Hubs
Content DeliveryNetwork (CDN)
Media Services
BizTalkServices
HybridConnections
Service Bus
StorageQueues
HybridOperations
Backup
StorSimple
Azure SiteRecovery
Import/Export
SQL Database
DocumentDB
RedisCache
AzureSearch
StorageTables
DataWarehouse
Azure AD Health Monitoring
AD PrivilegedIdentity Management
OperationalAnalytics
Cloud Services
BatchRemoteApp
ServiceFabric
Visual Studio
AppInsights
Azure SDK
VS Online
Domain Services
HDInsight MachineLearning
StreamAnalytics
Data Factory
EventHubs
MobileEngagement
Data Lake
IoT Hub
Data Catalog
Security & Management
Azure ActiveDirectory
Multi-FactorAuthentication
Automation
Portal
Key Vault
Store/Marketplace
VM Image Gallery& VM Depot
Azure ADB2C
Scheduler
The Azure Platform
99アクション
人
自動化されたシステム
アプリ
Web
モバイル
Bots
インテリジェンス
ダッシュボード &
可視化
Cortana
Bot
Framework
Cognitive
Services
Power BI
データの取得
Event Hubs
Data Catalog
Data Factory
機械学習/分析
HDInsight
(Hadoop and
Spark)
Stream Analytics
インテリジェンス
Data Lake
Analytics
Machine
Learning
データの格納
SQL Data
Warehouse
Data Lake Store
データソース
アプリ
センサー/
デバイス
データ
企業内に散在するデータを収集し、整理し、分析/学習し、アクションにつなげる
End-to-Endのサービスを提供
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
LINE:女子高生人工知能「りんな」
https://blogs.bing.com/japan/2015/08/07/aijk_rinna/
Microsoft Cognitive Services とは
Web API 経由で利用できる “人工知能パーツ”
Microsoft Cognitive Services とは
Web API 経由で利用できる “人工知能パーツ”
Microsoft Cognitive Services とは
Web API 経由で利用できる “人工知能パーツ”
Microsoft Cognitive Services 一覧
Face
ComputerVision
Emotion
Video
Speaker Recognition
CustomRecognition
Bing Speech
LinguisticAnalysis
LanguageUnderstanding
BingSpell Check
Web LanguageModel
Text Analytics
KnowledgeExploration
Entity Linking
AcademicKnowledge
Recommendations
Bing Image Search
Bing Video Search
Bing Web Search
Bing Autosuggest
Bing News Search
Translator
ContentModerator
18
Cognitive Services:Face API画像を分析し、複数人の顔を自動認識。顔検知機能、顔のグルーピング機能、顔の人物特定機能などを提供する
https://www.microsoft.com/cognitive-services/en-us/face-api
顔から人物を特定
210人の顔を登録
2秒弱で特定完了
19
Cognitive Services:Emotion API画像や動画を分析し、人の感情を自動的に認識。怒り・軽蔑・嫌悪・怖れ・幸福・中立・悲しみ・驚きの8つの要素を確率で回答
https://www.microsoft.com/cognitive-services/en-us/emotion-api
感情を自動認識
20
Cognitive Services:Computer Vision API画像を分析し、2,000 に及ぶ物体を自動的に認識。自動タグ生成機能、自動説明機能、OCR 機能、サムネイル機能などを提供する
https://www.microsoft.com/cognitive-services/en-us/computer-vision-api
写真の中にある物体を自動認識しタグとして生成
Cognitive Services:Video API動画の安定化機能、動画から人の顔を認識・トラッキングする機能、動きを自動的に検出する機能、
サムネイル動画を自動作成する機能などを提供
https://www.microsoft.com/cognitive-services/en-us/video-api
動画の揺れを自動補正して、安定化
動画の中から人の顔を認識し自動的に追跡
Cognitive Services:Bing Speech API音声を認識しテキスト化する機能、テキストを認識し音声出力する機能などを提供
https://www.microsoft.com/cognitive-services/en-us/speech-api
話している内容を自動的にテキスト化
Cognitive Services:LUIS API会話を学習し、会話の内容から何をしたいのかを理解する
https://www.microsoft.com/cognitive-services/en-us/language-understanding-intelligent-service-luis
航空券予約であることを認識
(86%の信頼確率)
Cognitive Services:Text Analytics APIテキストを解析し、言語の自動特定、キーフレーズの自動抽出、ポジティブかネガティブかの感情の自動判別を行う
https://www.microsoft.com/cognitive-services/en-us/text-analytics-api
文章からキーフレーズを自動認識
日本語の入力を分析するには?
Language: ja
keyPhrases: Azure
Cognitive Services で広がるサービスの可能性
製品の評判分析、要求分析
“(want to|request)”
HoloLens
・・・・・
・・・・・
・・・・・
・・・・・
・・・・・
・・・・・・・・・・
・・・・・
・・・・・
・・・・・
・・・・・
・・・・・
・・・・・
Computer Vision APIとBing Speech API 組み合わせ例
画像ファイル
テキストファイル
画像ファイルの送信
テキストファイル生成
撮影(画像ファイル生成検知)
実行スクリプト
画像表示・キャプション発声(HTML/JavaScript)
周期監視
Computer Vision API Describe Image機能
Microsoft
Cognitive Services
Bing Speech APIText To Speech機能
組み込みWebサーバ
SDカード
合成音声で発声”a cat is sitting
in the grass”
”a cat is sitting in the grass”
a cat is sitting in the grass
Face APIとBing Speech API 組み合わせ例
カメラ
カメラの前にいる人の画像
音声ガイダンス「写真を撮ってください」
ID用カメラ
写真付ID
音声ガイダンス「コードを入力してください」
カメラ画像とIDの画像を照合
アプリケーションの利用
音声ガイダンス「確認できました」
Cognitive Services 活用事例
Cognitive Services 活用事例
The Economist
Election 2016 Emotion Tracking
Cognitive Services 事例:対話型自動販売機
http://www.nri.com/Home/jp/news/2015/151221_1.aspx
Cognitive Services 事例:顔認識による Pepper 応対
http://www.headwaters.co.jp/news/pepper/SynApps.html
Cognitive Services 活用事例
株式会社アロバ様
アロバビューコーロ
Cognitive Services 料金体系
基本的に無料
https://www.microsoft.com/ cognitive-services/en-us/pricing
https://www.luis.ai/
https://www.cris.ai/
https://portal.azure.com
Microsoft Bot Framework
Bot とは?
Bot Framework とは?
ダイアログ形式のコミュニケーションを実装(C#, Node.js)
BOT アプリをメッセージングサービスに接続
Bing, Cortana などから利用できるディレクトリに登録
Microsoft Bot Framework
BOT アプリを容易に作成するフレームワーク
Bot Framework 活用事例
株式会社ZEALS 様
BOT TREE for MEDIA
Bot Framework 活用事例
高知銀行
(株式会社NextStreamer & 株式会社ブイキューブ)
店頭受付応答BOT「頭取くんと秘書子ちゃん」
AI & Bot に注目する理由
• いつでもどこでも
• ユーザーが使い慣れたツールを経由して、商品やサービスを提供可能
• 自然言語に近く、意図を類推しやすい
• パーソナライズ、パターン化などによる定型処理
Microsoft Cognitive Services をおススメする理由
簡単 フレキシブル 実績
数行のコードを追加するだけ
Web API でアクセス
開発言語やプラットフォームを問わず利用可能
マイクロソフトのあらゆる分野の
テクノロジー開発から誕生
GET AKEY
情報リソースCognitive Services サービス解説
https://docs.com/decode2016/1562/dbp-018-ai-microsoft-cognitive-services
Cognitive Services ハンズオン
http://aka.ms/cogbot01_HOL1http://aka.ms/cogbot01_HOL2
42
43
※ Wikipedia より引用
定型レポート(SSRS)
セルフサービス BI
(Power BI)
マシンラーニング(Azure ML)
機械学習とデータマイニングは交差する部分が大きく、技法も同じなので混同されることが多いが、次のように定義できる。
• 機械学習の目的は、訓練データから学んだ「既知」の特徴に基づく予測である。• データマイニングの目的は、それまで「未知」だったデータの特徴を発見することである。
• レコメンデーション• 同じ商品を買った人が買った別のアイテムを お勧め商品として提示
• 同じ属性を持った人が買った商品を お勧め商品として提示
• 分類• メール本文・タイトルの内容からスパムメールの分類
• Web サイトの行動履歴から不正ユーザの検出
• 異常検知• センサー情報に基づく機械故障予測
• NW アクセス情報から不正アクセスや攻撃を検知
• ユーザ属性の推定• 属性情報が完全に取れているお客様のデータから、属性情報に欠損のあるお客様の属性情報を推定
44
4545
機械学習 教師あり学習
教師なし学習
強化学習
決定木
線形回帰
SVM
ロジスティック回帰
ニューラルネットワーク
クラスタリング
次元削減
Q学習
K-mean法
主成分分析
正準相関分析
ディープニューラルネットワーク
畳みこみニューラルネットワーク
再帰的ニューラルネットワーク
回帰結合ニューラルネットワーク
• クラウドベースの機械学習実行基盤
• 機械学習の「モデル作成」「モデルの評価」から、作成した分析モデルのデプロイ( Web サービス化)まで、機械学習 の開発~サービス提供で必要となるすべてのコンポーネントを PaaS で提供
Microsoft Azure Machine Learning
開発環境
予測モデルのデプロイ( Web サービス )
46
熟練者のノウハウをサービス化して世界に展開
47
経営課題• 高度な予兆保全サービスによる連続稼働性の向上と、低コストの保守ビジネスによる利益確保を両立したい
• 急成長するアジア市場で保守技術者の大量育成が必要
効果
解決策
“我々は予防保全の業界標準の先を行き、先取りした予兆的な保全を行うことにより、より高い稼働時間を保証したかった”
ANDREAS SCHIERENBECK
CEO
ThyssenKrupp Elevator
• ThyssenKrupp とその顧客の保守費用を削減
• 予測モデルの精度を向上し、急成長する市場の未熟な保守技術者も活用
• エレベーターの稼動データをリアルタイムに監視・見える化し、PCやモバイルでどこでも活用
• 問題発生時の対処方法のノウハウを機械学習でシステムに学ばせ世界中に展開
4848
デバイス・コネクティビティ
データ収集とブローカーサービス
イベント処理とデバイス管理
データ管理(変換・蓄積・処理)
高度な分析(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 を用いてビルの熱源・動力の制御モデルを構築し、自動制御を実施
49
① 建物の情報を 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
5151
5252
ビジネス課題• 口コミサイトの削除対象投稿を人手により監視
• キーワード検索では精度が悪い
• 投稿内容を熟読し、削除の有無を判断するため、非常に工数がかかる
モデリング• 日本語の形態素解析 (分かち書き) のソフトウエアとAzure MLを組み合わせ、削除
対象投稿を抽出
• 品詞の抽出方法(名詞のみ、名詞+動詞+形容詞 等)とアルゴリズムの組み合わせを総当たりでテストし、精度を向上
効果• Azure MLが削除対象投稿を判断してくれるようになったため、作業が非常に楽に
なった
*AUC (Area under the carve)
AUC 0.9 - 1.0 High accuracyAUC 0.9 - 0.7 Moderate accuracyAUC 0.5 - 0.7 Low accuracy
53
54
55
56
1. トレーニングデータ(実績データ)の準備• 予測モデルを作成する為のトレーニングデータ(実績データ)を準備
例:顧客属性によるお勧め商品の提示(リコメンデーション)を行いたいのであれば、どういった属性情報のお客様が、どういう商品を買ったのかという実績データが必要
2. 予測モデルの開発と評価
3. 予測モデルの公開(Web サービス)• 作成した予測モデルは、非常に簡単な操作でWebサービスとして公開可能。
57
①部品をドラッグ&ドロップ
②各部品のプロパティーを設定
58Azure ML Studio の基本的な使い方
①部品をドラッグ&ドロップ
②各部品のプロパティーを設定
59Azure ML Studio の基本的な使い方
60
性別 年齢 配偶者 子供人数
…
製品カテゴリ
男性 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
61
Azure Machine Learning では、以下のシステム・サービスからトレーニングデータをロード可能
CSV, TSV, ARFF, SvmLight 形式
HDInsight
(Hadoop)
Azure SQL Database
Azure テーブル
OData
業務システム OData
Training
Data
Azure
Machine Learning
Train
Model
Score
Model
検証用データ
トレーニングデータ
Evaluate
Model
機械学習アルゴリズム
予測モデルの評価予測モデルの見直し• アルゴリズムの変更
• パラメータの見直し
63
トレーニングデータの読込み
データクレンジング・メタデータ設定
読み込んだデータを「トレーニングデータ」と「評価用
データ」に分割
予測モデルの作成に使用するアルゴリズム
予測モデルの作成(トレーニング)
左インプット:利用するアルゴリズム右インプット:トレーニングデータ
作成した予測モデルを評価する為に、評価用データで予測を実行
予測結果の評価と可視化
64
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
65
66
② Web サービスのInput / Output を設定
③「 PREPARE WEB SERVICE 」ボタンをクリックすると Web サービスが
作成される
① Deploy 用のExperiment を作成
Training
Data
Web
Service
Azure Machine Learning
Microsoft Azure
67
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)
• 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/
68
69
Cognitive Toolkit | Caffe | TensorFlow | Torch
Cognitive Toolkit (旧称 CNTK)とは
多様な種類の深層学習アプリケーションに対応
オープンソース• 世界記録を達成した MS Research のスピーチ研究チームが開発
• MIT や Stanford 等の様々な研究者と共同作業で改定中
• Python, C++, BrainScript
Microsoft Cognitive Toolkit (CNTK) の性能
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 による自動応答システムの実現
学習
ディープラーニング向け VM イメージも
https://azure.microsoft.com/en-us/marketplace/partners/microsoft-ads/dsvm-deep-learningtoolkit/