Book Image

Deep Learning with R Cookbook

By : Swarna Gupta, Rehan Ali Ansari, Dipayan Sarkar
Book Image

Deep Learning with R Cookbook

By: Swarna Gupta, Rehan Ali Ansari, Dipayan Sarkar

Overview of this book

Deep learning (DL) has evolved in recent years with developments such as generative adversarial networks (GANs), variational autoencoders (VAEs), and deep reinforcement learning. This book will get you up and running with R 3.5.x to help you implement DL techniques. The book starts with the various DL techniques that you can implement in your apps. A unique set of recipes will help you solve binomial and multinomial classification problems, and perform regression and hyperparameter optimization. To help you gain hands-on experience of concepts, the book features recipes for implementing convolutional neural networks (CNNs), recurrent neural networks (RNNs), and Long short-term memory (LSTMs) networks, as well as sequence-to-sequence models and reinforcement learning. You’ll then learn about high-performance computation using GPUs, along with learning about parallel computation capabilities in R. Later, you’ll explore libraries, such as MXNet, that are designed for GPU computing and state-of-the-art DL. Finally, you’ll discover how to solve different problems in NLP, object detection, and action identification, before understanding how to use pre-trained models in DL apps. By the end of this book, you’ll have comprehensive knowledge of DL and DL packages, and be able to develop effective solutions for different DL problems.
Table of Contents (11 chapters)

Implementing DCGANs

Convolutional GANs are a very successful variation of GANs. They contain convolution layers in both the generator and discriminator networks. In this recipe, we will implement a deep convolutional generative adversarial network (DCGAN). This is an improvement over vanilla GANs because of its stable architecture. There are some standard guidelines that, when followed, result in the robust performance of DCGAN.

They are as follows:

  • Replace pooling layers with convolutional strides in the discriminator and use transpose convolutions in the generator network.
  • Use batch normalization in the generator and discriminator, except for the output layer.
  • Do not use fully connected hidden layers.
  • Use ReLU in the generator, except for the output layer, which uses tanh.
  • Use Leaky ReLU in the discriminator.
...