[connect(); // japan 2016] microsoft の ai 開発最新アップデート ~ cognitive services...

79
Microsoft AI 開発 最新アップデート Cognitive Services から Azure Machine Learning Cognitive Toolkit まで ~ 佐藤 直生 (@satonaoki) エバンジェリスト 日本マイクロソフト株式会社

Upload: naoki-sato

Post on 16-Apr-2017

390 views

Category:

Software


1 download

TRANSCRIPT

Page 1: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development

Microsoft の AI 開発最新アップデート~ Cognitive Services から Azure Machine Learning、Cognitive Toolkit まで~

佐藤直生 (@satonaoki)エバンジェリスト日本マイクロソフト株式会社

Page 2: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development

Microsoft AI Development Updates- From Cognitive Services to Azure Machine Learning and Cognitive Toolkit -

SATO Naoki (@satonaoki)EvangelistMicrosoft Japan

Page 3: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development
Page 4: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development

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

(R Server and

Spark)

Stream Analytics

Intelligence

Data Lake

Analytics

Machine

Learning

Big Data Stores

SQL Data

Warehouse

Data Lake Store

Data Sources

Apps

Sensors and devices

Data

Page 5: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development

Machine Learning andAzure Machine Learning

Page 6: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development

https://blogs.nvidia.com/blog/2016/07/29/whats-difference-artificial-intelligence-machine-learning-deep-learning-ai/

Page 7: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development

I need our systems to think.

I need them to learn and

I need them to present issues

and problems and anomalies

to the employees, to the managers.

Adam CoffeyPresident and CEO

WASH Laundry Systems

What is Machine Learning?

Computing systems that become smarter with experience

“Experience” = past data + human input

Page 8: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development
Page 9: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development

Bing maps

launches

What’s the

best way

home?

Microsoft

Research

formed

Kinect

launches

What does

that motion

“mean”?

Azure Machine

Learning GA

What will

happen next?

Hotmail

launches

Which email is

junk?

Bing search

launches

Which

searches are

most relevant?

Skype

Translator

launches

What is that

person saying?

1991 201420091997 201520102008

Machine learning is pervasive throughout Microsoft products.

Page 10: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development

Social network analysis

Weather forecasting

Healthcare outcomes

Predictive maintenance

Targeted advertising

Natural resource exploration

Fraud detection

Telemetry data analysis

Buyer propensity models

Churn analysis

Life sciences research

Web app optimization

Network intrusion detection

Smart meter monitoring

Page 11: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development
Page 12: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development
Page 13: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development
Page 14: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development
Page 15: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development
Page 16: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development
Page 17: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development
Page 18: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development
Page 19: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development

Fully

managed

Integrated Best in Class

Algorithms + RDeploy in

minutes

No software to install,

no hardware to manage,

and one portal to view

and update.

Simple drag, drop and

connect interface for

Data Science. No need

for programming for

common tasks.

Built-in collection of

best of breed

algorithms. Support for

R and popular CRAN

packages.

Operationalize models

with a single click.

Monetize in Machine

Learning Marketplace.

Page 20: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development

Blobs and Tables

Hadoop (HDInsight)

Relational DB (Azure SQL DB)

Data Clients

Model is now a web service that is callable

API

Integrated development environment for Machine Learning

ML STUDIO

Page 21: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development
Page 22: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development
Page 23: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development

https://azure.microsoft.com/en-us/documentation/learning-paths/data-science-process/

Page 24: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development
Page 25: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development

logistic regression, linear models,

basic statistics, hypothesis testing,

k-means, decision trees

page rank, collaborative filtering,

graph processing, SVD, PCA,

Bayesian models, …

deep learning over

various types of networks

Page 26: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development

product recommendations

intelligent search

routing

robotics

ad placement

predictive maintenance

image, video recognition

sentiment analysis

text comprehension

natural language processing

robotics

bots

augmented reality

predictive maintenance

Retail Financial services Healthcare Manufacturing

loyalty programs

customer acquisition

pricing strategy

supply chain mgnt

customer churn

fraud detection

risk & compliance

cross-sell & upsell

personalization

bill collection

operational efficiency

patient demographics

pay for performance

demand forecasting

pricing strategy

supply chain

optimization

predictive

maintenance

remote monitoring

Page 27: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development

Regression line

represented by an

equation of the

form Y = b0 + b1X

where Y is the

dependent variableError between

actual and

computed output

minimized using

least-squares or

gradient-descent

method

Page 28: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development
Page 29: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development
Page 30: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development

Azure Machine Learning Demo

Page 31: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development
Page 32: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development
Page 33: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development
Page 34: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development
Page 35: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development

https://gallery.cortanaintelligence.com/

Page 36: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development
Page 37: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development

Deep Learning and Microsoft Cognitive Toolkit (CNTK)

Page 38: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development

2012 – AlexNet

2014 – Image description

2016 – AlphaGo

Page 39: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development

Inception-v3

Page 40: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development

GPU-enabled

And distributed

Page 41: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development

Deep Learning library Language GPU Distributed mode

Theano Python Yes N/A

Torch Lua/C++ Yes N/A

Caffe Python/C++ Yes N/A

DeepLearning4J Java/Scala Yes Spark

TensorFlow Python/C++ Yes Native

CNTK Python/C++ Yes Native

MXNet Python/R/

C++ and

Julia

Yes Native

Page 42: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development
Page 43: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development

28.225.8

16.4

11.7

7.3 6.73.5

ILSVRC2010 NECAmerica

ILSVRC2011 Xerox

ILSVRC2012

AlexNet

ILSVRC2013 Clarifi

ILSVRC2014 VGG

ILSVRC2014

GoogleNet

ILSVRC2015 ResNet

ImageNet Classification top-5 error (%)

Microsoft had all 5 entries being the 1-st places this year: ImageNet classification,

ImageNet localization, ImageNet detection, COCO detection, and COCO

segmentation

Page 44: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development
Page 45: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development
Page 46: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development
Page 47: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development
Page 48: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development

https://blogs.msdn.microsoft.com/translation/2016/11/15/microsoft-translator-launching-neural-network-based-translations-for-all-its-speech-languages/

Page 49: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development
Page 50: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development
Page 51: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development
Page 52: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development

“CNTK expresses (nearly) arbitrary neural networks by composing simple building blocks into complex computational networks, supporting relevant network types and applications.”

example: 2-hidden layer feed-forward NN

h1 = s(W1 x + b1) h1 = sigmoid (x @ W1 + b1)

h2 = s(W2 h1 + b2) h2 = sigmoid (h1 @ W2 + b2)

P = softmax(Wout h2 + bout) P = softmax (h2 @ Wout + bout)

with input x RM and one-hot label y RJ

and cross-entropy training criterion

ce = yT log P ce = cross_entropy (P, y)

Scorpusce = max

Page 53: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development

“CNTK expresses (nearly) arbitrary neural networks by composing simple building blocks into complex computational networks, supporting relevant network types and applications.”

h1 = sigmoid (x @ W1 + b1)

h2 = sigmoid (h1 @ W2 + b2)

P = softmax (h2 @ Wout + bout)

ce = cross_entropy (P, y)

+

s

+

s

+

softmax

W1

b1

W2

b2

Wout

bout

cross_entropy

h1

h2

P

x y

ce

Page 54: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development

Theano only supports 1 GPU

Achieved with 1-bit gradient quantizationalgorithm

0

10000

20000

30000

40000

50000

60000

70000

80000

CNTK Theano TensorFlow Torch 7 Caffe

speed comparison (samples/second), higher = better[note: December 2015]

1 GPU 1 x 4 GPUs 2 x 4 GPUs (8 GPUs)

Page 55: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development

http://nvidianews.nvidia.com/news/nvidia-and-microsoft-accelerate-ai-together

“Every industry has awoken to the potential of

AI”

Jen-Hsun Huang

founder and CEO

NVIDIA

“By working closely with NVIDIA and

harnessing the power of GPU-accelerated

systems, we've made Cognitive Toolkit and

Microsoft Azure the fastest, most versatile

AI platform.”

Harry Shum

EVP of AI and Research

Microsoft

Page 56: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development
Page 57: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development
Page 58: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development

Microsoft CognitiveToolkit Demo

Jupyter Notebook on Azure Notebookshttps://notebooks.azure.com/library/cntkbeta2

Page 59: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development
Page 60: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development
Page 61: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development

https://github.com/Microsoft/CNTK

https://github.com/Microsoft/CNTK/wiki

https://github.com/Microsoft/CNTK/issues

Page 62: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development

https://github.com/Microsoft/CNTK

https://notebooks.azure.com/library/cntkbeta2

Page 63: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development

Microsoft Cognitive Services

Page 64: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development

Microsoft Cognitive ServicesGive your apps a human side

Page 65: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development

Roll your own with REST APIs

Simple to add: just a few lines of code required

Integrate into the language and platform of your choice

Breadth of offerings helps you find the right API for your app

Built by experts in their field from Microsoft Research, Bing, and Azure Machine Learning

Quality documentation, sample code, and community support

Easy Flexible Tested

GET AKEY

Page 66: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development
Page 67: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development
Page 68: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development

How do I use them?

{

"tags": [

{ "name": "outdoor",

"score": 0.976 },

{ "name": "bird",

"score": 0.95 } ],

"description":

{ "tags":

[ "outdoor", "bird" ],

"captions": [

{ "text”: “partridge

in a pear tree”,

“confidence”: 0.96 }

]

}

}

Page 69: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development
Page 70: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development
Page 71: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development

Speech

Page 72: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development
Page 73: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development
Page 74: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development

Language

Page 75: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development

Knowledge

Page 76: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development

Azure Cognitive Services

Language

Speech

Vision

Search

Knowledge

Page 77: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development

Azure Bot Service

Page 79: [Connect(); // Japan 2016] Microsoft の AI 開発最新アップデート ~ Cognitive Services からAzure Machine Learning、Cognitive Toolkit まで ~ (Microsoft AI Development

Thank you!