Announcement

Acknowledgement

Dr. Hua Zhou’s slides

Practical issues

Neural networks are not a fully automatic tool, as they are sometimes advertised; as with all statistical models, subject matter knowledge should and often be used to improve their performance.

Convolutional neural networks (CNN)

Sources: https://colah.github.io/posts/2014-07-Conv-Nets-Modular/

Example: handwritten digit recognition

Results (320 training cases, 160 test cases):

network links weights accuracy
net 1 2570 2570 80.0%
net 2 3124 3214 87.0%
net 3 1226 1226 88.5%
net 4 2266 1131 94.0%
net 5 5194 1060 98.4%

Net-5 and similar networks were state-of-the-art in early 1990s.

Example: image classification

Source: http://cs231n.github.io/convolutional-networks/

Recurrent neural networks (RNN)

Generative Adversarial Networks (GANs)

The coolest idea in deep learning in the last 20 years.
- Yann LeCun on GANs.

Software

TensorFlow

when you have a hammer, everything looks like a nail.

R/RStudio

R users can access Keras and TensorFlow via the keras and tensorflow packages.

#install.packages("keras")
library(keras)
install_keras()
# install_keras(tensorflow = "gpu") # if NVIDIA GPU is available

Example: MNIST - MLP

Rmd, html.

Example: MNIST - CNN

Rmd, html.

Example: IMDB review sentiment analysis - RNN LSTM

Rmd, html.

Youtube free course

Keras - Python Deep Learning Neural Network API