deep learning nie tylko dla phds

60
Deep Learning - nie tylko dla PhDs MikroSFI #4 Machine Learning Mateusz Opala

Upload: matthew-opala

Post on 15-Apr-2017

117 views

Category:

Science


4 download

TRANSCRIPT

Page 1: Deep learning nie tylko dla PhDs

Deep Learning - nie tylko dla PhDs

MikroSFI #4 Machine Learning

Mateusz Opala

Page 2: Deep learning nie tylko dla PhDs

Motywacja

Page 3: Deep learning nie tylko dla PhDs

Reprezentacja

● Reprezentacja - wejście dla algorytmów uczenia maszynowego● Reprezentacja może być “ręcznie dobrana” np. SIFT lub HoG

Data Feature extraction Learning

● Chcielibyśmy się uczyć reprezentacji

Data Learning

Page 4: Deep learning nie tylko dla PhDs

Istotą Deep Learningu jest uczenie się hierarchicznej reprezentacji danych

Page 5: Deep learning nie tylko dla PhDs

Dlaczego hierarchiczność?

● Prior na regularność funkcji nie pozwala generalizować globalnie

● Teoria: istnieją pewnie rodziny funkcji, które mogą być reprezentowane przez

k-warstowe architektury kompaktowo, podczas gdy k-1-warstwowe

architektury wymagają eksponencjalnej ilości jednostek względem rozmiaru

wejścia

● Rozproszoność reprezentacji powoduje, że ilość rozróżnialnych regionów

może rosnąć nawet eksponencjalnie z ilością parametrów

Page 6: Deep learning nie tylko dla PhDs

Inspiracja z biologii

Page 7: Deep learning nie tylko dla PhDs

Inspiracja z biologii

Co widzi Convolutional DBN?

Page 8: Deep learning nie tylko dla PhDs

But then I realised maybe that’s what hell is: the entire rest of eternity spent in

f*cking Bruges

Page 9: Deep learning nie tylko dla PhDs
Page 10: Deep learning nie tylko dla PhDs
Page 11: Deep learning nie tylko dla PhDs
Page 12: Deep learning nie tylko dla PhDs
Page 13: Deep learning nie tylko dla PhDs

“Last year, the cost of a top, world-class deep learning expert was about the

same as a top NFL quarterback prospect”

Peter Lee - Head of Microsoft Research (2014)

Page 14: Deep learning nie tylko dla PhDs

Jak uczyć reprezentacji?

Page 15: Deep learning nie tylko dla PhDs

Multilayer Perceptron

Co zazwyczaj słyszymy:

● Teraz mamy wiele danych i lepszy sprzęt

Bardziej subtelne powody:

● Dostępność bibliotek wysokiej jakośći

● Otwartość researchu (arxiv)● AlexNet - pobicie klasycznych

metod● Rozwój metod

nienadzorowanego uczeniawejście

warstwy ukryte

wyjście

Dlaczego teraz?

Page 16: Deep learning nie tylko dla PhDs

Biblioteki

● Theano● Torch● pylearn2● Caffe● Deeplearning4j● TensorFlow● CNTK● Cuda-convnet● DeepLearnToolbox● neon● Keras● Chainer● mxnet● gensim● … i wiele innych

Page 17: Deep learning nie tylko dla PhDs

Theano

Page 18: Deep learning nie tylko dla PhDs

Cechy Theano

● Integracja z Numpy - numpy.ndarray używane w funkcjach theano

● Tworzenie grafów obliczeń, które mogą być kompilowane zarówno na CPU

jak i GPU

● Zapisywanie skompilowanych i zoptymalizowanych grafów umożliwia

ponowne ładowanie

● Wizualizacja grafów obliczeń

● Symboliczne różniczkowanie

● Optymalizacje numeryczne

● Wsparcie dla cuDNN

● Integracja z CNMeM

● Data parallelism - Platoon

Page 19: Deep learning nie tylko dla PhDs

Typy danych● scalar● vector● row● col● matrix● tensor3● tensor4

Każdy z powyższych typów dostępny jest w wersjach:

● int8 np. bvector, bscalar ● int16 np. wmatrix, wscalar● int32 np. itensor3, irow● int64 np. lcol, lscalar● float64 np. dscalar, dtensor4● float32 np. fscalar, fmatrix● complex64, np. cscalar, cmatrix● complex128, np. ztensor4, zrow

