deep learning into advance - 1. image, convnet

36
DEEP LEARNING INTO ADVANCE 김효준 AB180

Upload: hyojun-kim

Post on 06-Jan-2017

1.146 views

Category:

Engineering


1 download

TRANSCRIPT

Page 1: Deep Learning Into Advance - 1. Image, ConvNet

D E E P L E A R N I N G I N T O A D VA N C E

김효준�AB180

Page 2: Deep Learning Into Advance - 1. Image, ConvNet

Image Natural Language

Behavior

Lorem Ipsum Dolar Sit Amet.

=> Consectetur Adipiscing

Elit. Praesent A

Page 3: Deep Learning Into Advance - 1. Image, ConvNet

ImageClassification Localization Object Detection Segmenetation Generation Visualization

Page 4: Deep Learning Into Advance - 1. Image, ConvNet

Image Classification한 이미지에 대해 라벨링 (분류) 한다.딥러닝 붐의 시작이 된 분야CNN (Convolutional Neural Network)의 화려한 데뷔

현재 ILSVRC 2015 데이터셋 기준Top-5 Accuracy 96.92%(사람은 94%!)

Page 5: Deep Learning Into Advance - 1. Image, ConvNet

Image Localization해당 분류된 사물이 이미지 내 어디에 있는가?Classification과 Regression을동시에 사용해서 위치를 판정함

Page 6: Deep Learning Into Advance - 1. Image, ConvNet

Image Object Detection이미지 안의 여러개의 사물에 대해각각 Classification & Localization

State-Of-Art (2015. 06.) :이미지를 그리드로 잘라서확률분포 계산 후 Bounding Box 매김

Page 7: Deep Learning Into Advance - 1. Image, ConvNet

Image SegmentationBounding Box에서 더 나아가서실제 이미지가 차지하고 있는 픽셀이어디인지를 알아본다.

이미지를 다운샘플링한 뒤픽셀별로 Classficiation을 수행해서해당 픽셀별 확률분포를 Upsampling하는 일련의 과정을 학습함.

Page 8: Deep Learning Into Advance - 1. Image, ConvNet

Image Generation이미지를 무언가로부터 생성한다.

ex) 텍스트로부터 생성,빈 부분의 이미지를 생성,밑그림으로부터 이미지를 생성,작은 해상도로부터 고해상도 이미지 생성Latent Space로부터 이미지 생성

Page 9: Deep Learning Into Advance - 1. Image, ConvNet

Image Visualization이미지 자체가 아니라 주로 추출해낸 Feature, Activation Map,학습시킨 Filter의 표현 방법 및 재구성 방법을 연구하는 분야Visualization을 응용해 만든 획기적인 결과물도 많이 존재ex) Deep Dream, Artistic Style Transfer...

Page 10: Deep Learning Into Advance - 1. Image, ConvNet

Image Classification : How?Convolutional Neural Network (ConvNet, CNN)

Page 11: Deep Learning Into Advance - 1. Image, ConvNet

ConvNet : Motivations

Receptive Field (수용 영역) :한 외부 자극은 특정 영역의 세포에만 영향을 준다.이런 세포들이 계층적으로 쌓여서 신경을 형성한다.

NEUROSCIENCE

Page 12: Deep Learning Into Advance - 1. Image, ConvNet

ConvNet : MotivationsNEUROSCIENCE

Page 13: Deep Learning Into Advance - 1. Image, ConvNet

ConvNet : MotivationsIMAGE PROCESSING

Convolution은 이미지 처리에서, 전체 이미지에 대해특정 필터 (커널)을 적용하는 연산으로 사용된다.이미지를 훑으며 작은 필터 행렬를 곱하고 더함으로서결과 이미지를 만들어낸다.

Page 14: Deep Learning Into Advance - 1. Image, ConvNet

Why ConvNet?기존에 우리가 사용하던 네트워크는 Fully Connected / Dense Network이전 레이어의 출력값을 전부 통과시킴. (Wx + b)그렇기에 레이어 안의 파라미터들은 전부 연결되어있음. (Gradient-ically)

Page 15: Deep Learning Into Advance - 1. Image, ConvNet

ex) MNIST 이미지image = tf.placeholder('int32', [28, 28]) x = tf.reshape(image, [-1]) # 크기 784짜리로 flatten

W = tf.Variable(tf.random_normal([784, 32])) b = tf.Variable(tf.zeros([32])) y = tf.nn.xw_plus_b(x, W, b) # xW + b

Page 16: Deep Learning Into Advance - 1. Image, ConvNet

ex) MNIST 이미지image = tf.placeholder('int32', [28, 28]) x = tf.reshape(image, [-1]) # 크기 784짜리로 flatten

W = tf.Variable(tf.random_normal([784, 32])) b = tf.Variable(tf.zeros([32])) y = tf.nn.xw_plus_b(x, W, b) # xW + b

Page 17: Deep Learning Into Advance - 1. Image, ConvNet

Why ConvNet?기존에 우리가 사용하던 네트워크는 Fully Connected / Dense Network이전 레이어의 출력값을 전부 통과시킴. (Wx + b)그렇기에 레이어 안의 파라미터들은 전부 연결되어있음. (Gradient-ically)

