Deep Learning for Beginners

Published:

AI Time.

Introduction

Deep learning(deep structured learning, hierarchical learning or deep machine learning) is a branch of machine learning based on a set of algorithms that attempt to model high-level abst -ractions in data by using multiple processing layers, with complex structures or otherwise, composed of multiple non-linear transformations.

Here are some references about learning procedures from the perspective of beginners and sharing some resoures with deep learning about how beginners learned step by step.


*If there are some more better suggestions,please add following and help make it better :)


Table of Contents


Step one: Mainly build up the basic sense of deep learning

[1].Deep Learning Notes you can learn some basic senses about the deep learning

Including:

  • AutoEncoder
  • Sparse Coding
  • Restricted Boltzmann Machine(RBM)
  • Deep BeliefNetworks
  • Convolutional Neural Networks

[2].Beginner Reference Papers and Books

Including:

  • AlexNet
  • GoogLeNet
  • VGGNet
  • Inception-v3
  • ResNet
  • Tensor
  • Inception-v4

[3].The Deep Learning Playbook

Including:

  • Libraries:
    • Theano (Python)
    • Libraries based on Theano: Lasagne, Keras, Pylearn2
    • Caffe (C++, with Python wrapper)
    • TensorFlow (Python, C++)
    • Torch (Lua)
    • ConvNetJS (Javascript)
    • Deeplearning4j (Java)
    • MatConvNet (Matlab)
  • Projects / Demos:
    • All the tutorials of your favorite library above
    • Facial Keypoint Detection
    • Deep Dream
    • Eyescream
    • Deep Q-network (Atari game player)
    • Caffe to Theano Model Conversion (use Caffe pretrained model in Lasagne)
    • R-CNN
    • Fast R-CNN
    • Plankton Classification (winning solution of National Data Science Bowl on Kaggle)
    • Galaxy Classification (winning solution of Kaggle competition)
    • University of Toronto Demos

[4].Recommandated Coures


[5].Deep Learning Reference Website

As comparing to the traditional feature extraction,here are some basic and useful papers on computer vision:

Including:


Step two: Notes of Basic Reference Paper for the beginners


AlexNet:ImageNet Classification with Deep Convolutional Neural Networks

1.Testing dataset of this paper -> 1.2 million training images, 50,000 validation images, and 150,000 testing images(ILSVRC-2010)

results:

ILSVRC-2010 Paste_Image.png ILSVRC-2012 Paste_Image.png

2.architectecture

Paste_Image.png

3.ReLU Nonlinearity

Following Nair and Hinton [20],this paper refers to neurons with this nonlinearity as Rectified Linear Units (ReLUs). Deep convolutional neural networks with ReLUs train several times faster than their equivalents with tanh units.

Paste_Image.png

(On this dataset the primary concern is preventing overfitting, so the effect they are observing is different from the accelerated ability to fit the training set which we report when using ReLUs)

[20] V. Nair and G. E. Hinton. Rectified linear units improve restricted boltzmann machines. In Proc. 27th International Conference on Machine Learning, 2010

4.Local Response Normalization

ReLUs have the desirable property that they do not require input normalization to prevent them from saturating.Response normalization reduces our top-1 and top-5 error rates by 1.4% and 1.2%,respectively

5.Overlapping Pooling

This scheme reduces the top-1 and top-5 error rates by 0.4% and 0.3%, respectively, as compared with the non-overlapping scheme s = 2, z = 2, which produces output of equivalent dimensions

6.two primary ways for combating overfitting

This neural network architecture has 60 million parameters,therefore,combat overfitting is a important problem

  • Data Augmentation:

  • The first form of data augmentation consists of generating image translations and horizontal reflections

  • The second form of data augmentation consists of altering the intensities of the RGB channels in training images
  • Dropout
  • consists of setting to zero the output of each hidden neuron with probability 0.5,The neurons which are “dropped out” in this way do not contribute to the forward pass and do not participate in backpropagation.So every time an input is presented, the neural network samples a different architecture,but all these architectures share weights. This technique reduces complex co-adaptations of neurons,since a neuron cannot rely on the presence of particular other neurons.
  • note:this paper recommand to use dropout in the first two fully-connected layers of figure architecture

more basic papers are waiting for adding…


Step three : Install caffe and train your own model


How to install caffe on winodws:Windows install caffe on VS2013.pdf

Recommend example:Alex’s CIFAR-10 tutorial, Caffe style

If you wanna try more examples,please refer to the example page of caffe

Step by step:

Including:

  • 1.preparing your dataset
  • 2.writing the solver file
  • 3.defining your own model network
  • 4.Training and Testing the Model
  • 5.Observing the results.

Leave a Comment