Skip to main content

2017 | Buch

Deep Learning with Python

A Hands-on Introduction

insite
SUCHEN

Über dieses Buch

Discover the practical aspects of implementing deep-learning solutions using the rich Python ecosystem. This book bridges the gap between the academic state-of-the-art and the industry state-of-the-practice by introducing you to deep learning frameworks such as Keras, Theano, and Caffe. The practicalities of these frameworks is often acquired by practitioners by reading source code, manuals, and posting questions on community forums, which tends to be a slow and a painful process. Deep Learning with Python allows you to ramp up to such practical know-how in a short period of time and focus more on the domain, models, and algorithms.
This book briefly covers the mathematical prerequisites and fundamentals of deep learning, making this book a good starting point for software developers who want to get started in deep learning. A brief survey of deep learning architectures is also included.
Deep Learning with Python also introduces you to key concepts of automatic differentiation and GPU computation which, while not central to deep learning, are critical when it comes to conducting large scale experiments.
What You Will Learn Leverage deep learning frameworks in Python namely, Keras, Theano, and Caffe
Gain the fundamentals of deep learning with mathematical prerequisites
Discover the practical considerations of large scale experiments
Take deep learning models to production
Who This Book Is For
Software developers who want to try out deep learning as a practical solution to a particular problem. Software developers in a data science team who want to take deep learning models developed by data scientists to production.

Inhaltsverzeichnis

Frontmatter
Chapter 1. Introduction to Deep Learning
Abstract
This chapter provides a broad overview and an historical context on the subject of deep learning. It also gives the reader a roadmap for navigating the book, its prerequisites, and further reading to dive deeper into the subject matter.
Nikhil Ketkar
Chapter 2. Machine Learning Fundamentals
Abstract
Deep Learning is a branch of Machine Learning and in this chapter we will cover the fundamentals of Machine Learning. While machine learning as a subject is inherently mathematical in nature, we will keep mathematics to the basic minimum required to develop intuition about the subject.
Nikhil Ketkar
Chapter 3. Feed Forward Neural Networks
Abstract
In this chapter we will cover some key concepts around feedforward neural networks.
Nikhil Ketkar
Chapter 4. Introduction to Theano
Abstract
In this chapter we introduce the reader to Theano, which is a Python library for defining mathematical functions (operating over vectors and matrices), and computing the gradients of these functions. Theano is the foundational layer on which many deep learning packages like Keras are based.
Nikhil Ketkar
Chapter 5. Convolutional Neural Networks
Abstract
Convolution Neural Networks (CNNs) in essence are neural networks that employ the convolution operation (instead of a fully connected layer) as one of its layers.
Nikhil Ketkar
Chapter 6. Recurrent Neural Networks
Abstract
Recurrent Neural Networks (RNNs) in essence are neural networks that employ recurrence, which is basically using information from a previous forward pass over the neural network.
Nikhil Ketkar
Chapter 7. Introduction to Keras
Abstract
This chapter introduces the reader to Keras, which is a library that provides highly powerful and abstract building blocks to build deep learning networks.
Nikhil Ketkar
Chapter 8. Stochastic Gradient Descent
Abstract
This chapter gives a broad overview and a historical context around the subject of deep learning. It also gives the reader a roadmap for navigating the book, the prerequisites, and further reading to dive deeper into the subject matter.
Nikhil Ketkar
Chapter 9. Automatic Differentiation
Abstract
In the chapter on Stochastic Gradient Descent, we treated the computation of gradients of the loss function as a black box.
Nikhil Ketkar
Chapter 10. Introduction to GPUs
Abstract
This chapter introduces the reader to GPU (Graphics Processing Unit)-based computation, which has played and will continue to play a big role in the successful application of Deep Learning in a variety of application domains.
Nikhil Ketkar
Chapter 11. Introduction to Tensorflow
Abstract
In this chapter we will cover Tensorflow which allows users to define mathematical functions via computational graphs and to compute their gradients. Tensorflow is conceptually similar to Theano, and Keras uses both of them as back ends.
Nikhil Ketkar
Chapter 12. Introduction to PyTorch
Abstract
In this chapter, we will cover PyTorch which is a more recent addition to the ecosystem of the deep learning framework. PyTorch can be seen as a Python front end to the Torch engine (which initially only had Lua bindings) which at its heart provides the ability to define mathematical functions and compute their gradients. PyTorch has fairly good Graphical Processing Unit (GPU) support and is a fast-maturing framework.
Nikhil Ketkar
Chapter 13. Regularization Techniques
Abstract
In this chapter we will cover three regularization techniques commonly used in deep learning, namely, early stopping, norm penalties, and dropout. The reader is advised to refer to Chapter 2 introducing the basics of machine learning, specifically to revisit the notions of model capacity, overfitting, and underfitting.
Nikhil Ketkar
Chapter 14. Training Deep Learning Models
Abstract
Throughout the book we have covered the theoretical aspects of models and introduced the reader to a number of frameworks for deep learning. In this chapter we will cover the process of training deep learning models.
Nikhil Ketkar
Backmatter
Metadaten
Titel
Deep Learning with Python
verfasst von
Nikhil Ketkar
Copyright-Jahr
2017
Verlag
Apress
Electronic ISBN
978-1-4842-2766-4
Print ISBN
978-1-4842-2765-7
DOI
https://doi.org/10.1007/978-1-4842-2766-4