# Deep Learning For Dummies

ISBN: 9788126529988

380 pages

## Description

This book makes sense of those increasingly confusing algorithms, and it creates a simple and safe environment to experiment with deep learning. It develops a sense of precisely what deep learning can do at a high level and then it provides examples of the major deep learning application types. The book includes simple example code, but there is also approachable text with real world examples, and even some hands on activities. The reader learns the topic in more than one way and from more than one perspective.

Introduction

About This Book

Foolish Assumptions

Icons Used in This Book

Beyond the Book

Where to Go from Here

Part 1: Discovering Deep Learning

Chapter 1: Introducing Deep Learning

- Defining What Deep Learning Means
- Starting from Artificial Intelligence
- Considering the role of AI
- Focusing on machine learning
- Moving from machine learning to deep learning
- Using Deep Learning in the Real World
- Understanding the concept of learning
- Performing deep learning tasks
- Employing deep learning in applications
- Considering the Deep Learning Programming Environment
- Overcoming Deep Learning Hype
- Discovering the start-up ecosystem
- Knowing when not to use deep learning

Chapter 2: Introducing the Machine Learning Principles

- Defining Machine Learning
- Understanding how machine learning works
- Understanding that it's pure math
- Learning by different strategies
- Training, validating, and testing data
- Looking for generalization
- Getting to know the limits of bias
- Keeping model complexity in mind
- Considering the Many Different Roads to Learning
- Understanding there is no free lunch
- Discovering the five main approaches
- Delving into some different approaches
- Awaiting the next breakthrough
- Pondering the True Uses of Machine Learning
- Understanding machine learning benefits
- Discovering machine learning limits

Chapter 3: Getting and Using Python

- Working with Python in this Book
- Obtaining Your Copy of Anaconda
- Getting Continuum Analytics Anaconda
- Installing Anaconda on Linux
- Installing Anaconda on MacOS
- Installing Anaconda on Windows
- Downloading the Datasets and Example Code
- Using Jupyter Notebook
- Defining the code repository
- Getting and using datasets
- Creating the Application
- Understanding cells
- Adding documentation cells
- Using other cell types
- Understanding the Use of Indentation
- Adding Comments
- Understanding comments
- Using comments to leave yourself reminders
- Using comments to keep code from executing
- Getting Help with the Python Language
- Working in the Cloud
- Using the Kaggle datasets and kernels
- Using the Google Colaboratory

Chapter 4: Leveraging a Deep Learning Framework

- Presenting Frameworks
- Defining the differences
- Explaining the popularity of frameworks
- Defining the deep learning framework
- Choosing a particular framework
- Working with Low-End Frameworks
- Caffe2
- Chainer
- PyTorch
- MXNet
- Microsoft Cognitive Toolkit/CNTK
- Understanding TensorFlow
- Grasping why TensorFlow is so good
- Making TensorFlow easier by using TFLearn
- Using Keras as the best simplifier
- Getting your copy of TensorFlow and Keras
- Fixing the C++ build tools error in Windows
- Accessing your new environment in Notebook

Part 2: Considering Deep Learning Basics

Chapter 5: Reviewing Matrix Math and Optimization

- Revealing the Math You Really Need
- Working with data
- Creating and operating with a matrix
- Understanding Scalar, Vector, and Matrix Operations
- Creating a matrix
- Performing matrix multiplication
- Executing advanced matrix operations
- Extending analysis to tensors
- Using vectorization effectively
- Interpreting Learning as Optimization
- Exploring cost functions
- Descending the error curve
- Learning the right direction
- Updating

Chapter 6: Laying Linear Regression Foundations

- Combining Variables
- Working through simple linear regression
- Advancing to multiple linear regression
- Including gradient descent
- Seeing linear regression in action
- Mixing Variable Types
- Modeling the responses
- Modeling the features
- Dealing with complex relations
- Switching to Probabilities
- Specifying a binary response
- Transforming numeric estimates into probabilities
- Guessing the Right Features
- Defining the outcome of incompatible features
- Solving overfitting using selection and regularization
- Learning One Example at a Time
- Using gradient descent
- Understanding how SGD is different

Chapter 7: Introducing Neural Networks

- Discovering the Incredible Perceptron
- Understanding perceptron functionality
- Touching the nonseparability limit
- Hitting Complexity with Neural Networks
- Considering the neuron
- Pushing data with feed-forward
- Going even deeper into the rabbit hole
- Using backpropagation to adjust learning
- Struggling with Overfitting
- Understanding the problem
- Opening the black box

Chapter 8: Building a Basic Neural Network

