Book Image

R Deep Learning Projects

Book Image

R Deep Learning Projects

Overview of this book

R is a popular programming language used by statisticians and mathematicians for statistical analysis, and is popularly used for deep learning. Deep Learning, as we all know, is one of the trending topics today, and is finding practical applications in a lot of domains. This book demonstrates end-to-end implementations of five real-world projects on popular topics in deep learning such as handwritten digit recognition, traffic light detection, fraud detection, text generation, and sentiment analysis. You'll learn how to train effective neural networks in R—including convolutional neural networks, recurrent neural networks, and LSTMs—and apply them in practical scenarios. The book also highlights how neural networks can be trained using GPU capabilities. You will use popular R libraries and packages—such as MXNetR, H2O, deepnet, and more—to implement the projects. By the end of this book, you will have a better understanding of deep learning concepts and techniques and how to use them in a practical setting.
Table of Contents (11 chapters)

Index

A

  • activation layer / Extracting richer representation with CNNs
  • Adagrad / But what is a recurrent neural network, really?
  • Adaptive Boosting (AdaBoost) / How does deep learning become a state-of-the-art solution?
  • artificial neural network (ANN) / What is deep learning and why do we need it?
  • autoencoder
    • example / Our first examples
    • about / Autoencoders and MNIST
    • credit card, fraud detection / Credit card fraud detection with autoencoders
    • exploratory data analysis / Exploratory data analysis
    • Keras / The autoencoder approach – Keras
    • fraud detection, with H2O / Fraud detection with H2O

B

  • backpropagation algorithm / Going from logistic regression to single-layer neural networks
  • backpropagation through time / But what is a recurrent neural network, really?
  • benchmark
    • about / Bag of words benchmark
    • data, preparing / Preparing the data
    • implementing / Implementing a benchmark – logistic regression 
  • Bi-directional LSTM networks / Bi-directional LSTM networks

C

  • classification and regression training (caret) / First attempt – logistic regression
  • co-occurrence matrix / GloVe
  • Computer Vision and Pattern Recognition (CVPR) / How does deep learning become a state-of-the-art solution?
  • convolutional layer / Extracting richer representation with CNNs
  • convolutional neural networks (CNNs)
    • used, for handwritten digit recognition / Handwritten digit recognition using CNNs
    • used, for German Traffic Sign Recognition Benchmark (GTSRB) / Traffic sign recognition using CNN
    • MXNet, used / First solution – convolutional neural networks using MXNet
    • Keras, used with TensorFlow in CNNs / Trying something new – CNNs using Keras with TensorFlow
    • methods, reviewing to prevent overfitting / Reviewing methods to prevent overfitting in CNNs
  • credit card
    • fraud detection, with autoencoder / Credit card fraud detection with autoencoders
  • cross-entropy method / RNN without derivatives — the cross-entropy method

D

  • 2D example / A simple 2D example
  • data
    • preparing / Preparing the data
  • data augmentation / Dealing with a small training set – data augmentation
  • data cleansing / The importance of data cleansing
  • data exploration
    • about / Warm-up – data exploration
    • tidy text, working / Working with tidy text
    • n-grams, calculating instead of single words / The more, the merrier – calculating n-grams instead of single words
  • data preprocessing / Data preprocessing
  • dataset
    • URL, for downloading / Exploratory data analysis
  • deep learning
    • need for / What is deep learning and why do we need it?
    • about / What makes deep learning special?
    • applications / What are the applications of deep learning?
    • applying, in self-driving cars / How is deep learning applied in self-driving cars?
    • state-of-the-art solution / How does deep learning become a state-of-the-art solution?
  • downsampling layer / Extracting richer representation with CNNs
  • dropout / Reducing overfitting with dropout

E

  • exploratory data analysis / Exploratory data analysis, Exploratory data analysis

F

  • feature map / Extracting richer representation with CNNs
  • forward propagation / But what is a recurrent neural network, really?
  • fraud detection
    • with H2O / Fraud detection with H2O

G

  • Gated recurrent units (GRUs) / GRU
  • gates / LSTM
  • German Traffic Sign Recognition Benchmark (GTSRB)
    • convolutional neural networks (CNNs), used / Traffic sign recognition using CNN
    • exploring / Getting started with exploring GTSRB
    • convolutional neural networks (CNNs), using MXNet / First solution – convolutional neural networks using MXNet
    • convolutional neural networks (CNNs), using Keras with TensorFlow / Trying something new – CNNs using Keras with TensorFlow
    • overfitting, reducing with dropout / Reducing overfitting with dropout
  • global vectors (GloVe) / GloVe
  • Google Neural Machine Translation system (GNMT) / What are the applications of deep learning?
  • GRU networks / LSTM and GRU networks, GRU

H

  • H2O
    • installing / Installing H2O
  • handwritten digit recognition
    • CNNs, used / Handwritten digit recognition using CNNs
  • hidden layer
    • about / What is deep learning and why do we need it?, Multi-layer perceptron
    • adding, to networks / Adding more hidden layers to the networks
  • histogram of oriented gradients (HOG) / What makes deep learning special?, How does deep learning become a state-of-the-art solution?

I

  • International Conference on Machine Learning (ICML) / What are the applications of deep learning?
  • Internet of Things (IoT) / What are the applications of deep learning?

K

  • kappa metric / Sentiment extraction
  • Keras
    • URL / Trying something new – CNNs using Keras with TensorFlow
    • used, with TensorFlow / Trying something new – CNNs using Keras with TensorFlow
    • used, for Recurrent neural networks (RNNs) / Trying something new – CNNs using Keras with TensorFlow, RNN using Keras
    • about / Getting ready, The autoencoder approach – Keras
    • installing, for R / Installing Keras and TensorFlow for R
  • Kullback-Leibler divergence / Variational Autoencoders

