deep learning - practical notes on convolutional …...deep learning - practical notes on...

142
deep learning Practical Notes on Convolutional Neural Networks Sigurd Spieckermann May 7, 2015 Research Scientist @ Siemens Corporate Technology

Upload: others

Post on 25-May-2020

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

deep learningPractical Notes on Convolutional Neural Networks

Sigurd SpieckermannMay 7, 2015

Research Scientist @ Siemens Corporate Technology

Page 2: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

overview

• Convolution Algorithms• Reducing Overfitting• Architecture Guidelines• Kaggle: The Galaxy Zoo Challenge

Page 3: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

convolution algorithms

Page 4: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

modes: valid convolution

result

Page 5: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

modes: valid convolution

result

Page 6: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

modes: valid convolution

result

Page 7: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

modes: valid convolution

result

Page 8: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

modes: full convolution

result

Page 9: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

modes: full convolution

result

Page 10: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

modes: full convolution

result

Page 11: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

modes: full convolution

result

Page 12: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

modes: same convolution

result

Page 13: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

modes: same convolution

result

Page 14: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

modes: same convolution

result

Page 15: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

modes: same convolution

result

Page 16: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 17: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 18: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 19: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 20: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 21: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 22: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 23: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 24: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 25: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 26: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 27: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 28: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 29: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 30: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 31: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 32: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 33: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 34: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 35: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 36: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 37: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 38: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 39: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 40: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 41: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 42: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 43: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 44: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 45: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 46: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 47: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 48: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 49: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 50: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 51: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 52: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 53: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 54: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 55: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 56: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 57: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 58: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 59: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 60: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 61: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 62: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 63: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 64: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 65: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 66: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 67: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 68: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 69: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 70: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 71: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 72: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 73: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 74: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 75: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 76: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 77: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 78: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 79: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

direct convolution

result

Page 80: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

matrix multiplication based convolution

copy

Page 81: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

matrix multiplication based convolution

copy

Page 82: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

matrix multiplication based convolution

copy

Page 83: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

matrix multiplication based convolution

copy

Page 84: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

matrix multiplication based convolution

copy

Page 85: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

matrix multiplication based convolution

...

copy

Page 86: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

matrix multiplication based convolution (cont’d)

...

Filters

=

Result

...

Reshaped

Page 87: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

matrix multiplication based convolution (cont’d)

...

Filters

=

Result

...

Reshaped

Page 88: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

matrix multiplication based convolution (cont’d)

...

Filters

=

Result

...

Reshaped

Page 89: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

matrix multiplication based convolution (cont’d)

...

Filters

=

Result

...

Reshaped

Page 90: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

matrix multiplication based convolution (cont’d)

...

Filters

=

Result

...

Reshaped

Page 91: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

matrix multiplication based convolution (cont’d)

...

Filters

=

Result

...

Reshaped

Page 92: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

matrix multiplication based convolution (cont’d)

...

Filters

=

Result

...

Reshaped

Page 93: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

matrix multiplication based convolution (cont’d)

...

Filters

=

Result

...

Reshaped

Page 94: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

matrix multiplication based convolution (cont’d)

...

Filters

=

Result

...

Reshaped

Page 95: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

matrix multiplication based convolution (cont’d)

...

Filters

=

Result

...

Reshaped

Page 96: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

matrix multiplication based convolution (cont’d)

...

Filters

=

Result

...

Reshaped

Page 97: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

matrix multiplication based convolution (cont’d)

...

Filters

=

Result

...

Reshaped

Page 98: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

matrix multiplication based convolution (cont’d)

...

Filters

=

Result

...

Reshaped

Page 99: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

matrix multiplication based convolution (cont’d)

...

Filters

=

Result

...

Reshaped

Page 100: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

matrix multiplication based convolution (cont’d)

...

Filters

=

Result

...

Reshaped

Page 101: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

matrix multiplication based convolution (cont’d)

...

Filters

=

Result

...

Reshaped

Page 102: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

fft convolution

Page 103: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

fft convolution

Page 104: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

fft convolution

FFT FFT

Page 105: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

fft convolution

FFT FFT

Page 106: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

