▶Book Description
Deep 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 and has been fully updated to the latest version of 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.
▶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 applications
▶Key Features
- 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 For
The 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 this book covers
- Chapter 1, Getting Started with Deep Learning, covers the concepts that will be found in all the subsequent chapters. The basics of machine learning and deep learning are also discussed. We will also look at Deep learning architectures that are distinguished from the more commonplace single-hidden-layer neural networks by their depth, that is, the number of node layers through which data passes in a multistep process of pattern recognition. We will also analyze these architectures with a chart summarizing all the neural networks from where most of the deep
learning algorithm evolved. The chapter ends with an analysis of the major deep learning frameworks.
- Chapter 2, A First Look at TensorFlow, gives a detailed description of the main TensorFlow features based on a real-life problem, followed by a detailed discussion on TensorFlow installation and configurations. We then look at a computation graph, data, and programming model before getting started with TensorFlow. Toward the end of the chapter, we will look at an example of implementing the linear regression model for predictive analytics.
- Chapter 3, Feed-Forward Neural Networks with TensorFlow, demonstrates the theoretical background of different Feed-Forward Neural Networks' (FFNNs) architectures such as Deep Belief Networks (DBNs) and Multilayer Perceptron (MLP). We will then see how to train and analyze the performance metrics that are needed to evaluate the models; also, how to tune the hyperparameters for FFNNs for better and optimized performance. We will also look at two examples using MLP and DBN on how to build very robust and accurate predictive models for predictive analytics on a bank marketing dataset.
- Chapter 4, Convolutional Neural Networks, introduces the networks of CNNs that are the basic blocks of a Deep Learning-based image classifier. We will consider the most important CNN architectures, such as Lenet, AlexNet, Vgg, and Inception with hands-on examples, specifically for AlexNet and Vgg. We will then examine the transfer learning and style learning techniques. We will end the chapter by developing a CNN to train a network on a series of facial images to classify their emotional stretch.
- Chapter 5, Optimizing TensorFlow Autoencoders, provides sound theoretical background on optimizing autoencoders for data denoising and dimensionality reduction. We will then look at how to implement an autoencoder, gradually moving over to more robust autoencoder implementation, such as denoising autoencoders and convolutional autoencoders. Finally, we will look at a real-life example of fraud
analytics using an autoencoder.
- Chapter 6, Recurrent Neural Networks, provides some theoretical background of RNNs. We will also look at a few examples for implementing predictive models for classification of images, sentiment analysis of movies, and products spam prediction for NLP. Finally, we'll see how to develop predictive models for time series data.
- Chapter 7, Heterogeneous and Distributed Computing, shows the fundamental topic to execute TensorFlow models on GPU cards and distributed systems. We will also look at basic concepts with application examples.
- Chapter 8, Advanced TensorFlow Programming, gives an overview of the following TensorFlow-based libraries: tf.contrib.learn, Pretty Tensor, TFLearn, and Keras. For each library, we will describe the main features with applications.
- Chapter 9, Recommendation Systems using Factorization Machines, provides several examples on how to develop recommendation system for predictive analytics followed by some theoretical background of recommendation systems. We will then look at an example of developing a movie recommendation engine using collaborative filtering and K-means. Considering the limitations of classical approaches, we'll see how to use Neural Factorization Machines for developing more accurate and robust recommendation systems.
- Chapter 10, Reinforcement Learning, covers the basic concepts of RL. We will experience the Q-learning algorithm, which is one of the most popular reinforcement learning algorithms. Furthermore, we'll introduce the OpenAI gym framework that is a TensorFlow compatible toolkit for developing and comparing reinforcement learning algorithms. We end the chapter with the implementation of a Deep Q-Learning algorithm to resolve the cart-pole problem.