SlideShare a Scribd company logo
Ceci N'est Pas Un Canard – Machine
Learning and Generative Adversarial
Networks
Matt Hamilton
Developer Advocate
Thursday’s Matter
August 06, 2020
IBM Developer Advocate / Ceci n'est pas un canard - Machine Learning and Generative Adversarial Networks / August 6, 2020 / © 2020 IBM Corporation 2
IBM Developer Advocate / Ceci n'est pas un canard - Machine Learning and Generative Adversarial Networks / August 6, 2020 / © 2020 IBM Corporation
Can I train a
computer to
draw a duck?
3
IBM Developer Advocate / Ceci n'est pas un canard - Machine Learning and Generative Adversarial Networks / August 6,
2020 / © 2020 IBM Corporation
Generative Adversarial Networks (GANs)
4
IBM Developer Advocate / Ceci n'est pas un canard - Machine Learning and Generative Adversarial Networks / August 6,
2020 / © 2020 IBM Corporation
Generative Adversarial
Networks (GANs)
5
• White
• Male
• 40s
• Black long sleeved shirt
• Blue trousers
• Mask over eyes
• Short, grey hair
IBM Developer Advocate / Ceci n'est pas un canard - Machine Learning and Generative Adversarial Networks / August 6,
2020 / © 2020 IBM Corporation
Generative Adversarial
Networks (GANs)
6
• White
• Male
• 40s
• Black long sleeved shirt
• Blue trousers
• Mask over eyes
• Short, grey hair
IBM Developer Advocate / Ceci n'est pas un canard - Machine Learning and Generative Adversarial Networks / August 6,
2020 / © 2020 IBM Corporation
Generative Adversarial
Networks (GANs)
7
✓ ✕
IBM Developer Advocate / Ceci n'est pas un canard - Machine Learning and Generative Adversarial Networks / August 6,
2020 / © 2020 IBM Corporation
Convolutional Neural Networks (CNNs)
8
https://en.wikipedia.org/wiki/Convolutional_neural_network#/media/File:Typical_cnn.png
IBM Developer Advocate / Ceci n'est pas un canard - Machine Learning and Generative Adversarial Networks / August 6,
2020 / © 2020 IBM Corporation
Convolutional Neural Networks (CNNs)
9
k = np.array([[0,1,0],
[1,1,1],
[0,1,0]])
newim = ndimage.convolve(
im, k,
mode='constant’,
cval=0.0)
IBM Developer Advocate / Ceci n'est pas un canard - Machine Learning and Generative Adversarial Networks / August 6,
2020 / © 2020 IBM Corporation
Ducks!
10
IBM Developer Advocate / Ceci n'est pas un canard - Machine Learning and Generative Adversarial Networks / August 6,
2020 / © 2020 IBM Corporation
From out of the noise…
11
Epoch 24
Epoch 100
Epoch 250
Epoch 300
IBM Developer Advocate / Ceci n'est pas un canard - Machine Learning and Generative Adversarial Networks / August 6,
2020 / © 2020 IBM Corporation
Learning instability
12
Unstable
Lower learning rate
IBM Developer Advocate / Ceci n'est pas un canard - Machine Learning and Generative Adversarial Networks / August 6,
2020 / © 2020 IBM Corporation
Learning
13
IBM Developer Advocate / Ceci n'est pas un canard - Machine Learning and Generative Adversarial Networks / August 6,
2020 / © 2020 IBM Corporation
Modern art?
14
• Has learned the basic features
• Not bad considering we had such
varied input
IBM Developer Advocate / Ceci n'est pas un canard - Machine Learning and Generative Adversarial Networks / August 6,
2020 / © 2020 IBM Corporation
Ceci n'est pas un Matt
15
• iOS has built in image recognition
and clustering.
• Has grouped all the images of me
already
IBM Developer Advocate / Ceci n'est pas un canard - Machine Learning and Generative Adversarial Networks / August 6, 2020 / © 2020 IBM Corporation
Initial attempts
16
IBM Developer Advocate / Ceci n'est pas un canard - Machine Learning and Generative Adversarial Networks / August 6,
2020 / © 2020 IBM Corporation
OpenCV
17
OpenCV's application areas include:
• 2D and 3D feature toolkits
• Egomotion estimation
• Facial recognition system
• Gesture recognition
• Human–computer interaction (HCI)
• Mobile robotics
• Motion understanding
• Object identification
• Segmentation and recognition
• Stereopsis stereo vision: depth perception
• Structure from motion (SFM)
• Motion tracking
• Augmented reality
IBM Developer Advocate / Ceci n'est pas un canard - Machine Learning and Generative Adversarial Networks / August 6, 2020 / © 2020 IBM Corporation
Normalizing the input
18
Original Normalized
IBM Developer Advocate / Ceci n'est pas un canard - Machine Learning and Generative Adversarial Networks / August 6, 2020 / © 2020 IBM Corporation 19
IBM Developer Advocate / Ceci n'est pas un canard - Machine Learning and Generative Adversarial Networks / August 6,
2020 / © 2020 IBM Corporation
Other uses of GANs
20
– Predicting stock market data
• Generator generates ‘fake’ data
• Discriminator learns to tell it from real data
– Generating additional training data for other algorithms
• Make me more dogs!
IBM Developer Advocate / Ceci n'est pas un canard - Machine Learning and Generative Adversarial Networks / August 6,
2020 / © 2020 IBM Corporation
Super-scaling video
21
IBM Developer Advocate / Ceci n'est pas un canard - Machine Learning and Generative Adversarial Networks / August 6, 2020 / © 2020 IBM Corporation
StyleGAN
22
IBM Developer Advocate / Ceci n'est pas un canard - Machine Learning and Generative Adversarial Networks / August 6, 2020 / © 2020 IBM Corporation
StyleGAN
23
IBM Developer Advocate / Ceci n'est pas un canard - Machine Learning and Generative Adversarial Networks / August 6,
2020 / © 2020 IBM Corporation
This Person Does Not Exist
24
IBM Developer Advocate / Ceci n'est pas un canard - Machine Learning and Generative Adversarial Networks / August 6,
2020 / © 2020 IBM Corporation
Defense – GANs vs GANs
25
Fawkes: http://sandlab.cs.uchicago.edu/fawkes/
IBM Developer Advocate / Ceci n'est pas un canard - Machine Learning and Generative Adversarial Networks / August 6,
2020 / © 2020 IBM Corporation
Defense – GANs vs GANs
26
IBM Developer Advocate / Ceci n'est pas un canard - Machine Learning and Generative Adversarial Networks / August 6,
2020 / © 2020 IBM Corporation
Test of Fawkes
27
Original Cloaked
IBM Developer Advocate / Ceci n'est pas un canard - Machine Learning and Generative Adversarial Networks / August 6, 2020 / © 2020 IBM Corporation
Thank you. Questions?
28
Matt Hamilton
Developer Advocate
hammertoe@ibm.com
@hammertoe
IBM Developer Advocate / Ceci n'est pas un canard - Machine Learning and Generative Adversarial Networks / August 6, 2020 / © 2020 IBM Corporation 29