fft convolution

FFT FFT

Page 107: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

fft convolution

FFT FFT

Page 108: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

fft convolution

FFT FFT

Page 109: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

fft convolution

FFT FFT

Page 110: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

fft convolution

FFT FFT

Page 111: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

fft convolution

FFT FFT

Page 112: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

fft convolution

FFT FFT

Page 113: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

fft convolution

FFT FFT

Page 114: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

fft convolution

FFT FFT

iFFT

Page 115: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

fft convolution

FFT FFT

iFFT

Page 116: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

fft convolution

FFT FFT

iFFT

Page 117: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

reducing overfitting

Page 118: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

dropout

• Injection of noise• Randomly set incoming neurons to zero during training with probability 1− p• Rescale neurons/weights by factor 1− p during evaluation

. . .

. . .

1

Page 119: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

dropout

• Injection of noise• Randomly set incoming neurons to zero during training with probability 1− p• Rescale neurons/weights by factor 1− p during evaluation

. . .

. . .

1

Page 120: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

dropout

• Injection of noise• Randomly set incoming neurons to zero during training with probability 1− p• Rescale neurons/weights by factor 1− p during evaluation

. . .

. . .

1

Page 121: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

dropout (cont’d)

• Prevents co-adaptation of neurons (Hinton et al., 2012)• Linear regression + Dropout = ridge regression with input scale invariant regularizationcost (Srivastava, 2013)

• A form of model averaging (with shared weights) (Srivastava et al., 2014)• Comprehensive overview (Srivastava et al., 2014)

Hinton, G. E., Srivastava, N., Krizhevsky, A., Sutskever, I., & Salakhutdinov, R. R. (2012). Improving neural networks by preventingco-adaptation of feature detectors. arXiv preprint arXiv:1207.0580.Srivastava, N. (2013). Improving neural networks with dropout (Master’s Thesis, University of Toronto).Srivastava, N., Hinton, G., Krizhevsky, A., Sutskever, I., & Salakhutdinov, R. (2014). Dropout: A simple way to prevent neuralnetworks from overfitting. The Journal of Machine Learning Research, 15(1), pp. 1929-1958.

Page 122: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

maxout

• A learned piecewise linear activation function (Goodfellow et al., 2013)• Dropout’s model averaging approximation is more accurate with Maxout than with tanh• Gradient flow is better with Maxout than with ReLU

Goodfellow, I. J., Warde-Farley, D., Mirza, M., Courville, A., & Bengio, Y. (2013). Maxout networks. In Proceedings of the InternationalConference on Machine Learning, pp. 1319-1327

Page 123: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

maxout (cont’d)

. . .

. . .

max max . . . max

1

Page 124: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

maxout (cont’d)

. . .

. . .

max max . . . max

1

Page 125: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

maxout (cont’d)

. . .

. . .

max max . . . max

1

Page 126: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

weight norm constraints

• Constrain weights vector w: ∥w∥22 ≤ c with c > 0• w is the vector of weights incident to a hidden unit• Allows to use larger learning rate• Particularly effective when combined with Dropout (Srivastava et al., 2014)

Srivastava, N., Hinton, G., Krizhevsky, A., Sutskever, I., & Salakhutdinov, R. (2014). Dropout: A simple way to prevent neuralnetworks from overfitting. The Journal of Machine Learning Research, 15(1), pp. 1929-1958.

Page 127: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

data augmentation

• Image translations, i.e. extract smaller “sub-images” (large patches)• Reflections, i.e. flip images horizontally or vertically (if sensible)• Intensity perturbation of RGB channels, i.e. “add multiples of the found principalcomponents [of the 3× 3 covariance matrix of RGB pixel values], with magnitudesproportional to the corresponding eigenvalues times a random variable drawn from[N (0, 0.1)].” (Krizhevsky et al., 2012)

• Exploitation of symmetries and other invariances

Krizhevsky, A., Sutskever, I., & Hinton, G. E. (2012). Imagenet classification with deep convolutional neural networks. In Advancesin Neural Information Processing Systems, pp. 1097-1105.

Page 128: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

architecture guidelines

Page 129: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