Page 20: Deep learning nie tylko dla PhDs

Działania na skalarach

Page 21: Deep learning nie tylko dla PhDs

Działania na macierzach

Page 22: Deep learning nie tylko dla PhDs

Shared Variables

Page 23: Deep learning nie tylko dla PhDs

Keyword givens

Page 24: Deep learning nie tylko dla PhDs

Logistyczna regresja

Page 25: Deep learning nie tylko dla PhDs
Page 26: Deep learning nie tylko dla PhDs

Pętle w Theano

Page 27: Deep learning nie tylko dla PhDs

Restricted Boltzmann Machine

● Stochastyczna sieć neuronowa z 1 warstwą ukrytą

● Model generatywny

● Połącznie nieskierowane pomiędzy neuronami

● Prawdopodobieństwo obserwacji zdefiniowane w oparciu o energię

konfiguracji

● Funkcja kosztu to negatywne logarytmiczne prawdopodobieństwo obserwacji

● Gradient jest intractable

● Algorytm aproksymacji: Contrastive Divergence

● Używany w PayPal do detekcji anomalii

● Używany do pretrenowania sieci neuronowych

● Występuje w wielu wariantach Binary RBM, Gaussian RBM, Nosiy Rectified

RBM

Page 28: Deep learning nie tylko dla PhDs

Restricted Boltzmann Machine

Page 29: Deep learning nie tylko dla PhDs

Generowanie twarzyKod: http://github.com/plazowicz/IZS

Page 30: Deep learning nie tylko dla PhDs

Dane

● Labeled Faces in the Wild● ~ 13k obrazków, ~ 6k unikalnych osób

Page 31: Deep learning nie tylko dla PhDs

Po 50 epokach...

Page 32: Deep learning nie tylko dla PhDs

Po 200 epokach

Page 33: Deep learning nie tylko dla PhDs

Neural Artistic Style Transfer

Page 34: Deep learning nie tylko dla PhDs

Kod: http://github.com/plazowicz/IZS

Page 35: Deep learning nie tylko dla PhDs
Page 36: Deep learning nie tylko dla PhDs
Page 37: Deep learning nie tylko dla PhDs
Page 38: Deep learning nie tylko dla PhDs

Pretrenowanie CNN

Page 39: Deep learning nie tylko dla PhDs

Convolution = sparse connectivity + parameters sharing

Page 40: Deep learning nie tylko dla PhDs

Sparse Connectivity

Page 41: Deep learning nie tylko dla PhDs

Parameters Sharing

Page 42: Deep learning nie tylko dla PhDs

Convolution

Page 43: Deep learning nie tylko dla PhDs

Pooling

Page 44: Deep learning nie tylko dla PhDs

LeNet

Page 45: Deep learning nie tylko dla PhDs

Jak głębokie sieci obecnie trenujemy?

AlexNet2012

8 warstw

VGG2014

19 warstw

Res-Net2015

152 warstwy

Page 46: Deep learning nie tylko dla PhDs

VGG

Page 47: Deep learning nie tylko dla PhDs

Reprezentacja contentu

Page 48: Deep learning nie tylko dla PhDs

Reprezentacja stylu

Page 49: Deep learning nie tylko dla PhDs

Funkcja kosztu

Page 50: Deep learning nie tylko dla PhDs

Lasagne

● https://github.com/Lasagne/Lasagne

● Lekka biblioteka do budowania i trenowania sieci neuronowych w Theano

● Moduły:○ Layers

○ Updates

○ Objectives

○ Nonlinearities

○ Regularization

○ Init

● https://github.com/Lasagne/Recipes

● ModelZoo

● Transfer modelu z Caffe do Lasagne

● Szybkie prototypowanie

Page 51: Deep learning nie tylko dla PhDs
Page 52: Deep learning nie tylko dla PhDs
Page 53: Deep learning nie tylko dla PhDs
Page 54: Deep learning nie tylko dla PhDs
Page 55: Deep learning nie tylko dla PhDs
Page 56: Deep learning nie tylko dla PhDs
Page 57: Deep learning nie tylko dla PhDs
Page 58: Deep learning nie tylko dla PhDs

● Justin Johnson

● https://github.com/jcjohnson/ne

ural-animation

● Implementacja w Torch

Page 60: Deep learning nie tylko dla PhDs

Q&A