15. ML | AI
Consume Build
Machine
Learning
Consume
Cortana
Intelligence
Gallery
Machine
Learning APIs
Build
Cloud
Azure Machine
Learning Studio
R / Python /
Drag & Drop
Azure HD Insight
SparkLib
Mahout
On Premise
R SQL Server
R Server
Microsoft ML + AI Landscape
19. Microsoft Cognitive Services
Give your apps a human side
Vision Speech KnowledgeLanguage LabsSearch
Computer Vision
Content Moderator
Emotion
Face
Video
Video Indexer
Project Prague
(gesture)
Project Cuzco (events)
Project Johannesburg
(routing)
Project Nanjing
(isochrones)
Project Abu Dhabi
(distance matrix)
Project Wollongong
(location)
Bing Autosuggest
Bing Image Search
Bing News Search
Bing Video Search
Bing Web Search
Bing Entity Search
Academic
Knowledge
Entity Linking
Knowledge
Exploration
Recommendations
QnA Maker
Bing Spell Check
Linguistic Analysis
Text Analytics
Translator Text
& Speech
Web Language
Model
Bing Speech
Speaker
Recognition
20.
21.
22.
23.
24. 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 A
KEY
25.
26.
27. MNIST Handwritten Digits (OCR)
• Data set of hand written digits with
60,000 training images
10,000 test images
• Each image is: 28 x 28 pixels
• Performance with different classifiers (error rate):
Neural nets (2-layers): 1.6 %
Deep nets (6-layers): 0.35 %
Conv nets (different): 0.21% - 0.31%
Handwritten
Digits
1 5 4 3
5 3 5 3
5 9 0 6
Corresponding
Labels
28. 28 pix
28pix
.
784 pixels (x)
S S
weights
S = Sum (weights x pixels)
784 784
= map to (0-1) range
Activation function
0.1 0.1 0.3 0.9 0.4 0.2 0.1 0.1 0.6 0.3 Probabilities (p)
.
784
10
Model
Logistic Regression
0.08 0.08 0.10 0.17 0.11 0.09 0.08 0.08 0.13 0.01
𝑒 𝑝i
𝑗=0
9
𝑒 𝑝j
softmax
SBias
(b)
+ bias
0 1 9
29. 28 pix
28pix
.
28 x 28 pix (p)
Error or Loss Function
Label One-hot encoded (Y)
0 0 0 1 0 0 0 0 0 0
0.1 0.1 0.3 0.9 0.4 0.2 0.1 0.1 0.6 0.3
Predicted Probabilities (p)
Model
(w, b)
Loss
function
se = 𝑗= 0
9
𝑦𝑗 − 𝑝𝑗
2
Squared error
ce = 𝑗=0
9
𝑦𝑗 𝑙𝑜𝑔 𝑝𝑗
Cross entropy
error
30. Workflow
MNIST
Train
....
3
7
8
0
Input feature (X: 100 x 784)
100samples
(mini-batch)
Loss
cross-entropy(softmax(out))
cross_entropy_with_softmax(out,Y)
One-hot encoded
Label
(Y: 100 x 10)
0 0 0 1 0 0 0 0 0 0
0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 0 1 0
1 0 0 0 0 0 0 0 0 0
.
.
.
weights(W)
(Dim-10x784)
784
10
bias(b)
(Dim-10)
Model
S
z = times(X , W) + b
= Sum ( X . W) + b
out = sigmoid(z)
Trainer(model, loss, learner)
Trainer.train_minibatch({X, Y})
Learner
sgd, adagrad etc, are solvers to estimate – W & b
31. Deep learning at Microsoft
• Microsoft Cognitive Services
• Skype Translator
• Cortana
• Bing
• Bing Ads
• Augmented Reality
• Microsoft Research
32. • CNTK is Microsoft’s open-source, cross-platform toolkit for learning and
evaluating deep neural networks
• CNTK expresses (nearly) arbitrary neural networks by composing simple
building blocks into complex computational networks, supporting
relevant network types and applications.
• CNTK is production-ready: State-of-the-art accuracy, efficient, and scales
to multi-GPU/multi-server.
The Microsoft Cognitive Toolkit (CNTK)
Artificial Intelligence is term widely used nowadays but it lacks a common definition.
Wikipedia: “Machines showing capabilities that are typically associated with human intelligence”.
AI is not new. We’ve been in a journey for decades to augment human capabilities in one of those three areas.
Think about the first calculators, which could do better than humans even with mechanical options like the Grant calculator in 1877.
Electronics then opened a new frontier for AI. Natural experiences like Voder, a machine able to mimic human voice. Or first attempts on reasoning machines.
Then computers, bringing graphical user interfaces, voice recognition or self driving cars as early as 1994.
Then why are we talking about AI now? The progress all these decades has been linear, with even some setbacks. However, three things are dramatically changing the speed of innovation:
Advances in AI algorithms, in particular deep learning with neural networks.
Huge compute power available in the cloud.
Big data, able to train these algorithms with huge sets of data.
Bank of Kochi in Japan used Bot Framework and Cognitive Services to create an agent providing hospitality services at their bank branches, improving customer satisfaction.
Why choose these APIs? They work, and it’s easy.
Easy: The APIs are easy to implement because of the simple REST calls. Being REST APIs, there’s a common way to implement and you can get started with all of them for free simply by going to one place, one website, www.microsoft.com/cognitive. (You don’t have to hunt around to different places.)
Flexible: We’ve got a breadth of intelligence and knowledge APIs so developers will be able to find what intelligence feature they need; and importantly, they all work on whatever language, framework, or platform developers choose. So, devs can integrated into their apps—iOS, Android, Windows—using their own tools they know and love (such as python or node.js, etc.).
Tested: Tap into an ever-growing collection of powerful AI algorithms developed by experts. Developers can trust the quality and expertise build into each API by experts in their field from Microsoft’s Research organization, Bing, and Azure machine learning and these capabilities are used across many Microsoft first party products such as Cortana, Bing and Skype.
Microsoft cognitive services uses CNTK for several tasks in speech, vision and text based deep learning applications. Microsoft customer service bot, face detection framework to name a few.
Machine translation problems are very amenable to solutions based on deep learning. Skype translator efficiently uses such technologies.
Cortana learns acoustic models using CNTK for scalable training on very large datasets.
Bing uses the toolkit for relevance and ranking.
Bing ads uses the toolkit for recognition of products in advertiser provided images in addition to other prediction and relevance problems.
CNTK is used for object recognition in Augmented reality applications.
Within Microsoft research CNTK has been pioneered and continues to extend the deep learning technology frontier.
The toolkit is tested in production setting for accuracy, efficiency and scalability in a multi-GPU/multi-server environment.
The toolkit is designed to bring lego like extensibility allowing for expression of arbitrary NN ……. Several use cases have been built using the toolkit for speech, image, text and combinations of the data types.
[Optional slide for technical audiences]
Cortana Intelligence delivers an end-to-end platform with an integrated and comprehensive set of tools and services to help you build intelligent applications that let you easily take advantage of Advanced Analytics and intelligence capabilities.
First, Cortana Intelligence provides services to bring data in, so that you can analyze it. It provides information management capabilities like Azure Data Factory so that you can pull data from any source (relational DB like SQL or non-relational ones like your Hadoop cluster) in an automated and scheduled way, while performing the necessary data transforms (like setting certain data columns as dates vs. currency etc). Think ETL (Extract, Transform, Load) in the cloud. Event Hubs does the same for IoT type ingestion of data that streams in from lots of end points.
The data brought in then can be persisted in flexible big data storage services like Data Lake Store and Azure SQL Data Warehouse.
You can then use a wide range of analytics services from Machine Learning to Azure Data Lake Analytics to Azure HDInsight to Azure Stream Analytics to analyze the data stored in the big data storage. This means you can create analytics services and models specific to your business need (say real time demand forecasting).
The resultant analytics services and models created by taking these steps can then be surfaced as interactive dashboards and visualizations via Power BI.
These same analytics services and models created can also be integrated into various different UI (web apps or mobile apps or rich client apps), or with Cortana, so end users can naturally interact with them via speech etc., and so that end users can get proactively be notified by Cortana if the analytics model finds a new anomaly (unusual growth in certain product purchases- in the case of real time demand forecasting example given above) or whatever deserves the attention of the business users. Similar integration can occur with Cognitive Services or Bot Framework based applications.
At a high level though, Cortana Intelligence capabilities are in three main areas: data, analytics and intelligence.
<Transition>: We’re going to dive into each one, starting with data.