convolution

• Increase number of feature maps in deeper layers (e.g. 3→ 32→ 64→ 128)• Decrease filter size in deeper layers (e.g. 7→ 5→ 3)• Roughly keep k(l−1) ·m(l−1) · n(l−1) ≈ k(l) ·m(l) · n(l)

• Typically use “valid” or “same” convolution mode• Typically use strides equal to 1

Page 130: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

pooling

• Max-pooling with non-overlapping regions (typically 2× 2)• Average pooling• Lp-pooling (Sermanet et al., 2012)• Stochastic max-pooling (Zeiler & Fergus, 2013)

Sermanet, P., Chintala, S., & LeCun, Y. (2012). Convolutional neural networks applied to house numbers digit classification. InInternational Conference on Pattern Recognition (ICPR), pp. 3288-3291. IEEE.Zeiler, M. D., & Fergus, R. (2013). Stochastic pooling for regularization of deep convolutional neural networks. In Proceedings ofthe International Conference on Representation Learning (ICLR).

Page 131: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

the galaxy zoo challenge

Page 132: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

Source: NASA

Page 133: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

the galaxy zoo challenge

Task: Classify the morphologies of distant galaxies in the universe based on images

Page 134: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

the galaxy zoo challenge (cont’d)

• 61 578 training images• 79 975 test images• Images sized 424× 424 pixels• 37 hierarchical categories• RMSE between predicted class probabilities and ground truth

Page 135: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

the galaxy zoo challenge (cont’d)

Decision tree of classifications (Willett et al., 2013)

Willett, K. W., Lintott, C. J., Bamford, S. P., Masters, K. L., Simmons, B. D., Casteels, K. R., ... & Thomas, D. (2013). Galaxy Zoo 2:Detailed morphological classifications for 304 122 galaxies from the Sloan Digital Sky Survey. Monthly Notices of the RoyalAstronomical Society, stt1458.

Page 136: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

the galaxy zoo challenge (cont’d)

Best single-model architecture by Sander Dieleman

http://benanne.github.io/2014/04/05/galaxy-zoo.html

Page 137: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

the galaxy zoo challenge (cont’d)

Data augmentation: Exploiting spatial invariances

• Images cropped to 207× 207• Galaxy images are rotation invariant⇒ random rotations• Galaxy images are (to some extent) translation invariant⇒ random shifts by ±4 pixels(relative to original size)

• Galaxy images are (to some extent) zoom invariant⇒ random (log-uniform) scalingwith factors in the range [ 11.3 , 1.3]

• Galaxy images are flip invariant⇒ random flipping• Finally, downsampled to 69× 69

Page 138: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

the galaxy zoo challenge (cont’d)

Data augmentation: Color perturbation

• Intensities of RGB channels perturbed• Multiples of the first principal component (magnitude proportional to thecorresponding eigenvalue times a random variable drawn from N (0, 0.5) added

• Adapted from Krizhevsky et al. (2012)

Krizhevsky, A., Sutskever, I., & Hinton, G. E. (2012). Imagenet classification with deep convolutional neural networks. In Advancesin Neural Information Processing Systems, pp. 1097-1105.

Page 139: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

the galaxy zoo challenge (cont’d)

Network architecture: Exploiting rotation invariance to increase parameter sharing

• Regular crop + 45◦ rotated crop, both flipped• Four partially overlapping 45× 45 parts

Crop + 45◦ rotated crop + flip Partially overlapping parts

Page 140: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

the galaxy zoo challenge (cont’d)

Best single-model architecture by Sander Dieleman

http://benanne.github.io/2014/04/05/galaxy-zoo.html

Page 141: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

the galaxy zoo challenge (cont’d)

Incorporating output constraints

• Flat output probabilities: z′i =max(0,zi)

ϵ+∑

k max(0,zk)for each node in the tree

• Lower level node probabilities are obtained by multiplying the probabilities of the pathin the tree

Page 142: Deep Learning - Practical Notes on Convolutional …...Deep Learning - Practical Notes on Convolutional Neural Networks Author Sigurd Spieckermann Created Date 5/11/2015 11:09:17 AM

Questions?