Book Image

Hands-On Deep Learning with R

By : Michael Pawlus, Rodger Devine
Book Image

Hands-On Deep Learning with R

By: Michael Pawlus, Rodger Devine

Overview of this book

Deep learning enables efficient and accurate learning from a massive amount of data. This book will help you overcome a number of challenges using various deep learning algorithms and architectures with R programming. This book starts with a brief overview of machine learning and deep learning and how to build your first neural network. You’ll understand the architecture of various deep learning algorithms and their applicable fields, learn how to build deep learning models, optimize hyperparameters, and evaluate model performance. Various deep learning applications in image processing, natural language processing (NLP), recommendation systems, and predictive analytics will also be covered. Later chapters will show you how to tackle recognition problems such as image recognition and signal detection, programmatically summarize documents, conduct topic modeling, and forecast stock market prices. Toward the end of the book, you will learn the common applications of GANs and how to build a face generation model using them. Finally, you’ll get to grips with using reinforcement learning and deep reinforcement learning to solve various real-world problems. By the end of this deep learning book, you will be able to build and deploy your own deep learning applications using appropriate frameworks and algorithms.
Table of Contents (16 chapters)
1
Section 1: Deep Learning Basics
5
Section 2: Deep Learning Applications
12
Section 3: Reinforcement Learning

Enhancing the model with additional layers

In this section, we add two important layers: the convolution layer, and pooling layer:

  1. Before beginning, we make one small change to the data structure. We will add a fourth dimension that is a constant value. We add the extra dimension using the following code:
dim(train) <- c(nrow(train), 28, 28, 1) 
dim(test) <- c(nrow(test), 28, 28, 1)

When we make this change, we can see the added dimension for these data objects in the Environment pane, which will look like the following image:

We make this change to the structure because it is a requirement of modeling a CNN using keras.

  1. As before, the first step in the modeling process is to establish that we will be building a sequential model by calling the keras_model_sequential() function with no arguments using the following code:
set.seed(0)

model <- keras_model_sequential...