convolutional neural networks: applications and a...

23
Convolutional Neural Networks: Applications and a short timeline 7th Deep Learning Meetup Kornel Kis Vienna, 1.12.2016.

Upload: trandiep

Post on 08-Aug-2018

260 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Convolutional Neural Networks: Applications and a …files.meetup.com/19219913/Kornel_Kis_convnet_lecture.pdf · Convolutional Neural Networks: Applications and a short timeline 7th

Convolutional Neural Networks: Applications and a short

timeline 7th Deep Learning Meetup

Kornel Kis Vienna, 1.12.2016.

Page 2: Convolutional Neural Networks: Applications and a …files.meetup.com/19219913/Kornel_Kis_convnet_lecture.pdf · Convolutional Neural Networks: Applications and a short timeline 7th

Introduction

•  Currently a master student

•  Master thesis at BME SmartLab

•  Started deep learning 2.5 years ago

Page 3: Convolutional Neural Networks: Applications and a …files.meetup.com/19219913/Kornel_Kis_convnet_lecture.pdf · Convolutional Neural Networks: Applications and a short timeline 7th

Deep MultiLayer-Perceptrons

(feedforward)

ConvNETs (feedforward)

LSTM, GRU etc.

(recurrent)

New idea: Backprop. through time

New idea: Input is

highly redundant

Page 4: Convolutional Neural Networks: Applications and a …files.meetup.com/19219913/Kornel_Kis_convnet_lecture.pdf · Convolutional Neural Networks: Applications and a short timeline 7th

The „naive approach”

• Let’s apply MLP networks to real-world images… • CIFAR-10 database: 32*32*3 pixels • 32*32*3 = 3072 inputs ! • Does not scale with image size • Really inefficient knowledge representation • MLPs work well with de-correlated input

Page 5: Convolutional Neural Networks: Applications and a …files.meetup.com/19219913/Kornel_Kis_convnet_lecture.pdf · Convolutional Neural Networks: Applications and a short timeline 7th

Key Idea

Information on real-world images are really redundant

Learn patterns, not data

Feature engineering -> Feature learning

Page 6: Convolutional Neural Networks: Applications and a …files.meetup.com/19219913/Kornel_Kis_convnet_lecture.pdf · Convolutional Neural Networks: Applications and a short timeline 7th

ConvNets

• Feedforward networks • Use different types of layers • Convolutional layer • Pooling layer • ReLU layer • (Sometimes FC layer) • Etc.

Page 7: Convolutional Neural Networks: Applications and a …files.meetup.com/19219913/Kornel_Kis_convnet_lecture.pdf · Convolutional Neural Networks: Applications and a short timeline 7th

Convolutional Layer

• Each unit is only connected to a small part of the image • „receptive field” of a neuron

• Weights are shared inside one „depth slice” • Each „depth slice” is using the same weights • Drastically reduces parameter count

• A 3D volume of neurons • Width, Height, „Depth”

Page 8: Convolutional Neural Networks: Applications and a …files.meetup.com/19219913/Kornel_Kis_convnet_lecture.pdf · Convolutional Neural Networks: Applications and a short timeline 7th

Convolutional Layer

Image source: http://cs231n.github.io/convolutional-networks/

Input Output

„Depth slices”

Page 9: Convolutional Neural Networks: Applications and a …files.meetup.com/19219913/Kornel_Kis_convnet_lecture.pdf · Convolutional Neural Networks: Applications and a short timeline 7th

Pooling layer

• Downsampling -> further control of parameters • Types: Max-pooling, Avg-pooling Etc. • Changes spatial structure, but not parameter count

Page 10: Convolutional Neural Networks: Applications and a …files.meetup.com/19219913/Kornel_Kis_convnet_lecture.pdf · Convolutional Neural Networks: Applications and a short timeline 7th

ReLU layer

• Applies a non-linear function • Does change neither parameter count, nor structure

Page 11: Convolutional Neural Networks: Applications and a …files.meetup.com/19219913/Kornel_Kis_convnet_lecture.pdf · Convolutional Neural Networks: Applications and a short timeline 7th

Important ConvNet architectures

• AlexNet (2012) – 8 layers • VGG (2014) – 16/19 layers • GoogLeNet (2014-) – 22 layers (Inception v1) • ResNet (2015-) – 152 layers !!! • Inception-ResNet (2016) - (Inception v4)

What about vanishing gradients?

Page 12: Convolutional Neural Networks: Applications and a …files.meetup.com/19219913/Kornel_Kis_convnet_lecture.pdf · Convolutional Neural Networks: Applications and a short timeline 7th

GoogLeNet

Input

Output1

Output2

Output3

