
Deep Learning Cookbook
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
Deep learning doesn't have to be intimidating. Until recently, this machine-learning method required years of study, but with frameworks such as Keras and Tensorflow, software engineers without a background in machine learning can quickly enter the field. With the recipes in this cookbook, you'll learn how to solve deep-learning problems for classifying and generating text, images, and music.
Each chapter consists of several recipes needed to complete a single project, such as training a music recommending system. Author Douwe Osinga also provides a chapter with half a dozen techniques to help you if you're stuck. Examples are written in Python with code available on GitHub as a set of Python notebooks.
You'll learn how to:
- Create applications that will serve real users
- Use word embeddings to calculate text similarity
- Build a movie recommender system based on Wikipedia links
- Learn how AIs see the world by visualizing their internal state
- Build a model to suggest emojis for pieces of text
- Reuse pretrained networks to build an inverse image search service
- Compare how GANs, autoencoders and LSTMs generate icons
- Detect music styles and index song collections
More details
Other editions
Additional editions

Content
- Intro
- Copyright
- Table of Contents
- Preface
- A Brief History of Deep Learning
- Why Now?
- What Do You Need to Know?
- How This Book Is Structured
- Conventions Used in This Book
- Accompanying Code
- O'Reilly Safari
- How to Contact Us
- Acknowledgments
- Chapter 1. Tools and Techniques
- 1.1 Types of Neural Networks
- Fully Connected Networks
- Convolutional Networks
- Recurrent Networks
- Adversarial Networks and Autoencoders
- Conclusion
- 1.2 Acquiring Data
- Wikipedia
- Wikidata
- OpenStreetMap
- Project Gutenberg
- Flickr
- The Internet Archive
- Crawling
- Other Options
- 1.3 Preprocessing Data
- Getting a Balanced Training Set
- Creating Data Batches
- Training, Testing, and Validation Data
- Preprocessing of Text
- Preprocessing of Images
- Conclusion
- Chapter 2. Getting Unstuck
- 2.1 Determining That You Are Stuck
- Problem
- Solution
- Discussion
- 2.2 Solving Runtime Errors
- Problem
- Solution
- Discussion
- 2.3 Checking Intermediate Results
- Problem
- Solution
- Discussion
- 2.4 Picking the Right Activation Function (for Your Final Layer)
- Problem
- Solution
- Discussion
- 2.5 Regularization and Dropout
- Problem
- Solution
- Discussion
- 2.6 Network Structure, Batch Size, and Learning Rate
- Problem
- Solution
- Discussion
- Chapter 3. Calculating Text Similarity Using Word Embeddings
- 3.1 Using Pretrained Word Embeddings to Find Word Similarity
- Problem
- Solution
- Discussion
- 3.2 Word2vec Math
- Problem
- Solution
- Discussion
- 3.3 Visualizing Word Embeddings
- Problem
- Solution
- Discussion
- 3.4 Finding Entity Classes in Embeddings
- Problem
- Solution
- Discussion
- 3.5 Calculating Semantic Distances Inside a Class
- Problem
- Solution
- Discussion
- 3.6 Visualizing Country Data on a Map
- Problem
- Solution
- Discussion
- Chapter 4. Building a Recommender System Based on Outgoing Wikipedia Links
- 4.1 Collecting the Data
- Problem
- Solution
- Discussion
- 4.2 Training Movie Embeddings
- Problem
- Solution
- Discussion
- 4.3 Building a Movie Recommender
- Problem
- Solution
- Discussion
- 4.4 Predicting Simple Movie Properties
- Problem
- Solution
- Discussion
- Chapter 5. Generating Text in the Style of an Example Text
- 5.1 Acquiring the Text of Public Domain Books
- Problem
- Solution
- Discussion
- 5.2 Generating Shakespeare-Like Texts
- Problem
- Solution
- Discussion
- 5.3 Writing Code Using RNNs
- Problem
- Solution
- Discussion
- 5.4 Controlling the Temperature of the Output
- Problem
- Solution
- Discussion
- 5.5 Visualizing Recurrent Network Activations
- Problem
- Solution
- Discussion
- Chapter 6. Question Matching
- 6.1 Acquiring Data from Stack Exchange
- Problem
- Solution
- Discussion
- 6.2 Exploring Data Using Pandas
- Problem
- Solution
- Discussion
- 6.3 Using Keras to Featurize Text
- Problem
- Solution
- Discussion
- 6.4 Building a Question/Answer Model
- Problem
- Solution
- Discussion
- 6.5 Training a Model with Pandas
- Problem
- Solution
- 6.6 Checking Similarities
- Problem
- Solution
- Discussion
- Chapter 7. Suggesting Emojis
- 7.1 Building a Simple Sentiment Classifier
- Problem
- Solution
- Discussion
- 7.2 Inspecting a Simple Classifier
- Problem
- Solution
- Discussion
- 7.3 Using a Convolutional Network for Sentiment Analysis
- Problem
- Solution
- Discussion
- 7.4 Collecting Twitter Data
- Problem
- Solution
- Discussion
- 7.5 A Simple Emoji Predictor
- Problem
- Solution
- Discussion
- 7.6 Dropout and Multiple Windows
- Problem
- Solution
- Discussion
- 7.7 Building a Word-Level Model
- Problem
- Solution
- Discussion
- 7.8 Constructing Your Own Embeddings
- Problem
- Solution
- Discussion
- 7.9 Using a Recurrent Neural Network for Classification
- Problem
- Solution
- Discussion
- 7.10 Visualizing (Dis)Agreement
- Problem
- Solution
- Discussion
- 7.11 Combining Models
- Problem
- Solution
- Discussion
- Chapter 8. Sequence-to-Sequence Mapping
- 8.1 Training a Simple Sequence-to-Sequence Model
- Problem
- Solution
- Discussion
- 8.2 Extracting Dialogue from Texts
- Problem
- Solution
- Discussion
- 8.3 Handling an Open Vocabulary
- Problem
- Solution
- Discussion
- 8.4 Training a seq2seq Chatbot
- Problem
- Solution
- Discussion
- Chapter 9. Reusing a Pretrained Image Recognition Network
- 9.1 Loading a Pretrained Network
- Problem
- Solution
- Discussion
- 9.2 Preprocessing Images
- Problem
- Solution
- Discussion
- 9.3 Running Inference on Images
- Problem
- Solution
- Discussion
- 9.4 Using the Flickr API to Collect a Set of Labeled Images
- Problem
- Solution
- Discussion
- 9.5 Building a Classifier That Can Tell Cats from Dogs
- Problem
- Solution
- Discussion
- 9.6 Improving Search Results
- Problem
- Solution
- Discussion
- 9.7 Retraining Image Recognition Networks
- Problem
- Solution
- Discussion
- Chapter 10. Building an Inverse Image Search Service
- 10.1 Acquiring Images from Wikipedia
- Problem
- Solution
- Discussion
- 10.2 Projecting Images into an N-Dimensional Space
- Problem
- Solution
- Discussion
- 10.3 Finding Nearest Neighbors in High-Dimensional Spaces
- Problem
- Solution
- Discussion
- 10.4 Exploring Local Neighborhoods in Embeddings
- Problem
- Solution
- Discussion
- Chapter 11. Detecting Multiple Images
- 11.1 Detecting Multiple Images Using a Pretrained Classifier
- Problem
- Solution
- Discussion
- 11.2 Using Faster RCNN for Object Detection
- Problem
- Solution
- Discussion
- 11.3 Running Faster RCNN over Our Own Images
- Problem
- Solution
- Discussion
- Chapter 12. Image Style
- 12.1 Visualizing CNN Activations
- Problem
- Solution
- Discussion
- 12.2 Octaves and Scaling
- Problem
- Solution
- Discussion
- 12.3 Visualizing What a Neural Network Almost Sees
- Problem
- Solution
- Discussion
- 12.4 Capturing the Style of an Image
- Problem
- Solution
- Discussion
- 12.5 Improving the Loss Function to Increase Image Coherence
- Problem
- Solution
- Discussion
- 12.6 Transferring the Style to a Different Image
- Problem
- Solution
- 12.7 Style Interpolation
- Problem
- Solution
- Discussion
- Chapter 13. Generating Images with Autoencoders
- 13.1 Importing Drawings from Google Quick Draw
- Problem
- Solution
- Discussion
- 13.2 Creating an Autoencoder for Images
- Problem
- Solution
- Discussion
- 13.3 Visualizing Autoencoder Results
- Problem
- Solution
- Discussion
- 13.4 Sampling Images from a Correct Distribution
- Problem
- Solution
- Discussion
- 13.5 Visualizing a Variational Autoencoder Space
- Problem
- Solution
- Discussion
- 13.6 Conditional Variational Autoencoders
- Problem
- Solution
- Discussion
- Chapter 14. Generating Icons Using Deep Nets
- 14.1 Acquiring Icons for Training
- Problem
- Solution
- Discussion
- 14.2 Converting the Icons to a Tensor Representation
- Problem
- Solution
- Discussion
- 14.3 Using a Variational Autoencoder to Generate Icons
- Problem
- Solution
- Discussion
- 14.4 Using Data Augmentation to Improve the Autoencoder's Performance
- Problem
- Solution
- Discussion
- 14.5 Building a Generative Adversarial Network
- Problem
- Solution
- Discussion
- 14.6 Training Generative Adversarial Networks
- Problem
- Solution
- Discussion
- 14.7 Showing the Icons the GAN Produces
- Problem
- Solution
- Discussion
- 14.8 Encoding Icons as Drawing Instructions
- Problem
- Solution
- Discussion
- 14.9 Training an RNN to Draw Icons
- Problem
- Solution
- Discussion
- 14.10 Generating Icons Using an RNN
- Problem
- Solution
- Discussion
- Chapter 15. Music and Deep Learning
- 15.1 Creating a Training Set for Music Classification
- Problem
- Solution
- Discussion
- 15.2 Training a Music Genre Detector
- Problem
- Solution
- Discussion
- 15.3 Visualizing Confusion
- Problem
- Solution
- Discussion
- 15.4 Indexing Existing Music
- Problem
- Solution
- 15.5 Setting Up Spotify API Access
- Problem
- Solution
- Discussion
- 15.6 Collecting Playlists and Songs from Spotify
- Problem
- Solution
- Discussion
- 15.7 Training a Music Recommender
- Problem
- Solution
- 15.8 Recommending Songs Using a Word2vec Model
- Problem
- Solution
- Discussion
- Chapter 16. Productionizing Machine Learning Systems
- 16.1 Using Scikit-Learn's Nearest Neighbors for Embeddings
- Problem
- Solution
- Discussion
- 16.2 Use Postgres to Store Embeddings
- Problem
- Solution
- Discussion
- 16.3 Populating and Querying Embeddings Stored in Postgres
- Problem
- Solution
- Discussion
- 16.4 Storing High-Dimensional Models in Postgres
- Problem
- Solution
- Discussion
- 16.5 Writing Microservices in Python
- Problem
- Solution
- Discussion
- 16.6 Deploying a Keras Model Using a Microservice
- Problem
- Solution
- Discussion
- 16.7 Calling a Microservice from a Web Framework
- Problem
- Solution
- Discussion
- 16.8 TensorFlow seq2seq models
- Problem
- Solution
- Discussion
- 16.9 Running Deep Learning Models in the Browser
- Problem
- Solution
- Discussion
- 16.10 Running a Keras Model Using TensorFlow Serving
- Problem
- Solution
- Discussion
- 16.11 Using a Keras Model from iOS
- Problem
- Solution
- Discussion
- Index
- About the Author
System requirements
File format: PDF
Copy-Protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (only limited: Kindle).
The file format PDF always displays a book page identically on any hardware. This makes PDF suitable for complex layouts such as those used in textbooks and reference books (images, tables, columns, footnotes). Unfortunately, on the small screens of e-readers or smartphones, PDFs are rather annoying, requiring too much scrolling.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our eBook Help page.