Recurrent Neural Networks with Python Quick Start Guide

Book description

Learn how to develop intelligent applications with sequential learning and apply modern methods for language modeling with neural network architectures for deep learning with Python's most popular TensorFlow framework.

Key Features

  • Train and deploy Recurrent Neural Networks using the popular TensorFlow library
  • Apply long short-term memory units
  • Expand your skills in complex neural network and deep learning topics

Book Description

Developers struggle to find an easy-to-follow learning resource for implementing Recurrent Neural Network (RNN) models. RNNs are the state-of-the-art model in deep learning for dealing with sequential data. From language translation to generating captions for an image, RNNs are used to continuously improve results. This book will teach you the fundamentals of RNNs, with example applications in Python and the TensorFlow library. The examples are accompanied by the right combination of theoretical knowledge and real-world implementations of concepts to build a solid foundation of neural network modeling.

Your journey starts with the simplest RNN model, where you can grasp the fundamentals. The book then builds on this by proposing more advanced and complex algorithms. We use them to explain how a typical state-of-the-art RNN model works. From generating text to building a language translator, we show how some of today's most powerful AI applications work under the hood.

After reading the book, you will be confident with the fundamentals of RNNs, and be ready to pursue further study, along with developing skills in this exciting field.

What you will learn

  • Use TensorFlow to build RNN models
  • Use the correct RNN architecture for a particular machine learning task
  • Collect and clear the training data for your models
  • Use the correct Python libraries for any task during the building phase of your model
  • Optimize your model for higher accuracy
  • Identify the differences between multiple models and how you can substitute them
  • Learn the core deep learning fundamentals applicable to any machine learning model

Who this book is for

This book is for Machine Learning engineers and data scientists who want to learn about Recurrent Neural Network models with practical use-cases. Exposure to Python programming is required. Previous experience with TensorFlow will be helpful, but not mandatory.

Table of contents

  1. Title Page
  2. Copyright and Credits
    1. Recurrent Neural Networks with Python Quick Start Guide
  3. About Packt
    1. Why subscribe?
    2. Packt.com
  4. Contributors
    1. About the author
    2. About the reviewer
    3. Packt is searching for authors like you
  5. Preface
    1. Who this book is for
    2. What this book covers
    3. To get the most out of this book
      1. Download the example code files
      2. Download the color images
      3. Conventions used
    4. Get in touch
      1. Reviews
  6. Introducing Recurrent Neural Networks
    1. What is an RNN?
    2. Comparing recurrent neural networks with similar models
      1. Hidden Markov model
      2. Recurrent neural network
    3. Understanding how recurrent neural networks work
      1. Basic neural network overview
      2. Obtaining data
      3. Encoding the data
      4. Building the architecture 
      5. Training the model
      6. Evaluating the model
    4. Key problems with the standard recurrent neural network model
    5. Summary
    6. External links
  7. Building Your First RNN with TensorFlow
    1. What are you going to build?
    2. Introduction to TensorFlow
      1. Graph-based execution
      2. Eager execution
    3. Coding the recurrent neural network
      1. Generating data
      2. Building the TensorFlow graph
      3. Training the RNN
      4. Evaluating the predictions
    4. Summary
    5. External links
  8. Generating Your Own Book Chapter
    1. Why use the GRU network?
    2. Generating your book chapter
      1. Obtaining the book text
      2. Encoding the text
      3. Building the TensorFlow graph
      4. Training the network
      5. Generating your new text
    3. Summary
    4. External links
  9. Creating a Spanish-to-English Translator
    1. Understanding the translation model
    2. What is an LSTM network?
    3. Understanding the sequence-to-sequence network with attention
    4. Building the Spanish-to-English translator
      1. Preparing the data
      2. Constructing the TensorFlow graph
      3. Training the model
      4. Predicting the translation
      5. Evaluating the final results
    5. Summary
    6. External links
  10. Building Your Personal Assistant
    1. What are we building?
    2. Preparing the data
    3. Creating the chatbot network
    4. Training the chatbot
    5. Building a conversation
    6. Summary
    7. External links
  11. Improving Your RNN Performance
    1. Improving your RNN model
      1. Improving performance with data
        1. Selecting data
        2. Processing data
        3. Transforming data
      2. Improving performance with tuning
        1. Grid search
        2. Random search 
        3. Hand-tuning
        4. Bayesian optimization
        5. Tree-structured Parzen Estimators (TPE)
    2. Optimizing the TensorFlow library
      1. Data processing
        1. Improving data loading
        2. Improving data transformation
      2. Performing the training
      3. Optimizing gradients
    3. Summary
    4. External links
  12. Other Books You May Enjoy
    1. Leave a review - let other readers know what you think

Product information

  • Title: Recurrent Neural Networks with Python Quick Start Guide
  • Author(s): Simeon Kostadinov
  • Release date: November 2018
  • Publisher(s): Packt Publishing
  • ISBN: 9781789132335