Welcome to Azure Saturday 2019 Munich
#AzureSaturday 18.05.2019 – Microsoft Munich – azuresaturday.de — @azuresaturday
Slide 2
#AzureSaturday 18.05.2019 – Microsoft Munich – azuresaturday.de – @azuresaturday
Building human interfaces powered by AI
Speaker: Chris Heilmann
Slide 3
Building human interfaces powered by AI
Chris Heilmann (@codepo8) November 2018
Slide 4
All resources: aka.ms/human-ai
@codepo8
Slide 5
Let’s talk about “Artificial Intelligence”
@codepo8
Slide 6
What is the difference between Machine Learning and Artificial Intelligence?
@codepo8
Slide 7
Machine Learning is written in Python, JavaScript… Artificial Intelligence is written in PowerPoint.
@codepo8
Slide 8
Artificial Intelligence @codepo8
▪
Is nothing new – the concepts go back to the 50ies
▪
Is quite the hype and very often misattributed
▪
Is an umbrella term for a lot of math and science around repetition, pattern recognition and machine learning
▪
Got a huge boost because of availability of hardware
▪
Became much more feasible because of the availability of lots of data
Slide 9
Reminders of
“genie in the bottle”
@codepo8
▪
Fulfills our wishes seemingly with invisible magic
▪
Useful, and feels too good to be true
▪
Once released, may have a dark, sinister edge to it
▪
Hard to put back into the bottle.
Slide 10
Let’s start with some predictions. @codepo8
▪
AI is the number one growth market in IT – the others are cloud and security
▪
Machine Learning is already replacing thousands of jobs – boring, terrible jobs humans should not do
▪
This is also happening in IT – we are not invincible because we know hot to exit Vim
Slide 11
Let’s start with some predictions. @codepo8
▪
There is no stopping this – it is just too convenient
▪
The amount of data we create (actively or by triggering sensors) demands machines to whittle it down for us to make it consumable by humans
▪
If we as developers and decision makers in IT don’t take ownership and lead with good, ethical examples, we’ll throw away decades of work democratising computing
Slide 12
The machines are watching… Florian Ziegler flickr.com/photos/damndirty/41263240134
Slide 13
Social Credit System
@codepo8
https://futurism.com/china-social-credit-system-rate-human-value/
Slide 14
Big brother is redundant…
@codepo8
▪
Everything we do online is monitored and recorded
▪
We often don’t realise that our data is how we pay for “free” services
▪
We’re happy to use systems that record all the time in exchange for convenience
▪
Often people don’t realise just how dangerous this can be in the wrong hands.
Slide 15
Everything counts in large amounts
@codepo8
▪
We create a massive amount of information – actively and without our knowledge.
▪
It is tough to make that amount of information consumable again.
▪
That’s why we have computers
▪
With cloud computing, on demand processing and advances in hardware we’re faster than ever.
Slide 16
Leaving invisible marks…
@codepo8
▪
By using other people’s machines and infrastructure, we leave traces
▪
This allows companies to recognise us, and accumulates a usage history
▪
This leads to better results, but can leak data
▪
We should have more transparency about what digital legacy we left behind.
Slide 17
Are machines friend or foe? Florian Ziegler flickr.com/photos/damndirty/40153024740/
Slide 18
Artificial Intelligence Myths @codepo8
▪
AI can’t replace a thinking, creative human
▪
AI can not magically fill gaps with perfect information – it can only compare and assume
▪
AI doesn’t learn in a creative fashion. It makes no assumptions
▪
AI has no morals and ethics, but – used wrongly – it can amplify our biases
Slide 19
Machines can be great tools or weapons… @codepo8
▪
Machine Learning is all about returning assumptions
▪
We don’t get any definitive truth from algorithms, we get answers to our questions
▪
AI can answer questions, but it is up to you to ask good questions – generic questions yield assumed results.
Slide 20
Unguided or supervised AI… @codepo8
http://inspirobot.me
Slide 21
It can be demanding @codepo8
http://inspirobot.me
Slide 22
It can mix up needs…
@codepo8
http://inspirobot.me
Slide 23
It can be overly excited…
@codepo8
http://inspirobot.me
Slide 24
It can be a good warning…
@codepo8
http://inspirobot.me
Slide 25
It can be painfully humbling…
@codepo8
http://inspirobot.me
Slide 26
Prophetic, even?
@codepo8
http://inspirobot.me
Slide 27
Passive aggressive towards humans…
@codepo8
Slide 28
It can be adoringly cute… @codepo8
https://twitter.com/eron_gj/status/967672260147470336
Slide 29
Whilst being actually kick-ass @codepo8
https://www.youtube.com/watch?v=gn4nRCC9TwQ
Slide 30
Machines can be great tools or weapons… @codepo8
▪
Untrained and limited data leads to terrible and biased AI results
▪
It is very easy to get either wrong deductions or false positives
▪
AI is as intelligent and good as the people who apply it
Slide 31
Machine learning helps us in a few ways… @codepo8
▪
Recommendation
▪
Prediction
▪
Classification
▪
Clustering
▪
Generation
Slide 32
Machines ploughing through lots of data for you.
Recommendation
@codepo8
▪
“I feel lucky” moments
▪
Slack finding people in your organization
▪
Intelligent inboxes
▪
Automated photo optimization
▪
Automated tagging and alternative text: “Image may contain”
Slide 33
You’re doing this – you probably want this as the next thing
Prediction
@codepo8
▪
Text autocompletion
▪
Task offerings
▪
Image tooling – adding photos to a collage
▪
Creating albums
▪
Offering similar music and videos
▪
Offering products that match
Slide 34
Sort things by what humans told you what they are and scale it up
Classification
@codepo8
▪
Google surveys offering the right form elements for a question
▪
Detecting faces and asking for more information
▪
Finding anomalies in health scans and doing the same for all the ones in the system
Slide 35
Find own patterns and collate them
Clustering
@codepo8
▪
Photo tagging and ordering
▪
Document analysis
▪
Comment filtering and triaging
▪
Video optimisation dependent on content.
Slide 36
Allow the machine to create things
Generation
@codepo8
▪
Art style matching
▪
Generated articles from fact collection
▪
Synthesised music
▪
Filling content with tagged information (grass, houses, brick, etc…)
▪
React to human input
Is this you? Are those also you?
@codepo8
aka.ms/face-api
Slide 41
Is this your driver?
@codepo8
youtube.com/watch?v=aEBi4OpXU4Q
Slide 42
Taking it too far?
@codepo8
ntechlab.com
Slide 43
Detecting even more… @codepo8
https://apnews.com/bf75dd1c26c947b7826d270a16e2658a
Slide 44
Those trustworthy avatars… @codepo8
https://blog.insightdatascience.com/ generating-custom-photo-realistic-faces-using-ai-d170b1b59255
Slide 45
Those trustworthy avatars… @codepo8
https://blog.insightdatascience.com/ generating-custom-photo-realistic-faces-using-ai-d170b1b59255
Slide 46
Automated face mapping… @codepo8
https://github.com/SpiderLabs/social_mapper
Slide 47
Once you are known… @codepo8
https://github.com/SpiderLabs/social_mapper
Slide 48
Photo by Florian Ziegler flickr.com/photos/damndirty/40153024740/
AI for humans Andreas Dantz flickr.com/photos/szene/40193567250
Slide 49
I want people to appreciate AI, without giving up their data unwillingly…
@codepo8
Slide 50
The best way to do this, is to stop selling it as magic, but as a tool…
@codepo8
Slide 51
How AI can help humans…
@codepo8
aka.ms/ai-for-good
Slide 52
Humans
▪ Messy and prone to mistakes ▪ Forget things and filter them by their biases
Bots and computers…
▪ Make no mistakes, other than physical fatigue ▪ Never forget, don’t judge
▪ Bored when doing repetitive tasks
▪ Great at tedious, boring tasks
▪ When bored create more errors
▪ Repeat things with minor changes on iterations till a result is met
▪ Non-optimised communication, lots of nuances and misunderstanding @codepo8
▪ Highly optimised, non-nuanced communication.
Slide 53
Humans
▪ Messy and prone to mistakes ▪ Forget things and filter them by their biases
Bots and computers…
▪ Make no mistakes, other than physical fatigue ▪ Never forget, don’t judge
▪ Bored when doing repetitive tasks
▪ Great at tedious, boring tasks
▪ When bored create more errors
▪ Repeat things with minor changes on iterations till a result is met
▪ Non-optimised communication, lots of nuances and misunderstanding @codepo8
▪ Highly optimised, non-nuanced communication.
Slide 54
We need data, so let’s make it joyful for humans to give us some
@codepo8
Slide 55
Humans and Bots/Computers
@codepo8
autodraw.com
Slide 56
Humans and Bots/Computers
@codepo8
autodraw.com
Slide 57
Humans and Bots/Computers
@codepo8
quickdraw.withgoogle.com
Slide 58
Humans and Bots/Computers
@codepo8
google.com/recaptcha/intro
Slide 59
“Learning” from lots of images @codepo8
https://github.com/jantic/DeOldify
Slide 60
Humans and Bots/Computers
aka.ms/nvidia-fix-image
Slide 61
Humans and Bots/Computers
aka.ms/nvidia-fix-image
Slide 62
Humans and Bots/Computers
aka.ms/nvidia-fix-image
Slide 63
Humans and Bots/Computers
gandissect.csail.mit.edu/
Slide 64
Our toolkit for more human interfaces
Natural language processing @codepo8
Computer Vision
Sentiment analysis
Speech conversion and analysis
Moderation
Slide 65
Language and Writing @codepo8
▪
Probably the oldest task on the web was translation
▪
This moved deeper into Natural Language Processing and Language Detection
▪
Using these, we can allow for human commands and finding out tasks by analyzing texts.
“How far am I from the capital of Denmark?” “Where do I find a good restaurant around here?” “Show me documents I wrote five days ago with more than 600 words”
Slide 66
Computer Vision
@codepo8
▪
When text wasn’t cool enough, we added images to our web media
▪
Often we forget that not everyone can see them, and we leave them without alternative text
▪
This is where machine learning steps in to help turning an image into a dataset we can work with.
Slide 67
Vision and image analysis… instagram: @larryandanke @codepo8
Slide 68
Vision and image analysis… @codepo8
Slide 69
Vision and image analysis… @codepo8
Slide 70
Vision and image analysis… @codepo8
twitter.com/mixedhunty/status/980551155297157126
Slide 71
Vision and image analysis… @codepo8
#vision_api
Slide 72
Vision and image analysis… @codepo8
aka.ms/vision-api
Slide 73
Vision and image analysis… @codepo8
aka.ms/vision-api
Slide 74
Vision and image analysis… @codepo8
aka.ms/vision-api
Slide 75
Vision and image analysis… @codepo8
aka.ms/vision-api
Slide 76
Vision and image analysis… @codepo8
aka.ms/vision-api
Slide 77
Sentiment analysis
@codepo8
▪
Finding out the sentiment of a text, image or video can help with a lot of things
▪
You can navigate videos by only showing the happy parts
▪
You can detect which comment should be answered first by a help desk
▪
You can predict when drivers of cars get tired
Slide 78
▪
Audio interfaces are all the rage.
▪
You can allow hands-free control of devices
▪
You can have an “always on” system to help you out without having to interface with it
▪
It feels natural and has a massive Sci-Fi feeling – when it works.
Speech
@codepo8
Slide 79
Speech recognition
@codepo8
aka.ms/text-to-speech
Slide 80
Turning sentences into commands
@codepo8
luis.ai aka.ms/luis-api
Slide 81
Text to speech
@codepo8
aka.ms/text-to-speech
Slide 82
Conversation as an interface
@codepo8
aka.ms/conversation-ui
Moderation
@codepo8
▪
Some things are not meant to be consumed by people
▪
Computers don’t need counselling once they saw them – people should
▪
Known illegal and terrible content can be automatically removed
Slide 86
With great power comes great responsibility…
@codepo8
Slide 87
Our responsibilities..
@codepo8
▪
AI can be an amazing help for humans
▪
It does need transparency – if you use people as data sources, they need to know what and where it goes
▪
When people get information filtered by an algorithm, it should be an opt-in
▪
People need to have a chance to dispute when an algorithm tagged or disallowed them access.
Slide 88
Want to go deep?
▪
The Math behind ML
▪
The ethics of AI
▪
Working with Data using Python
▪
Machine Learning Models
▪
Deep Learning Models
▪
Reinforcement Learning Models
▪
Microsoft Professional Program Certificate in Artificial Intelligence
aka.ms/learn-ai 10 courses, (8-16 hours each), 10 skills @codepo8
Slide 89
Want to go deep? skl.sh/christian Free with trial sign-up @codepo8
Slide 90
Who controls our data? Who benefits?
@codepo8
▪
With all this we need to make clear who has your data and where it goes.
▪
Wouldn’t it be great if we could do more on our devices?
▪
Much lower latency, better security, increased privacy
▪
Right now, this is only possible in native environments
▪
I want to change that – a W3C proposal to bring accelerated Machine Learning to the web in JavaScript
Slide 91
Who controls our data? Who benefits? w3.org/community/webmachinelearning @codepo8