Delve into neural networks, implement deep learning algorithms, and explore layers of data abstraction with the help of this comprehensive TensorFlow guideAbout This Book* Learn how to implement advanced techniques in deep learning with Google's brainchild, TensorFlow* Explore deep neural networks and layers of data abstraction with the help of this comprehensive guide* Real-world contextualization through some deep learning problems concerning research and application Who This Book Is ForThe book is intended for a general audience of people interested in machine learning and machine intelligence. A rudimentary level of programming in one language is assumed, as is a basic familiarity with computer science techniques and technologies, including a basic awareness of computer hardware and algorithms. Some competence in mathematics is needed to the level of elementary linear algebra and calculus.What You Will Learn* Learn about machine learning landscapes along with the historical development and progress of deep learning* Learn about deep machine intelligence and GPU computing with the latest TensorFlow 1.x* Access public datasets and utilize them using TensorFlow to load, process, and transform data* Use TensorFlow on real-world datasets, including images, text, and more* Learn how to evaluate the performance of your deep learning models* Using deep learning for scalable object detection and mobile computing* Train machines quickly to learn from data by exploring reinforcement learning techniques* Explore active areas of deep learning research and applicationsIn DetailDeep learning is the step that comes after machine learning, and has more advanced implementations. Machine learning is not just for academics anymore, but is becoming a mainstream practice through wide adoption, and deep learning has taken the front seat. As a data scientist, if you want to explore data abstraction layers, this book will be your guide. This book shows how this can be exploited in the real world with complex raw data using TensorFlow 1.x.Throughout the book, you'll learn how to implement deep learning algorithms for machine learning systems and integrate them into your product offerings, including search, image recognition, and language processing. Additionally, you'll learn how to analyze and improve the performance of deep learning models. This can be done by comparing algorithms against benchmarks, along with machine intelligence, to learn from the information and determine ideal behaviors within a specific context.After finishing the book, you will be familiar with machine learning techniques, in particular the use of TensorFlow for deep learning, and will be ready to apply your knowledge to research or commercial projects.Style and approachThis step-by-step guide will explore common, and not so common, deep neural networks and show how these can be exploited in the real world with complex raw data. With the help of practical examples, you will learn how to implement different types of neural nets to build smart applications related to text, speech, and image data processing.
Author(s): Giancarlo Zaccone; Md. Rezaul Karim; Ahmed Menshawy
Year: 2017
Language: English
Pages: 320
Cover
Copyright
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Customer Feedback
Table of Contents
Preface
Chapter 1: Getting Started with Deep Learning
Introducing machine learning
Supervised learning
Unsupervised learning
Reinforcement learning
What is deep learning?
How the human brain works
Deep learning history
Problems addressed
Neural networks
The biological neuron
An artificial neuron
How does an artificial neural network learn?
The backpropagation algorithm
Weights optimization
Stochastic gradient descent
Neural network architectures
Multilayer perceptron
DNNs architectures
Convolutional Neural Networks
Restricted Boltzmann Machines
Autoencoders
Recurrent Neural Networks
Deep learning framework comparisons
Summary
Chapter 2: First Look at TensorFlow
General overview
What's new with TensorFlow 1.x?
How does it change the way people use it?
Installing and getting started with TensorFlow
Installing TensorFlow on Linux
Which TensorFlow to install on your platform?
Requirements for running TensorFlow with GPU from NVIDIA
Step 1: Install NVIDIA CUDA
Step 2: Installing NVIDIA cuDNN v5.1+
Step 3: GPU card with CUDA compute capability 3.0+
Step 4: Installing the libcupti-dev library
Step 5: Installing Python (or Python3)
Step 6: Installing and upgrading PIP (or PIP3)
Step 7: Installing TensorFlow
How to install TensorFlow
Installing TensorFlow with native pip
Installing with virtualenv
Installing TensorFlow on Windows
Installation from source
Install on Windows
Test your TensorFlow installation
Computational graphs
Why a computational graph?
Neural networks as computational graphs
The programming model
Data model
Rank
Shape
Data types
Variables
Fetches
Feeds
TensorBoard
How does TensorBoard work?
Implementing a single input neuron
Source code for the single input neuron
Migrating to TensorFlow 1.x
How to upgradeĀ using the script
Limitations
Upgrading code manually
Variables
Summary functions
Simplified mathematical variants
Miscellaneous changes
Summary
Chapter 3: Using TensorFlow on a Feed-Forward Neural Network
Introducing feed-forward neural networks
Feed-forward and backpropagation
Weights and biases
Transfer functions
Classification of handwritten digits
Exploring the MNIST dataset
Softmax classifier
Visualization
How to save and restore a TensorFlow model
Saving a model
Restoring a model
Softmax source code
Softmax loader source code
Implementing a five-layer neural network
Visualization
Five-layer neural network source code
ReLU classifier
Visualization
Source code for the ReLU classifier
Dropout optimization
Visualization
Source code for dropout optimization
Summary
Chapter 4: TensorFlow on a Convolutional Neural Network
Introducing CNNs
CNN architecture
A model for CNNs - LeNet
Building your first CNN
Source code for a handwritten classifier
Emotion recognition with CNNs
Source code for emotion classifier
Testing the model on your own image
Source code
Summary
Chapter 5: Optimizing TensorFlow Autoencoders
Introducing autoencoders
Implementing an autoencoder
Source code for the autoencoder
Improving autoencoder robustness
Building a denoising autoencoder
Source code for the denoising autoencoder
Convolutional autoencoders
Encoder
Decoder
Source code for convolutional autoencoder
Summary
Chapter 6: Recurrent Neural Networks
RNNs basic concepts
RNNs at work
Unfolding an RNN
The vanishing gradient problem
LSTM networks
An image classifier with RNNs
Source code for RNN image classifier
Bidirectional RNNs
Source code for the bidirectional RNN
Text prediction
Dataset
Perplexity
PTB model
Running the example
Summary
Chapter 7: GPU Computing
GPGPU computing
GPGPU history
The CUDA architecture
GPU programming model
TensorFlow GPU set up
Update TensorFlow
TensorFlow GPU management
Programming example
Source code for GPU computation
GPU memory management
Assigning a single GPU on a multi-GPU system
Source code for GPU with soft placement
Using multiple GPUs
Source code for multiple GPUs management
Summary
Chapter 8: Advanced TensorFlow Programming
Introducing Keras
Installation
Building deep learning models
Sentiment classification of movie reviews
Source code for the Keras movie classifier
Adding a convolutional layer
Source code for movie classifier with convolutional layer
Pretty Tensor
Chaining layers
Normal mode
Sequential mode
Branch and join
Digit classifier
Source code for digit classifier
TFLearn
TFLearn installation
Titanic survival predictor
Source code for titanic classifier
Summary
Chapter 9: Advanced Multimedia Programming with TensorFlow
Introduction to multimedia analysis
Deep learning for Scalable Object Detection
Bottlenecks
Using the retrained model
Accelerated Linear Algebra
Key strengths of TensorFlow
Just-in-time compilation via XLA
JIT compilation
Existence and advantages of XLA
Under the hood working of XLA
Still experimental
Supported platforms
More experimental material
TensorFlow and Keras
What is Keras?
Effects of having Keras on board
Video question answering system
Not runnable code!
Deep learning on Android
TensorFlow demo examples
Getting started with Android
Architecture requirements
Prebuilt APK
Running the demo
Building with Android studio
Going deeper - Building with Bazel
Summary
Chapter 10: Reinforcement Learning
Basic concepts of Reinforcement Learning
Q-learning algorithm
Introducing the OpenAI Gym framework
FrozenLake-v0 implementation problem
Source code for the FrozenLake-v0 problem
Q-learning with TensorFlow
Source code for the Q-learning neural network
Summary
Index