Deep-Learning

Transcription

Deep-Learning:general principlesConvolutional Neural NetworksDeep Belief NetworksRecurrent Neural Networks (RNN)Pr. Fabien MoutardeRobotics Lab (CAOR)MINES ParisTechPSL Research rning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.20171AcknowledgementsDuring preparation of these slides, I got inspiration andborrowed some slide content from several sources, in particular: Yann LeCun MA Ranzato: slides on « Deep Learning » from thecorresponding course at NYUhttp://cilvr.cs.nyu.edu/doku.php?id deeplearning:slides:start Hinton Bengio LeCun: slides of the NIPS’2015 tutorial on Deep Learninghttp://www.iro.umontreal.ca/ bengioy/talks/DL-Tutorial-NIPS2015.pdf Fei-Fei Li A.Karpathy J.Johnson: Stanford course lecture slides on« Convolutional Neural Networks »http://cs231n.stanford.edu/slides/winter1516 lecture7.pdf I. Kokkinos: slides of a CentraleParis course on Deep Belief /DL5.pdfDeep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.20172

Outline Introduction to Deep Learning Convolutional Neural Networks (CNN or ConvNets)– Intro Short reminder on Neural Nets– Convolution & Pooling layers global architecture– Training algorithm Dropout Regularization Useful pre-trained convNets and coding frameworksTransfer LearningDeep Belief Networks (DBN)AutoencodersRecurrent Neural Networks (RNN)Deep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.20173Deep-Learningrecent breakthroughs Very significant improvement over State-of-the-Artin Pattern Recognition / Image Semantic Analysis: won many vision patternrecognition competitions (OCR,TSR, object categorization, facialexpression, ) deployed in photo-tagging byFacebook, Google,Baidu, Similar dramatic progress in Speech recognition Natural Language Processing (NLP)Deep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.20174

