Simple Deep Learning for Programmers: Write your own modern neural networks in Keras and Python for images and sequence data

Simple Deep Learning for Programmers: Write your own modern neural networks in Keras and Python for images and sequence data

English | 2018 | 89 Pages | EPUB, AZW3 | 10 MB

Want to learn deep learning and AI, but hate math?
This book is an experiment for me.
After years of teaching successful deep learning and machine learning courses online, I’ve come to notice a few patterns.
One of them is that a large subset of students just RUN AWAY at the sight of math.
This is somewhat problematic since machine learning is essentially applied math (e.g. instead of just writing down equations you’re programming the equations into a computer in order to perform some useful task).
A lot of students have asked me, “Lazy Programmer, is it possible to learn machine learning with an API?”
Indeed, in programming, the idea that you can have abstractions for different components in a large system is a very powerful concept.
It means that instead of having to understand every single line of code in great detail, you instead trust that other programmers, all building their respective components, have completed their respective piece of the puzzle.
An API is a contract. It says, “You give me this, and I promise to give you this back.”
It allows you to focus on writing your part of the system only, since you trust that everyone else has performed their jobs correctly.
This book is an experiment to see how well students can learn some of the basic concepts in deep learning, without having to do any math or theoretical work.
If you are a programmer that wants to learn deep learning by taking the “API approach”, then this book is perfect for you.
I have courses totaling over 100 hours of math, algorithms, and theory. If that’s what you’re looking for, this is not it.
In this book, we’re going to learn how to solve practical problems using deep learning in Python and Keras, without having to do any math beyond basic arithmetic.
We’ll be looking at several modern neural network architectures and concepts, including:

  • Feedforward Neural Networks
  • Dropout Regularization
  • Batch Normalization
  • Convolutional Neural Networks
  • Recurrent Neural Networks (LSTM and GRU)

We will also use these concepts to solve real-world problems, such as:

  • Image Classification
  • Text Classification (Sentiment Analysis)
  • Neural Machine Translation

If you think these are just toy problems, think again.
Image classification is used in object detection, which is in turn used for up and coming technologies such as self-driving cars. The same techniques can be applied to facial recognition (although I don’t know too many people who are excited by this technology).
Sentiment analysis and spam detection are two examples of text classification. Sentiment analysis has been applied to predict the stock market (yes, you can even use this technology to get rich!) and spam detection is used everyday by companies like Google, Yahoo, and Microsoft to keep your email inboxes clean and free of spam.
I don’t think anybody needs to be convinced that machine translation is useful and practical. Imagine communicating with someone around the world who doesn’t even speak the same language as you! Truly incredible.
As of today, the easiest way to create neural networks to perform the above tasks is a library called Keras written in the Python programming language.
The goal of this book is to get you writing code for practical applications, without having to spend years and years learning all the math and theory usually required to understand deep learning from scratch.
EVERY piece of code in this book is designed to be run by YOU. EVERY piece of code is explained line-by-line, so you understand what’s happening as you run it.
This book is meant to be extremely hands-on. If you are not coding as you read it, you are doing it wrong!
By the end of this book, you’ll be a natural at writing code to (1) load in your dataset, (2) train your machine learning model, (3) make new predictions using your model, and (4) evaluate your model’s performance.