Book Image

Python Deep Learning Projects

By : Matthew Lamons, Rahul Kumar, Abhishek Nagaraja
Book Image

Python Deep Learning Projects

By: Matthew Lamons, Rahul Kumar, Abhishek Nagaraja

Overview of this book

Deep learning has been gradually revolutionizing every field of artificial intelligence, making application development easier. Python Deep Learning Projects imparts all the knowledge needed to implement complex deep learning projects in the field of computational linguistics and computer vision. Each of these projects is unique, helping you progressively master the subject. You’ll learn how to implement a text classifier system using a recurrent neural network (RNN) model and optimize it to understand the shortcomings you might experience while implementing a simple deep learning system. Similarly, you’ll discover how to develop various projects, including word vector representation, open domain question answering, and building chatbots using seq-to-seq models and language modeling. In addition to this, you’ll cover advanced concepts, such as regularization, gradient clipping, gradient normalization, and bidirectional RNNs, through a series of engaging projects. By the end of this book, you will have gained knowledge to develop your own deep learning systems in a straightforward way and in an efficient way
Table of Contents (17 chapters)
8
Handwritten Digits Classification Using ConvNets

What this book covers

Chapter 1, Building Deep Learning Environments, in this chapter we will establish a common workspace for our projects with core technologies such as Ubuntu, Anaconda, Python, TensorFlow, Keras, and Google Cloud Platform (GCP).

Chapter 2, Training a Neural Net for Prediction Using Regression, in this chapter we will build a 2 layer (minimally deep) neural network in TensorFlow and train it on the classic MNIST dataset of handwritten digits for a restaurant patron text notification business use case.

Chapter 3, Word Representations Using word2vec, in this chapter we will learn and use word2vec to transform words into dense vectors (that is, tensors) creating embedding representations for a corpus, then create a convolutional neural network (CNN) to build a language model for sentiment analysis in a text exchange business use case.

Chapter 4, Build a NLP Pipeline for Building Chatbots, in this chapter we will create an NLP pipeline to tokenized a corpus, tag parts of speech, determine relationships between words with dependency parsing, and that conducts Named Entity Recognition. Use TF-IDF to vectorize the features in the document to create a simple FAQ type chatbot. Enhance this chatbot with NER and implementation of Rasa NLU to build a chatbot which understands the context (intent) to provide an accurate response.

Chapter 5, Sequence-to-sequence Models for Building Chatbots, in this chapter we will use Chapter 4, Build a NLP Pipeline for Building Chatbots, chatbots to build a more advanced chatbot combining learnings from earlier projects in a number of technologies to make a chatbot that is more contextually aware and robust. We avoided some of the limitations of CNNs in chatbots by building a recurrent neural network (RNN) model with long short-term memory (LSTM) units specifically designed to capture the signal represented in sequences of characters or words.

Chapter 6, Generative Language Model for Content Creation, in this chapter we implement a generative model to generate content using the long short-term memory (LSTM), variational autoencoders, and Generative Adversarial Networks (GANs). You will effectively implement models for both text and music which can generate song lyrics, scripts, and music for artists and various creative businesses.

Chapter 7, Building Speech Recognition with DeepSpeech2, in this chapter we build and train an automatic speech recognition (ASR) system to accept then convert an audio call to text that could then be used as the input into a text-based chatbot. Work with speech and spectrograms to build an end-to-end speech recognition system with a Connectionist Temporal Classification (CTC) loss function, batch normalization and SortaGrad for the RNNs. This chapter is the capstone in the Natural Language Processing section of the Python Deep Learning Projects Book.

Chapter 8, Handwritten Digit Classification Using ConvNets, in this chapter we will teach the fundamentals of Convolutional Neural Networks (ConvNets) in an examination of the convolution operation, pooling, and dropout regularization. These are the levers you'll adjust in tuning your models in your career. See the value of deploying a more complex and deeper model in the performance results compared to an earlier Python Deep Learning Project in Chapter 2, Training a Neural Net for Prediction Using Regression.

Chapter 9, Object Detection Using OpenCV and TensorFlow, in this chapter we will learn to master object detection and classification while using significantly more informationally complex data than previous projects, to produce impressive outcomes. Learn to use the deep learning package YOLOv2 and gain experience how this model architecture gets deeper and more complex and produces good results.

Chapter 10, Building Facial Recognition Using FaceNet, in this chapter we will be using FaceNet to build a model that looks at a picture and identifies all the possible faces in it, then performs face extraction to understand the quality of the face part of the image. Performing feature extraction on the face identified parts of the image provides the basis for comparison to another data point (a labeled image of the person's face). This Python Deep Learning Project demonstrates the exciting potential for this technology in applications from social media to security.

Chapter 11, Automated Image Captioning, in this chapter we will combine the current state-of-the-art techniques we've learned so far in Python Deep Learning Projects in both computer vision and natural language processing to form a complete image description approach. The clever idea that makes this possible is to replace the Encoder (RNN layer) in an Encoder-Decoder architecture with a deep Convolutional Neural Network (CNN) trained to classify objects in images. This model is capable of constructing computer-generated natural language descriptions of any image provided.

Chapter 12, Pose Estimation on 3D Models Using ConvNets, in this chapter we will successfully build a deep convolution neural network/VGG16 model in Keras on Frames Labeled In Cinema (FLIC) images. Get hands-on experience in preparing the images for modeling. Successfully implement transfer learning and test the modified VGG16 model performance on unseen data to determined success.

Chapter 13, Image Translation Using GANs for Style Transfer, in this chapter you will build a neural network that fills in the missing part of a handwritten digit. Focusing on the model creation -the generation/reconstruction of the missing sections of a digit with the help of neural inpainting with GANs, you will then reconstruct (generate back) the missing parts of the handwritten numbers so that the classifier can receive clear handwritten numbers for conversion into digits.

Chapter 14, Develop an Autonomous Agent with Deep R Learning, in this chapter we will build a deep reinforcement learning model to successfully play the game of CartPole-v1 from OpenAI Gym. Learn and demonstrate professional competency in the Gym toolkit, Q and SARSA learning, how to code the reinforcement learning model and define hyperparameters, build the training loop and test the model.

Chapter 15, Summary and Next Steps in Your Deep Learning Career, in this chapter you will find reviews key learnings, with a summary of deep learning projects intuition and looks to what could be next in your deep learning career.