Image source: https://indico.io/blog/wp-content/uploads/2015/08/googlenet.png

Page 13: Convolutional Neural Networks: Applications and a …files.meetup.com/19219913/Kornel_Kis_convnet_lecture.pdf · Convolutional Neural Networks: Applications and a short timeline 7th

ResNet

• Not just stacking layers on top of each other… „Normal” „Residual”

Page 14: Convolutional Neural Networks: Applications and a …files.meetup.com/19219913/Kornel_Kis_convnet_lecture.pdf · Convolutional Neural Networks: Applications and a short timeline 7th

A brain analogy

(hypothesis)

Image source: https://figshare.com/articles/Ventral_visual_stream/106794 (Jonas Kubilius)

Page 15: Convolutional Neural Networks: Applications and a …files.meetup.com/19219913/Kornel_Kis_convnet_lecture.pdf · Convolutional Neural Networks: Applications and a short timeline 7th

Spiking neural networks

• More similar to real neurons • Neurons do not fire at each cycle, only after reaching some threshold • Output information is carried by frequency or timing between spikes

• Possible applications (?) • Direct modeling of the nervous system • Not yet widespread due to hardware constraints and stability problems

Page 16: Convolutional Neural Networks: Applications and a …files.meetup.com/19219913/Kornel_Kis_convnet_lecture.pdf · Convolutional Neural Networks: Applications and a short timeline 7th

Applications

• „Features Matter”. ([Girshick et al. 2014]) • Meaning: better feature learning directly yield better overall performance

• Frameworks are being developed in many areas which can use any deep ConvNet as feature learner • Wide range of applications (images, videos, speech technology, etc.)

Page 17: Convolutional Neural Networks: Applications and a …files.meetup.com/19219913/Kornel_Kis_convnet_lecture.pdf · Convolutional Neural Networks: Applications and a short timeline 7th

General approach

• Networks are rarely trained from „scratch” • Pre-trained weights are often available for each network

• Fine-tuning (transfer learning) for specific application • Only FC layers (the classifier) are re-trained from random initials

Page 18: Convolutional Neural Networks: Applications and a …files.meetup.com/19219913/Kornel_Kis_convnet_lecture.pdf · Convolutional Neural Networks: Applications and a short timeline 7th

A brief example: object detection

• Problem: Finding multiple objects on an image • Output: bounding-boxes given with 4 coordinates and detection probability

• Massive improvements in performance in the recent years, thanks to ConvNets

• Frameworks include R-CNN, Fast R-CNN, Faster R-CNN, R-FCN

Page 19: Convolutional Neural Networks: Applications and a …files.meetup.com/19219913/Kornel_Kis_convnet_lecture.pdf · Convolutional Neural Networks: Applications and a short timeline 7th

R-FCN/ Faster R-CNN

example

Image source: Kaiming He, Xiangyu Zhang, Shaoqing Ren, & Jian Sun. “Deep Residual Learning for Image Recognition”. arXiv 2015. Shaoqing Ren, Kaiming He, Ross Girshick, & Jian Sun. “Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks”. NIPS 2015.

Page 20: Convolutional Neural Networks: Applications and a …files.meetup.com/19219913/Kornel_Kis_convnet_lecture.pdf · Convolutional Neural Networks: Applications and a short timeline 7th

R-FCN

• Latest generation of object detection frameworks • Based on Faster R-CNN • Regression to boundary box coordinates + object classification inside boundary box • Uses an arbitrary ConvNet (most often ResNet) as backend • Surpasses human-level performance • Detection works very close to real-time (!)

Page 21: Convolutional Neural Networks: Applications and a …files.meetup.com/19219913/Kornel_Kis_convnet_lecture.pdf · Convolutional Neural Networks: Applications and a short timeline 7th

Our current project

• Skin cancer image detection/classification • Huge database of medical images • Using Faster R-CNN (currently) • Image labeling/preprocessing is neccessary • Related work: • [Liao, Haofu. "A Deep Learning Approach to Universal Skin Disease Classification."] • Already surpassing human expert performance on a much smaller dataset

Page 22: Convolutional Neural Networks: Applications and a …files.meetup.com/19219913/Kornel_Kis_convnet_lecture.pdf · Convolutional Neural Networks: Applications and a short timeline 7th

Challenges

• Huge unlabeled dataset

• Many preprocessing steps

• Pre-trained models may not be applicable

Page 23: Convolutional Neural Networks: Applications and a …files.meetup.com/19219913/Kornel_Kis_convnet_lecture.pdf · Convolutional Neural Networks: Applications and a short timeline 7th

Image source: https://www.carmudi.ae/journal/wp-content/uploads/2015/06/Google-Self-Driving-Car.jpg

Thank you for your attention!