More Related Content

PPTX
Autonomous Vehcles and Augmented Reality
PDF
Articificial Intelligence - An epic journey to the future and back.
PDF
Ceci N'est Pas Un Canard – and Other Machine Learning Stories
PDF
Intro to Machine Learning and AI
PPTX
GAN Deep Learning Approaches to Image Processing Applications (1).pptx
PDF
Generative Adversarial Networks (GANs) at the Data Science Meetup Luxembourg ...
PPTX
GANs Presentation.pptx
PPTX
An Introduction to Generative Adversarial Networks (April 2020)
Autonomous Vehcles and Augmented Reality
Articificial Intelligence - An epic journey to the future and back.
Ceci N'est Pas Un Canard – and Other Machine Learning Stories
Intro to Machine Learning and AI
GAN Deep Learning Approaches to Image Processing Applications (1).pptx
Generative Adversarial Networks (GANs) at the Data Science Meetup Luxembourg ...
GANs Presentation.pptx
An Introduction to Generative Adversarial Networks (April 2020)

More from Matt Hamilton (20)

PDF
Adventures in Wonderland - A Plone Developer's Year in iOS
PDF
A Journey Through Open Source
PDF
Plone Intranet talk at Plone Open Garden 2014, Sorrento
PDF
Open Source, The Natural Fit for Content Management in the Enterprise
PDF
Supercharge Your Career with Open Source
PDF
Plone and Sharepoint
PDF
How to get started with the Pluggable Authentication System
PDF
Plone and Single-Sign On - Active Directory and the Holy Grail
PDF
BathCamp #32 - CMS Smackdown! - Plone
PDF
Mistakes Made and Lessons Learnt Scaling Plone post-Launch
PDF
Plone Symposium East 2011 Keynote: Plone, A Solution not a Product
PDF
Plone: Event Driven Programming
PDF
Mountain Tops to Archipelagos - The People Behind Plone (+AUDIO)
PDF
The Flexibility of Open Source - Plone in the Public Sector
PDF
The Flexibility of Open Source: A Case Study of a large Corporate Intranet
PDF
Plone - Revised Roadmap: Plone 3,4,5 and beyond - Dutch Plone Users Day (+AUDIO)
PDF
An introduction to Zope Page Templates and their use outside of Zope (+Audio)
PPT
Lipstick On a Pig (+Audio)
ODP
Lipstick on a Pig - European Plone Symposium 2009
PPTX
Kent Connects: Harnessing Open Source for Shared Services and Partnership Wor...
Adventures in Wonderland - A Plone Developer's Year in iOS
A Journey Through Open Source
Plone Intranet talk at Plone Open Garden 2014, Sorrento
Open Source, The Natural Fit for Content Management in the Enterprise
Supercharge Your Career with Open Source
Plone and Sharepoint
How to get started with the Pluggable Authentication System
Plone and Single-Sign On - Active Directory and the Holy Grail
BathCamp #32 - CMS Smackdown! - Plone
Mistakes Made and Lessons Learnt Scaling Plone post-Launch
Plone Symposium East 2011 Keynote: Plone, A Solution not a Product
Plone: Event Driven Programming
Mountain Tops to Archipelagos - The People Behind Plone (+AUDIO)
The Flexibility of Open Source - Plone in the Public Sector
The Flexibility of Open Source: A Case Study of a large Corporate Intranet
Plone - Revised Roadmap: Plone 3,4,5 and beyond - Dutch Plone Users Day (+AUDIO)
An introduction to Zope Page Templates and their use outside of Zope (+Audio)
Lipstick On a Pig (+Audio)
Lipstick on a Pig - European Plone Symposium 2009
Kent Connects: Harnessing Open Source for Shared Services and Partnership Wor...
Ad