- Understanding Neural Networks
- Defining the basic architecture
- Documenting the essential modules
- Solving a simple problem
- Looking Under the Hood of Neural Networks
- Choosing the right activation function
- Relying on a smart optimizer
- Setting a working learning rate

Chapter 9: Moving to Deep Learning

- Seeing Data Everywhere
- Considering the effects of structure
- Understanding Moore's implications
- Considering what Moore's Law changes
- Discovering the Benefits of Additional Data
- Defining the ramifications of data
- Considering data timeliness and quality
- Improving Processing Speed
- Leveraging powerful hardware
- Making other investments
- Explaining Deep Learning Differences from Other Forms of AI
- Adding more layers
- Changing the activations
- Adding regularization by dropout
- Finding Even Smarter Solutions
- Using online learning
- Transferring learning
- Learning end to end

Chapter 10: Explaining Convolutional Neural Networks

- Beginning the CNN Tour with Character Recognition
- Understanding image basics
- Explaining How Convolutions Work
- Understanding convolutions
- Simplifying the use of pooling
- Describing the LeNet architecture
- Detecting Edges and Shapes from Images
- Visualizing convolutions
- Unveiling successful architectures
- Discussing transfer learning

Chapter 11: Introducing Recurrent Neural Networks

- Introducing Recurrent Networks
- Modeling sequences using memory
- Recognizing and translating speech
- Placing the correct caption on pictures
- Explaining Long Short-Term Memory
- Defining memory differences
- Walking through the LSTM architecture
- Discovering interesting variants
- Getting the necessary attention

Part 3: Interacting with Deep Learning

Chapter 12: Performing Image Classification

- Using Image Classification Challenges
- Delving into ImageNet and MS COCO
- Learning the magic of data augmentation
- Distinguishing Traffic Signs
- Preparing image data
- Running a classification task

Chapter 13: Learning Advanced CNNs

- Distinguishing Classification Tasks
- Performing localization
- Classifying multiple objects
- Annotating multiple objects in images
- Segmenting images
- Perceiving Objects in Their Surroundings
- Discovering how RetinaNet works
- Using the Keras-RetinaNet code
- Overcoming Adversarial Attacks on Deep Learning Applications
- Tricking pixels
- Hacking with stickers and other artifacts

Chapter 14: Working on Language Processing

- Processing Language
- Defining understanding as tokenization
- Putting all the documents into a bag
- Memorizing Sequences that Matter
- Understanding semantics by word embeddings
- Using AI for Sentiment Analysis

Chapter 15: Generating Music and Visual Art

- Learning to Imitate Art and Life
- Transferring an artistic style
- Reducing the problem to statistics
- Understanding that deep learning doesn't create
- Mimicking an Artist
- Defining a new piece based on a single artist
- Combining styles to create new art
- Visualizing how neural networks dream
- Using a network to compose music

Chapter 16: Building Generative Adversarial Networks

- Making Networks Compete
- Finding the key in the competition
- Achieving more realistic results
- Considering a Growing Field
- Inventing realistic pictures of celebrities
- Enhancing details and image translation

Chapter 17: Playing with Deep Reinforcement Learning

- Playing a Game with Neural Networks
- Introducing reinforcement learning
- Simulating game environments
- Presenting Q-learning
- Explaining Alpha-Go
- Determining if you're going to win
- Applying self-learning at scale

Part 4: The Part of Tens

Chapter 18: Ten Applications that Require Deep Learning

- Restoring Color to Black-and-White Videos and Pictures
- Approximating Person Poses in Real Time
- Performing Real-Time Behavior Analysis
- Translating Languages
- Estimating Solar Savings Potential
- Beating People at Computer Games
- Generating Voices
- Predicting Demographics
- Creating Art from Real-World Pictures
- Forecasting Natural Catastrophes

Chapter 19: Ten Must-Have Deep Learning Tools

- Compiling Math Expressions Using Theano
- Augmenting TensorFlow Using Keras
- Dynamically Computing Graphs with Chainer
- Creating a MATLAB-Like Environment with Torch
- Performing Tasks Dynamically with PyTorch
- Accelerating Deep Learning Research Using CUDA
- Supporting Business Needs with Deeplearning4j
- Mining Data Using Neural Designer
- Training Algorithms Using Microsoft Cognitive Toolkit (CNTK)
- Exploiting Full GPU Capability Using MXNet

Chapter 20: Ten Types of Occupations that Use Deep Learning

- Managing People
- Improving Medicine
- Developing New Devices
- Providing Customer Support
- Seeing Data in New Ways
- Performing Analysis Faster
- Creating a Better Work Environment
- Researching Obscure or Detailed Information
- Designing Buildings
- Enhancing Safety

Index