Page 18: Deep Learning Into Advance - 1. Image, ConvNet

Why ConvNet?기존에 우리가 사용하던 네트워크는 Fully Connected / Dense Network이전 레이어의 출력값을 전부 통과시킴. (Wx + b)그렇기에 레이어 안의 파라미터들은 전부 연결되어있음. (Gradient-ically)허나 이미지엔 적합하지 않다. 파라미터 수와 Computational Cost가 증가

Page 19: Deep Learning Into Advance - 1. Image, ConvNet

Convolutional Neural NetworkWx+b 대신, 조그만 필터를 전체 이미지에 대해 훑는다.이후 결과를 Activation Function에 통과시킨다.이렇게하면 출력으로 Activation Map이 나온다.그리고 ConvNet은 이 필터 (커널)를 학습해나간다.

Page 20: Deep Learning Into Advance - 1. Image, ConvNet

Convolutional Neural Network

Page 21: Deep Learning Into Advance - 1. Image, ConvNet

Convolutional Neural Network

Page 22: Deep Learning Into Advance - 1. Image, ConvNet

ConvNet : Interpretation

Page 23: Deep Learning Into Advance - 1. Image, ConvNet

ConvNet StructureConvolution Layer : 설명했던 Convolution 연산 수행 Activation Layer : Activation Function에 통과시킴 Pooling Layer : 다운샘플링을 수행. 크기를 줄임. Fully-Connected : 마지막 레이어에 붙음. Inferrence 수행 Softmax : 각각의 라벨에 대한 확률분포 도출

Page 24: Deep Learning Into Advance - 1. Image, ConvNet

Convolution Layer

"A ConvNet is made up of Layers. Every Layer has a simple API: It transforms an input 3D volume to an output 3D volume with some differentiable function that may or may not have parameters."

Source: CS231n

Page 25: Deep Learning Into Advance - 1. Image, ConvNet

Convolution Layer Source: CS231n

Page 26: Deep Learning Into Advance - 1. Image, ConvNet

Convolution Layer Source: CS231n

Page 27: Deep Learning Into Advance - 1. Image, ConvNet

Convolution Layer Source: CS231n

Page 28: Deep Learning Into Advance - 1. Image, ConvNet

Convolution Layer Source: CS231n

Page 29: Deep Learning Into Advance - 1. Image, ConvNet

Convolution Layer

Width - 필터 가로 길이 Height - 필터 세로 길이 Depth - 필터 깊이 (≠ 레이어 깊이) Stride - 몇칸씩 건너뛸 것인가 Padding - 입력에 패딩을 만듦

HYPERPARAMETERS

Page 30: Deep Learning Into Advance - 1. Image, ConvNet

Pooling LayerComputational Cost를 감소시키고 노이즈 제거 효과를 주기 위해Feature Map의 크기를 줄인다.Max Pooling과 Average Pooling이 있음.

Source: CS231n

Page 31: Deep Learning Into Advance - 1. Image, ConvNet

Pooling LayerMAX POOLING

Sliding Window 안에 있는가장 큰 값을 선택한다.

Source: CS231n

Page 32: Deep Learning Into Advance - 1. Image, ConvNet

Fully Connected Layer앞선 Convolution 레이어는 특징을 추출하는 과정이라면 FC 레이어에선 실질적인 Classification을 수행한다. BUT...적절한 Convolution이나 Global Average Pooling으로 FC를 대체해나가는게 트렌드.

Page 33: Deep Learning Into Advance - 1. Image, ConvNet

ConvNet Advanced

1 x 1 Convolution Input과 Output간의 크기 변화 없이 Linear Projection 수행 Depth만 변경시키고자 할 때 사용.

Dilated Convolution 연속적인 필터가 아니라, 사이사이에 공간이 있는 필터를 사용한다. Receptive Field를 지수적으로 키울 수 있다.

SPECIAL CASES

Page 34: Deep Learning Into Advance - 1. Image, ConvNet

ConvNet Advanced

큰 필터는 사용하지 않는다. 높은 Computational Cost & Overfitting 유발작은 크기의 필터를 깊게 쌓는게 트렌드예시 : VGGNet (2014), Residual Net (2015)

Pooling을 사용하지 않는다. Max Pooling은 더더욱 찾아보기 힘듦.Stride를 주는 방식으로 Output 크기를 감소시키는 방법을 씀.

FC 레이어 없애기. 원래 최종 Feature를 판정하고, Softmax를 먹이기 위하여특징 벡터의 Dimension을 바꾸기 위해 FC 레이어를 사용하지만,적절한 Convolution 레이어나 Global Average Pooling으로 FC를 대체해 Cost를 줄임.

TRENDS

Page 35: Deep Learning Into Advance - 1. Image, ConvNet

Case StudyN E X T

Page 36: Deep Learning Into Advance - 1. Image, ConvNet

R E F E R E N C EStanford University CS231n : Convolutional Neural Networks for Visual Recognition Yu, Koltun,. Multi-Scale Context Aggregation by Dilated Convolutions. arXiv preprint:1511.07122v3 [cs.cV] Kernel (Image Processing) - Wikipedia

T H A N K Y O U