Recently uploaded (20)

PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
Spectroscopy.pptx food analysis technology
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PPTX
Machine Learning_overview_presentation.pptx
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
A comparative analysis of optical character recognition models for extracting...
PPTX
A Presentation on Artificial Intelligence
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Assigned Numbers - 2025 - Bluetooth® Document
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Spectroscopy.pptx food analysis technology
Network Security Unit 5.pdf for BCA BBA.
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
The AUB Centre for AI in Media Proposal.docx
Per capita expenditure prediction using model stacking based on satellite ima...
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Chapter 3 Spatial Domain Image Processing.pdf
Review of recent advances in non-invasive hemoglobin estimation
Advanced methodologies resolving dimensionality complications for autism neur...
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Machine Learning_overview_presentation.pptx
Spectral efficient network and resource selection model in 5G networks
A comparative analysis of optical character recognition models for extracting...
A Presentation on Artificial Intelligence
Ad

Ceci n’est pas un canard - Machine Learning and Generative Adversarial Networks

  • 1. Ceci N'est Pas Un Canard – Machine Learning and Generative Adversarial Networks Matt Hamilton Developer Advocate Thursday’s Matter August 06, 2020
  • 2. IBM Developer Advocate / Ceci n'est pas un canard - Machine Learning and Generative Adversarial Networks / August 6, 2020 / © 2020 IBM Corporation 2
  • 3. IBM Developer Advocate / Ceci n'est pas un canard - Machine Learning and Generative Adversarial Networks / August 6, 2020 / © 2020 IBM Corporation Can I train a computer to draw a duck? 3
  • 4. IBM Developer Advocate / Ceci n'est pas un canard - Machine Learning and Generative Adversarial Networks / August 6, 2020 / © 2020 IBM Corporation Generative Adversarial Networks (GANs) 4
  • 5. IBM Developer Advocate / Ceci n'est pas un canard - Machine Learning and Generative Adversarial Networks / August 6, 2020 / © 2020 IBM Corporation Generative Adversarial Networks (GANs) 5 • White • Male • 40s • Black long sleeved shirt • Blue trousers • Mask over eyes • Short, grey hair
  • 6. IBM Developer Advocate / Ceci n'est pas un canard - Machine Learning and Generative Adversarial Networks / August 6, 2020 / © 2020 IBM Corporation Generative Adversarial Networks (GANs) 6 • White • Male • 40s • Black long sleeved shirt • Blue trousers • Mask over eyes • Short, grey hair
  • 7. IBM Developer Advocate / Ceci n'est pas un canard - Machine Learning and Generative Adversarial Networks / August 6, 2020 / © 2020 IBM Corporation Generative Adversarial Networks (GANs) 7 ✓ ✕
  • 8. IBM Developer Advocate / Ceci n'est pas un canard - Machine Learning and Generative Adversarial Networks / August 6, 2020 / © 2020 IBM Corporation Convolutional Neural Networks (CNNs) 8 https://en.wikipedia.org/wiki/Convolutional_neural_network#/media/File:Typical_cnn.png
  • 9. IBM Developer Advocate / Ceci n'est pas un canard - Machine Learning and Generative Adversarial Networks / August 6, 2020 / © 2020 IBM Corporation Convolutional Neural Networks (CNNs) 9 k = np.array([[0,1,0], [1,1,1], [0,1,0]]) newim = ndimage.convolve( im, k, mode='constant’, cval=0.0)
  • 10. IBM Developer Advocate / Ceci n'est pas un canard - Machine Learning and Generative Adversarial Networks / August 6, 2020 / © 2020 IBM Corporation Ducks! 10
  • 11. IBM Developer Advocate / Ceci n'est pas un canard - Machine Learning and Generative Adversarial Networks / August 6, 2020 / © 2020 IBM Corporation From out of the noise… 11 Epoch 24 Epoch 100 Epoch 250 Epoch 300
  • 12. IBM Developer Advocate / Ceci n'est pas un canard - Machine Learning and Generative Adversarial Networks / August 6, 2020 / © 2020 IBM Corporation Learning instability 12 Unstable Lower learning rate
  • 13. IBM Developer Advocate / Ceci n'est pas un canard - Machine Learning and Generative Adversarial Networks / August 6, 2020 / © 2020 IBM Corporation Learning 13
  • 14. IBM Developer Advocate / Ceci n'est pas un canard - Machine Learning and Generative Adversarial Networks / August 6, 2020 / © 2020 IBM Corporation Modern art? 14 • Has learned the basic features • Not bad considering we had such varied input
  • 15. IBM Developer Advocate / Ceci n'est pas un canard - Machine Learning and Generative Adversarial Networks / August 6, 2020 / © 2020 IBM Corporation Ceci n'est pas un Matt 15 • iOS has built in image recognition and clustering. • Has grouped all the images of me already
  • 16. IBM Developer Advocate / Ceci n'est pas un canard - Machine Learning and Generative Adversarial Networks / August 6, 2020 / © 2020 IBM Corporation Initial attempts 16
  • 17. IBM Developer Advocate / Ceci n'est pas un canard - Machine Learning and Generative Adversarial Networks / August 6, 2020 / © 2020 IBM Corporation OpenCV 17 OpenCV's application areas include: • 2D and 3D feature toolkits • Egomotion estimation • Facial recognition system • Gesture recognition • Human–computer interaction (HCI) • Mobile robotics • Motion understanding • Object identification • Segmentation and recognition • Stereopsis stereo vision: depth perception • Structure from motion (SFM) • Motion tracking • Augmented reality
  • 18. IBM Developer Advocate / Ceci n'est pas un canard - Machine Learning and Generative Adversarial Networks / August 6, 2020 / © 2020 IBM Corporation Normalizing the input 18 Original Normalized
  • 19. IBM Developer Advocate / Ceci n'est pas un canard - Machine Learning and Generative Adversarial Networks / August 6, 2020 / © 2020 IBM Corporation 19
  • 20. IBM Developer Advocate / Ceci n'est pas un canard - Machine Learning and Generative Adversarial Networks / August 6, 2020 / © 2020 IBM Corporation Other uses of GANs 20 – Predicting stock market data • Generator generates ‘fake’ data • Discriminator learns to tell it from real data – Generating additional training data for other algorithms • Make me more dogs!
  • 21. IBM Developer Advocate / Ceci n'est pas un canard - Machine Learning and Generative Adversarial Networks / August 6, 2020 / © 2020 IBM Corporation Super-scaling video 21
  • 22. IBM Developer Advocate / Ceci n'est pas un canard - Machine Learning and Generative Adversarial Networks / August 6, 2020 / © 2020 IBM Corporation StyleGAN 22
  • 23. IBM Developer Advocate / Ceci n'est pas un canard - Machine Learning and Generative Adversarial Networks / August 6, 2020 / © 2020 IBM Corporation StyleGAN 23
  • 24. IBM Developer Advocate / Ceci n'est pas un canard - Machine Learning and Generative Adversarial Networks / August 6, 2020 / © 2020 IBM Corporation This Person Does Not Exist 24
  • 25. IBM Developer Advocate / Ceci n'est pas un canard - Machine Learning and Generative Adversarial Networks / August 6, 2020 / © 2020 IBM Corporation Defense – GANs vs GANs 25 Fawkes: http://sandlab.cs.uchicago.edu/fawkes/
  • 26. IBM Developer Advocate / Ceci n'est pas un canard - Machine Learning and Generative Adversarial Networks / August 6, 2020 / © 2020 IBM Corporation Defense – GANs vs GANs 26
  • 27. IBM Developer Advocate / Ceci n'est pas un canard - Machine Learning and Generative Adversarial Networks / August 6, 2020 / © 2020 IBM Corporation Test of Fawkes 27 Original Cloaked
  • 28. IBM Developer Advocate / Ceci n'est pas un canard - Machine Learning and Generative Adversarial Networks / August 6, 2020 / © 2020 IBM Corporation Thank you. Questions? 28 Matt Hamilton Developer Advocate hammertoe@ibm.com @hammertoe
  • 29. IBM Developer Advocate / Ceci n'est pas un canard - Machine Learning and Generative Adversarial Networks / August 6, 2020 / © 2020 IBM Corporation 29