Some examples of Deep-Learningimportant/striking applications[C. Farabet, C. Couprie,L. Najman & Yann LeCun:Learning Hierarchical Featuresfor Scene Labeling,IEEE Trans. PAMI, Aug.2013.Video analysis for self-driving carsPhotos search‘Painting’ Photosin “style” of any artistImage-to-textDeep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.20175What is Deep-Learning?Learning a hierarchy ofincreasingly abstract representationsIncreasing level of abstractionEach stage trainable feature transformImage recognitionPixel edge texton motif part objectSpeechSample spectral band phoneme wordTextCharacter word word group clause sentence story[Figure from Goodfellow]Deep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.20176

Importance of « features »in classical Machine-LearningExamples of hand-crafted featuresHaar featuresControl-points featuresHoG(Histogramof Gradients)Deep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.20177Why features should be learnt?Real data examples for a given task are usuallynot spreaded everywhere in input space, but ratherclustered on a low-dimension « manifold »Example: Face images of 1000x1000 pixels« raw » examples are vectors in R1000000 !! BUT:––––position 3 cartesian coordorientation 3 Euler angles50 muscles in faceLuminosity, colorSet of all images of ONE person has 69 dimExamples of face images of 1 personare all in a LOW-dim manifoldinside a HUGE-dim spaceDeep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.20178

LuminosityGood features good « mapping » on manifoldDeep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.20179Features learning(before Deep-Learning)Deep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201710

Outline Introduction to Deep Learning Convolutional Neural Networks (CNN or ConvNets)– Intro Short reminder on Neural Nets– Convolution & Pooling layers global architecture– Training algorithm Dropout Regularization Useful pre-trained convNets and coding frameworksTransfer LearningDeep Belief Networks (DBN)AutoencodersRecurrent Neural Networks (RNN)Deep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201711Convolutional Neural Networks(CNN, or ConvNet) Proposed in 1998 by Yann LeCun (french prof.@ NYU,recently appointed AI research director of Facebook) For inputs with correlated dims (2D image, 1D signal, )Supervised learningDeep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201712

CNN (2) Recently won many vision pattern recognitioncompetitions/challenges (OCR, TSR, objectcategorization, facial expression, ) Deployed in photo-tagging by Facebook, Google, Baidu, Also used in real-time video analysis for self-driving carsDeep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201713Short reminder on what isa (multi-layer) Neural NetworkInputOutput layerX1Y1X2Y2X3Connectionswith WeightsHidden layers(0, 1 or more)For “Multi-Layer Perceptron” (MLP),neurons type generally “summating with sigmoid activation”Deep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201714

Reminder on artificial “neurons”ACTIVATION FUNCTIONSPRINCIPLE Threshold (Heaviside or sign)binary neuronsOjΣ feiWijmost common for MLPs Identityn O j f W0 j Wij ei i 1 jW0j "bias" Sigmoïd (logistic or tanh)linear neurons ReLU (Rectified Linear Unit) Saturation GaussianDeep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201715Outline Introduction to Deep Learning Convolutional Neural Networks (CNN or ConvNets)– Intro Short reminder on Neural Nets– Convolution & Pooling layers global architecture– Training algorithm Dropout Regularization Useful pre-trained convNets and coding frameworksTransfer LearningDeep Belief Networks (DBN)AutoencodersRecurrent Neural Networks (RNN)Deep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201716

Convolution:sliding a 3D filter over imageNon-linear activation:, ,f tanh, ReLU, 5x5x3 filterAt sliding position i,j, .with 5x5 image patch in 3 colorsvector of dim 75, as filter coeffs inSee illustrative animation at: p-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201717« Neural » view of convolutionfilters and layersΣ feiOWin O f W0 Wi ei i 1 W0 "bias“f activation functionEach convolution FILTERis one set of neuron parametersEach convolution LAYERis a set of imageSize neurons, butthey all have same SHARED weights(perform SAME convolution)Deep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201718

Convolutional layersOne “activation map” for eachconvolution filter# of filtersA convNet: succession of Convolution activation LayersNB: each convolution layer processes FULL DEPTHof previous activation map (3D convolution!)Deep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201719Pooling layersGoal: aggregation over spacenoise reduction,small-translation invariance,small-scaling invarianceDeep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201720

Pooling layers algorithm detailsParameters: pooling size (often 2x2) pooling stride (usually pooling size) Pooling operation: max, average, Lp, Example: 2x2 pooling, stride 2Deep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201721Final classification layer:often classical fully-connected MLPAlexNetDeep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201722

ConvNet typical architecture:cascade of modulesLinear Modulel Out W.In Bl ReLU Module (Rectified Linear Unit)l Outi 0 if Ini 0l Outi Ini otherwisel Pooling Modulel Out Cost Module: Squared Distance2l C In1 - In2 l Objective FunctionL(Θ) 1/p Σk C(Xk,Yk,Θ)Linear l Θ (W1,B1,W2,B2,W3,B3)lDeep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201723Outline Introduction to Deep Learning Convolutional Neural Networks (CNN or ConvNets)– Intro Short reminder on Neural Nets– Convolution layers & Pooling layers global architecture– Training algorithm Dropout Regularization Useful pre-trained convNets and coding frameworksTransfer LearningDeep Belief Networks (DBN)Autoencoders Recurrent Neural Networks (RNN)Deep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201724

ConvNet trainingAll successive layers of a convNet forms aDeep neural network (with weigh-sharing insideeach conv. Layer, and specific pooling layers). Training by Stochastic Gradient Descent (SGD),using back-propagation:Input 1 random training samplePropagateCalculate error (loss)Back-propagate through all layers from end to input,to compute gradient– Update convolution filter weights––––Deep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201725Computing gradientthrough cascade of modulesDeep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201726

Recall of back-prop principleSmart method for efficient computing of gradient(w.r.t. weights) of a Neural Network cost function,based on chain rule for derivation.Cost function is Q(t) Σm loss(Ym,Dm), where m runs overtraining set examplesUsually, loss(Ym,Dm) Ym-Dm 2 [quadratic error]Total gradient:W(t 1) W(t) - λ(t) gradW(Q(t)) µ(t)(W(t)-W(t-1))Stochastic gradient:W(t 1) W(t) - λ(t) gradW(Qm(t)) µ(t)(W(t)-W(t-1))where Qm loss(Ym,Dm), is error computed on only ONE examplerandomly drawn from training set at every iteration andλ(t) learning rate (fixed, decreasing or adaptive), µ(t) momentumNow, how to compute dQm/dWij?Deep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201727Backprop through fully-connected layers:use of chain rule derivative computationσifyiwijσjfyjwjkσkfdEm/dWij (dEm/dσj)(dσj/dWij) (dEm/dσj) yiLet δj (dEm/dσj). Then Wij(t 1) Wij(t) - λ(t) yi δj(and W0j(t 1) W0j(t) - λ(t)δj)If neuron j is output, δj (dEm/dσj) (dEm/dyj)(dyj/dσj) with Em Ym-Dm 2soδj 2(yj-Dj)f'(σj) if neuron j is an outputOtherwise, δj (dEm/dσj) Σk (dEm/dσk)(dσk/dσj) Σk δk(dσk/dσj) Σk δkWjk(dyj/dσj)soδj (Σk Wjkδk)f'(σj)if neuron j is “hidden”all the δj can be computed successively from last layerto upstream layers by “error backpropagation” from outputDeep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201728

Why gradient descent worksdespites non-convexity? Local minima dominate in low-Dim but recent work has shownsaddle points dominate in high-Dim Furthermore, most local minima are close tothe global minimumDeep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201729Saddle points in training curves Oscillating between two behaviors:– Slowly approaching a saddle point– Escaping itDeep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201730

Some ConvNet training « tricks » Importance of input normalization(zero mean, unit variance) Importance of weights initializationrandom but SMALL and prop. to 1/sqrt(nbInputs) Decreasing (or adaptive) learning rate Importance of training set sizeConvNets often have a LARGE number of free parameterstrain them with a sufficiently large training-set ! Avoid overfitting by:– Use of L1 or L2 regularization (after some epochs)– Use « Dropout » regularization (esp. on large FC layers)Deep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201731Avoid overfitting usingL1/L2 regularization (« weight decay »)Trying to fit too manyfree parameters withnot enough informationcan lead to overfittingRegularization penalizing too complex modelsOften done by adding a special term to cost functionFor neural network, the regularization term is justnorm L2 or L1 of vector of all weights:K Σm(loss(Ym,Dm)) β Σij Wij pname “Weight decay”with p 2 (L2) or p 1 (L1)Deep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201732

DropOut Regularization forconvNet trainingAt each training stage, individual nodes can be temporarily"dropped out" of the net with probability p (usually 0.5),or re-installed with last values of weightsDeep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201733Outline Introduction to Deep Learning Convolutional Neural Networks (CNN or ConvNets)– Intro Short reminder on Neural Nets– Convolution layers & Pooling layers global architecture– Training algorithm Dropout Regularization Useful pre-trained convNets and coding frameworksTransfer LearningDeep Belief Networks (DBN)AutoencodersRecurrent Neural Networks (RNN)Deep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201734

Examples of successful ConvNets LeNet: 1st successful applications of ConvNets, by Yann LeCun in 1990’s.Used to read zip codes, digits, etc. AlexNet: Beginning of ConvNet “buzz”: largely outperformed competitorsin ImageNet ILSVRC2012 challenge. Developped by Alex Krizhevsky etal., architecture similar to LeNet (but deeper larger, and some chainedConvLayers before Pooling). 60 M parameters ! ZF Net: ILSVRC 2013 winner. Developped by Zeiler&Fergus, by modif ofAlexNet on some architecture hyperparameters. GoogLeNet: ILSVRC 2014 winner, developed by Google. Introducedan Inception Module, AveragePooling instead of FullyConnected layer atoutput. Dramatic reduction of number of parameters (4M, compared toAlexNet with 60M). VGGNet: Runner-up in ILSVRC 2014. Very deep (16 CONV/FC layers)140M parameters !! ResNet: ILSVRC 2015, “Residual Network” introducing “skip” connections.Currently SoA in convNet. Very long training but fast execution.Deep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201735LeNet, for digits/letters recognition[LeCun et al., 1998]Input: 32x32 imageDeep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201736

AlexNet, for image categorisation[Krizhevsky et al. 2012]Input: 224x224x3 image60 million parameters !.Deep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201737ZFnet[Zeiler & Fergu, 2013]Input: 224x224x3 imageAlexNet but:CONV1: change from (11x11 stride 4) to (7x7 stride 2)CONV3,4,5: instead of 384, 384, 256 filters use 512, 1024, 512Deep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201738

GoogleNet[Szegedy et al., 2014]Deep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201739ResNet (Residual Net), by Microsoft[He et al., 2015] ILSVRC 2015 large winner in 5 main tracks(3.6% top 5 error) 152 layers!!! But novelty "skip" connectionsDeep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201740

ResNet global architectureBasic block 2-3 weeks of training on 8 GPU machine !! However, at runtime faster than a VGGNet!(even though it has 8x more layers)Deep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201741Summary of recent ConvNet historyBut most important is the choice ofARCHITECTURAL STRUCTUREDeep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201742

Programming environments forDeep-Learning Caffehttp://caffe.berkeleyvision.org/C library, hooks from Pythonnotebooks Torch http://torch.ch/TensorFlow https://www.tensorflow.orgTheano e http://lasagne.readthedocs.iolightweight library to build train neural nets in Theano KERAS https://keras.ioPython front-end APIs mapped eitheron Tensor-Flow or Theano back-endAll of them handle transparent use of GPU,and most of them are used in Python code/notebookDeep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201743Example of convNet code in Kerasmodel Sequential()# Convolution Pooling layers, with Dropoutmodel.add(Convolution2D(conv depth 1, kernel size, kernel size,border mode 'valid', input shape (depth, height, width)))model.add( MaxPooling2D(pool size (pooling size, pooling size)) op prob))# Now flatten to 1D, and apply 1 Fully Connected layermodel.add(Flatten())model.add(Dense(hidden size1, init 'lecun uniform'))model.add(Activation('sigmoid'))# Finally add a Softmax output layer, with 1 neuron per classmodel.add(Dense(num classes, init 'lecun uniform'))model.add(Activation('softmax'))# Training "sessionsgd SGD(lr learning rate, momentum 0.8) # Optimizermodel.compile(loss 'categorical crossentropy', optimizer sgd)model.fit(X train, Y train, batch size 32, nb epoch 2, verbose 1,validation split valid proportion)# Evaluate the trained model on the test setmodel.evaluate(X test, Y test, verbose 1)Deep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201744

Outline Introduction to Deep Learning Convolutional Neural Networks (CNN or ConvNets)– Intro Short reminder on Neural Nets– Convolution layers & Pooling layers global architecture– Training algorithm Dropout Regularization Useful pre-trained convNets and coding frameworksTransfer LearningDeep Belief Networks (DBN)AutoencodersRecurrent Neural Networks (RNN)Deep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201745Generality of learnt representation Transfer learningBy removing last layer(s) (those for classification) of a convNettrained on ImageNet, one obtains a transformation of anyinput image into a semi-abstract representation, which can beused for learning SOMETHING ELSE (« transfer learning »):– either by just using learnt representation as features– or by creating new convNet output and perform learningof new output layers fine-tuning of re-used layersDeep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201746

Transfer Learning and fine-tuning Using a CNN pre-trained on a large dataset,possible to adapt it to another task, using onlya SMALL training set!Deep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201747Examples of transfer-learningapplications Recognition/classification for OTHER categoriesor classes Direct control of driving wheel! (DeepDrive) Precise localisation (position bearing) PoseNet or even 3D informations from monovision!Deep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201748

Learning to drivewith transfer-learningnVidia approachDeep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201749Transfer-Learning for6-DOF Camera Relocalization[A. Kendall, M. Grimes & R. Cipolla, "PoseNet: A Convolutional Networkfor Real-Time 6-DOF Camera Relocalization« , ICCV’2015, pp. 2938-2946]Deep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201750

Summary and perspectives onConvNets & Deep-Learning Proven advantage of learning features empiricallyfrom data Large ConvNets require huge amounts oflabelled examples data for training Current research/progresses finding efficientglobal architecture of ConvNets Enormous potential of transfer learning on smalldatasets for restricted/specialized problems Next frontier: methods for combining UNsuperviseddeep-learning on unlabelled data with supervisedtraining on smaller labelled datasetDeep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201751Outline Introduction to Deep Learning Convolutional Neural Networks (CNN or ConvNets)– Intro Short reminder on Neural Nets– Convolution layers & Pooling layers global architecture– Training algorithm Dropout Regularization Useful pre-trained convNets and coding frameworksTransfer LearningDeep Belief Networks (DBN)AutoencodersRecurrent Neural Networks (RNN)Deep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201752

Deep vs Shallow Learningtechniques overviewDEEPSHALLOWDeep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201753Deep Belief Networks (DBN) One of first Deep-Learning models Proposed by G. Hinton in 2006 Generative probabilistic model (mostly UNSUPERVISED)For capturing high-order correlations ofobserved/visible data ( pattern analysis,or synthesis); and/or characterizingjoint statistical distributions of visible dataGreedy successive UNSUPERVISED learning of layersof Restricted Boltzmann Machine (RBM)Deep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201754

Restricted Boltzmann Machine (RBM)h, hidden( latent variables)v, observedNB: connections areBI-DIRECTIONAL(with same weight)Modelling probability distribution as:with « Energy » E given byDeep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201755Use of trained RBM Input data "completion" : set some vi thencompute h, and generate compatible full samples Generating representative samples Classification if trainedwith inputs data labelDeep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201756

Training RBMFinding θ (W,a,b) maximizing likelihood minimize NegLogLikelihood In binary input case: logℎ) 1Independance within layersSo objective find ℎ 1 ℎ) ℎ 1) ℎ ) 1ℎ( )(, ( )and argMin ' ' log (v) of dataset S:,ℎ,:with/0. 0/ 1Algo: Contrastive Divergence Gibbs sampling used inside a gradient descent procedureDeep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201757Contrastive Divergence algoRepeat:1. Take a training sample v, compute 23( 4) 5 6( 7(,:and sample a vector h from this probability distribution2. Compute positive gradient as outer product 89 3 3;3. From h, compute 2 ′ 4 3) 5 7:, 3 and sample reconstructed v',then resample h' using 2 3′( 4 ′) 5 6( 7(,: ′[Gibbs sampling single step; should theoretically be repeated until convergence]4. Compute negative gradient as outer product 8? ′ 3′ ′3′;5. Update weight matrix by @7 A 89 8? A6. Update biases a and b analogously: @ A3; B 3′; ′ and @6 A 3 3′Gibbs samplingDeep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201758

Modeling of input data distributionobtained by trained RBMInitial data is in blue, reconstructed in red(and green line connects each data point withreconstructed one).Learnt energy function:minima created where data points areDeep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201759Interpretation of trained RBMhidden layer Look at weights of hidden nodeslow-level featuresDeep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201760

Why go deeper with DBN ?DBN: upper layersmore « abstract » featuresDeep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201761Learning of DBNGreedy learning of successive layersDeep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201762

Using low-dim final featuresfor clusteringMuch better results than clustering in input spaceor using other dimension reduction (PCA, etc )Deep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201763Example application of DBN:Clustering of documents in databaseDeep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201764

Image Retrievalapplication example of DBNDeep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201765DBN supervised tuningUNSUPERVISEDSUPERVISEDDeep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201766

Outline Introduction to Deep Learning Convolutional Neural Networks (CNN or ConvNets)– Intro Short reminder on Neural Nets– Convolution layers & Pooling layers global architecture– Training algorithm Dropout Regularization Useful pre-trained convNets and coding frameworksTransfer LearningDeep Belief Networks (DBN)AutoencodersRecurrent Neural Networks (RNN)Deep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201767AutoencodersLearn W and W’ to minimize:Σk zk – xk 2Deep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201768

Variants of autoencoders Denoising autoencoders Sparse autoencoders Stochastic autoencoders Contractive autoencoders Deep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201769Deep Stacked AutoencodersProposed by Yoshua Bengio in 2007Deep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201770

Training of Stacked Autoencoersetc Greedy layerwise training:for each layer k, use backpropagation to minimize Ak(h(k))-h(k) 2 ( regularization cost λ Σij Wij 2)possibly additional term for "sparsity"Deep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201771Use of Deep Autoencoders Data compression / dimension reduction Learn a compact "code "Information Retrieval Noise removal Manifold learningDeep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201772

Summary and perspectives onDBN/RBM/DBM / AE Intrinsicly UNSUPERVISEDcan be used on UNLABELLED DATA Impressive results in Image Retrieval DBN/RBM/DBM Generative probabilistic models Strong potential for enhancement of datasets Interest for "creative« /artistic computing?Deep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201773Outline Introduction to Deep Learning Convolutional Neural Networks (CNN or ConvNets)– Intro Short reminder on Neural Nets– Convolution layers & Pooling layers global architecture– Training algorithm Dropout Regularization Useful pre-trained convNets and coding frameworksTransfer LearningDeep Belief Networks (DBN)AutoencodersRecurrent Neural Networks (RNN)Deep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201774

Recurrent Neural Networks tTime-delayfor each connectionEquivalent formDeep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201775Canonical form of RNNOutput Y(t)X(t)State variables.Non-recurrent network.U(t)External input1. 11.X(t-1)State variablesDeep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201776

Time unfolding of RNNOutput at time t :State variablesX(t)at time tY(t)Non-recurrent networkExternal input at time t :Output at time t-1 :U(t)State variables X(t-1)at time t-1Y(t-1)Non-recurrent networkExternal input at time t-1 :U(t-1)Output at time t-2 :State variablesat time t-2 X(t-2)Y(t-2)Non-recurrent networkExternal input at time t-2 :U(t-2)State variablesX(t-3)at time t-3Deep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201777RNN trainingHorizon Nt 4W(t)W(t)W(t)W(t)e4e3Temporal sequencett 1W(t 4)t 2t 3t 4 BackPropagation Through Time (BPTT)gradients update for a whole sequence Real Time Recurrent Learning (RTRL)gradients update for each frame in a sequenceDeep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201778

BackPropagation THROUGH TIME(BPTT)U(t)U(t 1)bloc 1W(t)Xd(t-1)D(t 1)U(t 2)bloc 2W(t)D(t 2)bloc 3W(t)X(t 1)X(t)X(t 2)dE/dXnδW1dE/dXn 1δW3δW2δW δW1 δW2 δW3Deep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201779BPTT delayW(t Nt) W(t) - λ gradW(E) avec E KEFEFG 'EEandGLJG?JEIG EIG?MEIG 'EIG?M EEMLJ D,Στ (Yτ-Dτ)2EFG EFG EHG EIG?J EEHG EIG?J E(chain rule)GEIEIG 1EI ?JEIG?MLJJacobian matrix of theFeedforward netDeep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.201780

Vanishing/exploding gradientproblem If eigenvalues of Jacobian matrix 1,then gradients tend to explodeLearning will never converge. C

Deep-Learning: principles convNets DBN RNN, Pr. Fabien Moutarde, Robotics Lab, MINES ParisTech March.2017 3 Outline Introduction to Deep Learning Convolutional Neural Networks (CNN or ConvNets) - Intro Short reminder on Neural Nets - Convolution & Pooling layers global architecture - Training algorithm Dropout Regularization Useful pre-trained convNets and coding frameworks