L

  • Latent Dirichlet Allocation (LDA) / What makes deep learning special?
  • latent variables / Variational Autoencoders
  • Light Detection and Ranging (LiDAR) / How is deep learning applied in self-driving cars?
  • logistic regression
    • about / First attempt – logistic regression
    • to single-layer neural networks / Going from logistic regression to single-layer neural networks
  • LSTM / LSTM
  • LSTM architectures / Other LSTM architectures
  • LSTM networks / LSTM and GRU networks, LSTM

M

  • memory / A simple benchmark implementation
  • MNIST
    • about / What are the applications of deep learning?, Autoencoders and MNIST
    • exploring / Get started with exploring MNIST
    • outlier detection / Outlier detection in MNIST, Outlier detection in MNIST
  • Momentum / Adding more hidden layers to the networks
  • MXNet
    • used, for convolutional neural networks (CNNs) / First solution – convolutional neural networks using MXNet

N

  • National Institute of Standards and Technology (NIST) / What are the applications of deep learning?
  • natural language processing (NLP) / What are the applications of deep learning?, Word embeddings
  • neural networks / Vector embeddings and neural networks
  • non-linear layer / Extracting richer representation with CNNs

O

  • overfitting
    • reducing, with dropout / Reducing overfitting with dropout

P

  • pooling layer / Extracting richer representation with CNNs
  • portable pixmap (PPM) / Getting started with exploring GTSRB
  • precision-recall curve (AUC) / Credit card fraud detection with autoencoders
  • principal component analysis (PCA) / What makes deep learning special?

R

  • R6 class
    • perceptron / Perceptron as an R6 class
    • logistic regression / Logistic regression
    • multi-layer perceptron / Multi-layer perceptron
  • receiver-operator characteristic (ROC) / Credit card fraud detection with autoencoders
  • receptive field / Extracting richer representation with CNNs
  • rectified linear unit (ReLU) / Adding more hidden layers to the networks
  • recurrent neural network
    • about / What is so exciting about recurrent neural networks?, But what is a recurrent neural network, really?
    • LSTM networks / LSTM and GRU networks
    • GRU networks / LSTM and GRU networks
  • Recurrent neural networks (RNNs)
    • about / What makes deep learning special?
    • from scratch in R / RNNs from scratch in R
    • implementing / Implementing a RNN
    • implementing, using R6 class / Implementation as an R6 class
    • implementing, without R6 class / Implementation without R6
    • without derivatives / RNN without derivatives — the cross-entropy method
    • Keras, used / RNN using Keras
    • benchmark implementation / A simple benchmark implementation
    • new text, generating from old text / Generating new text from old
  • regions of interest (ROI) / Getting started with exploring GTSRB
  • richer representation
    • extracting, with CNNs / Extracting richer representation with CNNs
  • R language
    • RNNs, from scratch / RNNs from scratch in R
    • classes, with R6 / Classes in R with R6

S

  • Scale Invariant Feature Transform (SIFT) / What makes deep learning special?, How does deep learning become a state-of-the-art solution?
  • sentiment analysis
    • about / Sentiment analysis from movie reviews
    • data preprocessing / Data preprocessing
    • words, to vectors / From words to vectors
    • sentiment extraction / Sentiment extraction
    • data cleansing / The importance of data cleansing
    • vector embeddings / Vector embeddings and neural networks
    • neural networks / Vector embeddings and neural networks
    • vector embedding / Vector embeddings and neural networks
    • Bi-directional LSTM networks / Bi-directional LSTM networks
    • LSTM architectures / Other LSTM architectures
    • mining, from Twitter / Mining sentiment from Twitter
    • Twitter API, connecting / Connecting to the Twitter API
    • model, building / Building our model
  • Speeded Up Robust Features (SURF) / What makes deep learning special?, How does deep learning become a state-of-the-art solution?
  • stochastic gradient descent (SGD) / Trying something new – CNNs using Keras with TensorFlow
  • Support Vector Machine (SVM) / What are the applications of deep learning?, How does deep learning become a state-of-the-art solution?

T

  • TensorFlow
    • used, in CNNs with Keras / Trying something new – CNNs using Keras with TensorFlow
    • URL / Trying something new – CNNs using Keras with TensorFlow
    • about / Getting ready
    • installing, for R / Installing Keras and TensorFlow for R
  • text fraud detection
    • about / Text fraud detection
    • unstructured text data, to matrix / From unstructured text data to a matrix
    • text, to matrix representation / From text to matrix representation — the Enron dataset
    • autoencoder, on matrix representation / Autoencoder on the matrix representation
  • tidy text
    • working / Working with tidy text
  • trained model
    • using / Using a trained model
  • Twitter API
    • connecting / Connecting to the Twitter API

U

  • unigrams / Data preprocessing
  • unstructured text data
    • to matrix representation / From unstructured text data to a matrix

V

  • Variational Autoencoders (VAE)
    • about / Variational Autoencoders
    • used, for image reconstruction / Image reconstruction using VAEs
    • outlier detection, in MNIST / Outlier detection in MNIST
  • vector embedding / Vector embeddings and neural networks
  • vector embeddings / Vector embeddings and neural networks
  • vectors
    • to words / From words to vectors

W

  • word2vec / word2vec
  • word embeddings
    • about / Word embeddings
    • word2vec / word2vec
    • GloVe / GloVe
  • words
    • to vectors / From words to vectors