Deep learning for dummies
- New Delhi Wiley India Pvt. Ltd. 2023
- xi, 350 p.
Table of content 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
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
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.