16.1 Introduction

  • Deep learning—powerful subset of machine learning
  • Has produced impressive results in computer vision and many other areas
  • Resource-intensive deep-learning solutions are possible due to
    • big data
    • significant processor power
    • faster Internet speeds
    • advancements in parallel computing hardware and software

Keras and TensorFlow

  • Keras offers a friendly interface to Google’s TensorFlow—the most widely used deep-learning library
    • Also works with Microsoft’s CNTK and others
  • François Chollet of the Google Mind team developed Keras to make deep-learning capabilities more accessible
  • Google has thousands of deep learning projects internally — that number is growing quickly [1], [2]

Models

  • Deep learning models connect multiple layers
  • Models encapsulate sophisticated mathematical algorithms
    • You simply define, parameterize and manipulate objects
  • Keras facilitates experimenting with many models to find the best for your application
  • In general, more data leads to better trained deep learning models

Processing Power

  • Deep learning can require significant processing power
  • Training models on big-data can take hours, days or more
  • High-performance GPUs and TPUs (Tensor Processing Units) developed by NVIDIA and Google typically used to meet extraordinary processing demands of deep-learning applications
  • Our examples can be trained in minutes to just less than an hour on conventional CPUs

16.1.1 Deep Learning Applications

  • Game playing
  • Computer vision: Object recognition, pattern recognition, facial recognition
  • Self-driving cars
  • Robotics
  • Improving customer experiences
  • Chatbots
  • Diagnosing medical conditions
  • Google Search
  • Facial recognition
  • Automated image captioning and video closed captioning
  • Enhancing image resolution
  • Speech recognition
  • Language translation
  • Predicting election results
  • Predicting earthquakes and weather
  • Google Sunroof to determine whether you can put solar panels on your roof
  • Generative applications—Generating original images, processing existing images to look like a specified artist’s style, adding color to black-and-white images and video, creating music, creating text (books, poetry) and much more.

16.1.2 Deep Learning Demos

  • Check out these four demos and search online for lots more:
    • DeepArt.io—Turn a photo into artwork by applying an art style to the photo.
    • DeepWarp Demo—Analyzes a person’s photo and makes the person’s eyes move in different directions.
    • Image-to-Image Demo—Translates a line drawing into a picture.
    • Google Translate Mobile App (download from an app store to your smartphone)—Translate text in a photo to another language (e.g., take a photo of a sign or a restaurant menu in Spanish and translate the text to English).

16.1.3 Keras Resources

  • Resources you might find valuable as you study deep learning:
    • To get your questions answered, go to the Keras team’s slack channel
    • Articles and tutorials
    • Keras documentation
    • For term projects, directed study projects, capstone course projects or thesis topics, visit arXiv (pronounced “archive,” where the X represents the Greek letter “chi”)
      • People post their research papers here in parallel with going through peer review for formal publication, hoping for fast feedback
      • Gives you access to extremely current research

©1992–2020 by Pearson Education, Inc. All Rights Reserved. This content is based on Chapter 5 of the book Intro to Python for Computer Science and Data Science: Learning to Program with AI, Big Data and the Cloud.

DISCLAIMER: The authors and publisher of this book have used their best efforts in preparing the book. These efforts include the development, research, and testing of the theories and programs to determine their effectiveness. The authors and publisher make no warranty of any kind, expressed or implied, with regard to these programs or to the documentation contained in these books. The authors and publisher shall not be liable in any event for incidental or consequential damages in connection with, or arising out of, the furnishing, performance, or use of these programs.