Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Deep Learning with Go

Deep Learning with Go

You’ve heard about self-driving cars, self-organizing drone swarms, conversational interfaces, and emotion recognition. That’s all ‘deep learning’ - a powerful AI taking the world by storm! In my talk, I’ll show you how to build ‘deep learning’ models with Go to solve complex real-world challenges.

Chris Benson

August 18, 2017
Tweet

More Decks by Chris Benson

Other Decks in Programming

Transcript

  1. CHRIS BENSON ▸ Artificial Intelligence & Machine Learning Strategist ▸

    Deep Learning Architect ▸ Organizer, Atlanta Deep Learning Meetup
 Over 900 members and continuing to grow steadily
 60+ people attend in-person each month
 http://atlantadeeplearning.org ▸ Gopher since 2014, Developer since 1990s ▸ Introduced to Deep Learning in 1992
 ( Before it was called ‘Deep Learning’ ) ▸ Machine Learning Certificate, Stanford University ▸ Deep Learning with Go book / videos (maybe)
 with a well-known technical publisher
  2. F-22 RAPTOR WORLD’S MOST ADVANCED AIR-SUPERIORITY STEALTH FIGHTER LOCKHEED MARTIN

    DESIGNED, DEVELOPED, AND BUILT AT THE LOCKHEED MARTIN PLANT NEAR ATLANTA
  3. YF-22 CRASH LANDING EDWARDS AFB APRIL 1992 AN AVIONICS ERROR

    FAILED TO PREVENT A PILOT-INDUCED OSCILLATION.
  4. THIS CRITICAL YF-22 AVIONICS ERROR WAS SOLVED (IN PART) BY

    A VETERAN LOCKHEED ENGINEER WHO HAD THE INSPIRATION TO RESEARCH AND APPLY A BLEEDING-EDGE DEEP LEARNING APPROACH TO THE AVIONICS PROBLEM.
  5. THIS CRITICAL YF-22 AVIONICS ERROR WAS SOLVED (IN PART) BY

    A VETERAN LOCKHEED ENGINEER WHO HAD THE INSPIRATION TO RESEARCH AND APPLY A BLEEDING-EDGE DEEP LEARNING APPROACH TO THE AVIONICS PROBLEM. HIS NAME WAS WHIT BENSON, AND HE WAS MY FATHER.
 (1932 - 2011)
  6. DEEP LEARNING IS THE APPROACH TO MACHINE LEARNING THAT IS

    DRIVING THE CURRENT ARTIFICIAL INTELLIGENCE REVOLUTION
  7. COMMON DEEP LEARNING USE CASES ▸ Anomaly Detection / Cyber-Security

    / Fraud Detection ▸ Recommender Systems / Marketing Personalization / Search ▸ Machine Perception / Computer Vision / Object Recognition ▸ Speech Recognition / Natural Language Processing ▸ Transportation (e.g. self-driving cars) / Drone Navigation ▸ Healthcare Diagnosis / Medical Imaging Interpretation ▸ Securities Trading / Financial Analysis / Economic Forecasting
  8. DEEP LEARNING IN CONTEXT JUXTAPOSITION OF FOUR DISCIPLINES DATA SCIENCE

    ARTIFICIAL INTELLIGENCE BIG DATA MACHINE LEARNING DEEP LEARNING
  9. “IN RECENT YEARS, IT (DEEP LEARNING) HAS SEEN TREMENDOUS GROWTH

    IN ITS POPULARITY AND USEFULNESS, DUE IN LARGE PART TO MORE POWERFUL COMPUTERS, LARGER DATASETS AND TECHNIQUES TO TRAIN DEEPER NETWORKS.” Ian Goodfellow, Yoshua Bengio & Aaron Courville (2016). Deep Learning. MIT Press WHAT IS DEEP LEARNING
  10. “THAT’S COOL, CHRIS…
 BUT I’M A DEVELOPER GOPHER NOT A

    DATA SCIENTIST. WHY SHOULD I CARE ABOUT
 DEEP LEARNING?”
  11. “THE LAST 10 YEARS HAVE BEEN ABOUT BUILDING A WORLD

    THAT IS MOBILE-FIRST… BUT IN THE NEXT 10 YEARS, WE WILL SHIFT TO A WORLD THAT IS AI-FIRST…” AI-FIRST GOOGLE CEO SUNDAR PICHAI A PERSONAL GOOGLE, JUST FOR YOU SOURCE: HTTPS://WWW.BLOG.GOOGLE/PRODUCTS/ASSISTANT/PERSONAL-GOOGLE-JUST-YOU
  12. “IN AN AI-FIRST WORLD, WE ARE RETHINKING ALL OUR PRODUCTS

    AND APPLYING MACHINE LEARNING AND AI TO SOLVE USER PROBLEMS. AND WE ARE DOING THIS ACROSS EVERY ONE OF OUR PRODUCTS.” AI-FIRST GOOGLE CEO SUNDAR PICHAI’S KEYNOTE AT 2017 I/O CONFERENCE SOURCE: HTTPS://SINGJUPOST.COM/GOOGLE-CEO-SUNDAR-PICHAIS-KEYNOTE-AT-2017-IO-CONFERENCE-FULL-TRANSCRIPT
  13. AI / ML IS NO LONGER JUST FOR DATA SCIENTISTS

    
 PUTTING AI / ML INTO PRODUCTION REQUIRES DEVELOPERS GOPHERS
  14. IN THE YEARS TO COME, YOU WILL CERTAINLY CONSUME, AND

    PROBABLY CREATE, ARTIFICIAL INTELLIGENCE AND MACHINE LEARNING MICROSERVICES MANY OF THOSE WILL BE BASED ON DEEP LEARNING
  15. “IF CIOS INVESTED IN MACHINE LEARNING THREE YEARS AGO, THEY

    WOULD HAVE WASTED THEIR MONEY. BUT IF THEY WAIT ANOTHER THREE YEARS, THEY WILL NEVER CATCH UP.” DAN OLLEY, ELSEVIER CTO CIO MAGAZINE - APRIL 26, 2016 WHY IT’S TIME FOR CIOS TO INVEST IN MACHINE LEARNING SOURCE: HTTP://WWW.CIO.COM/ARTICLE/3061713/LEADERSHIP-MANAGEMENT/WHY-ITS-TIME-FOR-CIOS-TO-INVEST-IN-MACHINE-LEARNING.HTML
  16. “DEEP LEARNING IS A PARTICULAR KIND OF MACHINE LEARNING THAT

    ACHIEVES GREAT POWER AND FLEXIBILITY BY LEARNING TO REPRESENT THE WORLD AS A NESTED HIERARCHY OF CONCEPTS,”… Ian Goodfellow, Yoshua Bengio & Aaron Courville (2016). Deep Learning. MIT Press WHAT IS DEEP LEARNING
  17. …“WITH EACH CONCEPT DEFINED IN RELATION TO SIMPLER CONCEPTS, AND

    MORE ABSTRACT REPRESENTATIONS COMPUTED IN TERMS OF LESS ABSTRACT ONES.” Ian Goodfellow, Yoshua Bengio & Aaron Courville (2016). Deep Learning. MIT Press WHAT IS DEEP LEARNING
  18. “ALLOW COMPUTERS TO LEARN FROM EXPERIENCE AND UNDERSTAND THE WORLD

    IN TERMS OF A HIERARCHY OF CONCEPTS, WITH EACH CONCEPT DEFINED THROUGH ITS RELATION TO SIMPLER CONCEPTS.” Ian Goodfellow, Yoshua Bengio & Aaron Courville (2016). Deep Learning. MIT Press WHAT IS DEEP LEARNING
  19. “BY GATHERING KNOWLEDGE FROM EXPERIENCE, THIS APPROACH AVOIDS THE NEED

    FOR HUMAN OPERATORS TO FORMALLY SPECIFY ALL THE KNOWLEDGE THAT THE COMPUTER NEEDS.” Ian Goodfellow, Yoshua Bengio & Aaron Courville (2016). Deep Learning. MIT Press WHAT IS DEEP LEARNING
  20. “THE HIERARCHY OF CONCEPTS ENABLES THE COMPUTER TO LEARN COMPLICATED

    CONCEPTS BY BUILDING THEM OUT OF SIMPLER ONES. IF WE DRAW A GRAPH SHOWING HOW THESE CONCEPTS ARE BUILT ON TOP OF EACH OTHER, THE GRAPH IS DEEP, WITH MANY LAYERS.” Ian Goodfellow, Yoshua Bengio & Aaron Courville (2016). Deep Learning. MIT Press WHAT IS DEEP LEARNING
  21. “DEEP LEARNING IS AN APPROACH TO MACHINE LEARNING THAT HAS

    DRAWN HEAVILY ON OUR KNOWLEDGE OF THE HUMAN BRAIN, STATISTICS AND APPLIED MATH.” Ian Goodfellow, Yoshua Bengio & Aaron Courville (2016). Deep Learning. MIT Press WHAT IS DEEP LEARNING
  22. “DEEP LEARNING IS AN APPROACH TO AI. SPECIFICALLY, IT IS

    A TYPE OF MACHINE LEARNING, A TECHNIQUE THAT ALLOWS COMPUTER SYSTEMS TO IMPROVE WITH EXPERIENCE AND DATA.” Ian Goodfellow, Yoshua Bengio & Aaron Courville (2016). Deep Learning. MIT Press WHAT IS DEEP LEARNING
  23. “IN RECENT YEARS, IT (DEEP LEARNING) HAS SEEN TREMENDOUS GROWTH

    IN ITS POPULARITY AND USEFULNESS, DUE IN LARGE PART TO MORE POWERFUL COMPUTERS, LARGER DATASETS AND TECHNIQUES TO TRAIN DEEPER NETWORKS.” Ian Goodfellow, Yoshua Bengio & Aaron Courville (2016). Deep Learning. MIT Press WHAT IS DEEP LEARNING
  24. HOW DEEP LEARNING WORKS - FEED FORWARD NEURAL NETWORK INPUT

    INPUT INPUT OUTPUT DATA DATA DATA In training, data flows forward through the layers of the neural network.
  25. HOW DEEP LEARNING WORKS - ERROR BACKPROPAGATION OUTPUT DATA DATA

    DATA CALC ERROR & ADJUST WEIGHTS CALC ERROR & ADJUST WEIGHTS CALC ERROR & ADJUST WEIGHTS CALC ERROR & ADJUST WEIGHTS CALC ERROR & ADJUST WEIGHTS CALC ERROR & ADJUST WEIGHTS CALC ERROR & ADJUST WEIGHTS CALC ERROR & ADJUST WEIGHTS CALC ERROR & ADJUST WEIGHTS CALC ERROR & ADJUST WEIGHTS EXPECTED VS INPUT INPUT INPUT The actual output values are compared to the known target values of the training data. Then moving backward from output to input, each node’s error is used to adjust that node’s level of importance, in the hope that the next iteration will be more accurate.
  26. HOW DEEP LEARNING WORKS DATA OUTPUT INPUT INPUT INPUT DATA

    DATA Keep iterating forwards and backwards until the neural network’s accuracy meets your goals.
  27. “UPDATE EACH OF THE WEIGHTS IN THE NETWORK SO THAT

    THEY CAUSE THE ACTUAL OUTPUT TO BE CLOSER THE TARGET OUTPUT, THEREBY MINIMIZING THE ERROR FOR EACH OUTPUT NEURON AND THE NETWORK AS A WHOLE.” BACKPROPAGATION SOURCE: HTTPS://MATTMAZUR.COM/2015/03/17/A-STEP-BY-STEP-BACKPROPAGATION-EXAMPLE
  28. “BASICALLY, TRAINING IS A SEARCH. YOU ARE SEARCHING FOR THE

    SET OF WEIGHTS THAT WILL CAUSE THE NEURAL NETWORK TO HAVE THE LOWEST GLOBAL ERROR FOR A TRAINING SET.” Jeff Heaton (2012). Introduction to the Math of Neural Networks. Heaton Research, Inc. WHAT IS DEEP LEARNING
  29. DEEP LEARNING ARCHITECTURES CONVOLUTIONAL NETWORKS FEED-FORWARD CONNECTIVITY INSPIRED BY THE

    ANIMAL VISUAL CORTEX. VISUAL 'TILING' ENABLES IMAGE AND VIDEO RECOGNITION, RECOMMENDER SYSTEMS, AND NATURAL LANGUAGE PROCESSING. RECURRENT NETWORKS CONNECTIONS CREATE AN INTERNAL MEMORY FOR DYNAMIC TEMPORAL BEHAVIOR LIKE SPEECH RECOGNITION OR HANDWRITING RECOGNITION. GENERATIVE ADVERSARIAL NETWORKS TWO NEURAL NETWORKS COMPETING AGAINST EACH OTHER - ONE GENERATIVE AND ONE DISCRIMINATIVE. BLEEDING-EDGE APPROACH USING UNSUPERVISED TRAINING. FEED-FORWARD NETWORKS WITH BACKPROPAGATION THIS IS THE ORIGINAL AND MOST COMMON FORM OF DEEP NEURAL NETWORK.
 WE WILL EXPLORE BACKPROPAGATION IN THE SLIDES TO COME.
  30. package main import ( tf "github.com/tensorflow/tensorflow/tensorflow/go" "github.com/tensorflow/tensorflow/tensorflow/go/op" "fmt" ) func

    main() { // Construct a graph with an operation that produces a string constant. s := op.NewScope() c := op.Const(s, "Hello from TensorFlow version " + tf.Version()) graph, err := s.Finalize() if err != nil { panic(err) } // Execute the graph in a session. sess, err := tf.NewSession(graph, nil) if err != nil { panic(err) } output, err := sess.Run(nil, []tf.Output{c}, nil) if err != nil { panic(err) } fmt.Println(output[0].Value()) } SOURCE: HTTPS://WWW.TENSORFLOW.ORG/INSTALL/INSTALL_GO#HELLO_WORLD TENSORFLOW - HELLO WORLD FOR GO “These APIs are particularly well-suited to loading models created in Python and executing them within a Go application.”
  31. “THE YEARS AHEAD ARE FULL OF CHALLENGES AND OPPORTUNITIES TO

    IMPROVE DEEP LEARNING EVEN FURTHER AND BRING IT TO NEW FRONTIERS.” Ian Goodfellow, Yoshua Bengio & Aaron Courville (2016). Deep Learning. MIT Press THE FUTURE OF ARTIFICIAL INTELLIGENCE
  32. ▸Twitter: @chrisbenson ▸LinkedIn: https://linkedin/in/chrisbenson
 I invite you to connect with

    me. THANK YOU VERY MUCH! SPECIAL THANK YOU TO GOPHER DATA SCIENCE MVP DANIEL WHITENACK FOR GUIDANCE & MENTORING