SlideShare a Scribd company logo
1 of 36
Download to read offline
DEEP LEARNING

INTO ADVANCE
김효준
AB180
Image Natural
Language
Behavior
Lorem Ipsum
Dolar Sit Amet.
=>
Consectetur
Adipiscing
Elit. Praesent A
Image
Classification
Localization
Object Detection
Segmenetation
Generation
Visualization
Image Classification
한 이미지에 대해 라벨링 (분류) 한다.

딥러닝 붐의 시작이 된 분야

CNN (Convolutional Neural
Network)의 화려한 데뷔

현재 ILSVRC 2015 데이터셋 기준

Top-5 Accuracy 96.92%

(사람은 94%!)
Image Localization
해당 분류된 사물이 이미지 내 어디에 있는가?

Classification과 Regression을

동시에 사용해서 위치를 판정함
Image Object Detection
이미지 안의 여러개의 사물에 대해

각각 Classification & Localization

State-Of-Art (2015. 06.) :

이미지를 그리드로 잘라서

확률분포 계산 후 Bounding Box 매
김
Image Segmentation
Bounding Box에서 더 나아가서

실제 이미지가 차지하고 있는 픽셀이

어디인지를 알아본다.

이미지를 다운샘플링한 뒤

픽셀별로 Classficiation을 수행해서

해당 픽셀별 확률분포를 Upsampling

하는 일련의 과정을 학습함.
Image Generation
이미지를 무언가로부터 생성한다.

ex) 텍스트로부터 생성,

빈 부분의 이미지를 생성,

밑그림으로부터 이미지를 생성,

작은 해상도로부터 고해상도 이미지 생성

Latent Space로부터 이미지 생성
Image Visualization
이미지 자체가 아니라 주로 추출해낸 Feature, Activation Map,

학습시킨 Filter의 표현 방법 및 재구성 방법을 연구하는 분야

Visualization을 응용해 만든 획기적인 결과물도 많이 존재

ex) Deep Dream, Artistic Style Transfer...
Image Classification : How?
Convolutional Neural Network (ConvNet, CNN)
ConvNet : Motivations
Receptive Field (수용 영역) :

한 외부 자극은 특정 영역의 세포에만 영향을 준다.

이런 세포들이 계층적으로 쌓여서 신경을 형성한다.
NEUROSCIENCE
ConvNet : Motivations
NEUROSCIENCE
ConvNet : Motivations
IMAGE PROCESSING
Convolution은 이미지 처리에서, 전체 이미지에 대해

특정 필터 (커널)을 적용하는 연산으로 사용된다.

이미지를 훑으며 작은 필터 행렬를 곱하고 더함으로서

결과 이미지를 만들어낸다.
Why ConvNet?
기존에 우리가 사용하던 네트워크는 Fully Connected / Dense Network

이전 레이어의 출력값을 전부 통과시킴. (Wx + b)

그렇기에 레이어 안의 파라미터들은 전부 연결되어있음. (Gradient-ically)
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
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
Why ConvNet?
기존에 우리가 사용하던 네트워크는 Fully Connected / Dense Network

이전 레이어의 출력값을 전부 통과시킴. (Wx + b)

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

이전 레이어의 출력값을 전부 통과시킴. (Wx + b)

그렇기에 레이어 안의 파라미터들은 전부 연결되어있음. (Gradient-ically)

허나 이미지엔 적합하지 않다.파라미터 수와 Computational Cost가 증가
Convolutional Neural Network
Wx+b 대신, 조그만 필터를 전체 이미지에 대해 훑는다.

이후 결과를 Activation Function에 통과시킨다.

이렇게하면 출력으로 Activation Map이 나온다.

그리고 ConvNet은 이 필터 (커널)를 학습해나간다.
Convolutional Neural Network
Convolutional Neural Network
ConvNet : Interpretation
ConvNet Structure
Convolution Layer : 설명했던 Convolution 연산 수행
Activation Layer :Activation Function에 통과시킴
Pooling Layer :다운샘플링을 수행. 크기를 줄임.
Fully-Connected : 마지막 레이어에 붙음. Inferrence 수행
Softmax : 각각의 라벨에 대한 확률분포 도출
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
Convolution Layer Source: CS231n
Convolution Layer Source: CS231n
Convolution Layer Source: CS231n
Convolution Layer Source: CS231n
Convolution Layer
Width - 필터 가로 길이
Height - 필터 세로 길이
Depth - 필터 깊이 (≠ 레이어 깊이)
Stride - 몇칸씩 건너뛸 것인가
Padding - 입력에 패딩을 만듦
HYPERPARAMETERS
Pooling Layer
Computational Cost를 감소시키고 노이즈 제거 효과를 주기 위해

Feature Map의 크기를 줄인다.

Max Pooling과 Average Pooling이 있음.
Source: CS231n
Pooling Layer
MAX POOLING
Sliding Window 안에 있는

가장 큰 값을 선택한다.
Source: CS231n
Fully Connected Layer
앞선 Convolution 레이어는 특징을 추출하는 과정이라면 

FC 레이어에선 실질적인 Classification을 수행한다. BUT...

적절한 Convolution이나 Global Average Pooling으로 FC를 대체해나가는게 트렌드.
ConvNet Advanced
1 x 1 Convolution
Input과 Output간의 크기 변화 없이 Linear Projection 수행

Depth만 변경시키고자 할 때 사용.

Dilated Convolution
연속적인 필터가 아니라, 사이사이에

공간이 있는 필터를 사용한다.

Receptive Field를 지수적으로 키울 수 있다.
SPECIAL CASES
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
Case Study
N E X T
R E F E R E N C E
Stanford 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

More Related Content

What's hot

Deview deep learning-김정희
Deview deep learning-김정희Deview deep learning-김정희
Deview deep learning-김정희
NAVER D2
 

What's hot (20)

Denoising auto encoders(d a)
Denoising auto encoders(d a)Denoising auto encoders(d a)
Denoising auto encoders(d a)
 
Ai 그까이거
Ai 그까이거Ai 그까이거
Ai 그까이거
 
쫄지말자딥러닝2 - CNN RNN 포함버전
쫄지말자딥러닝2 - CNN RNN 포함버전쫄지말자딥러닝2 - CNN RNN 포함버전
쫄지말자딥러닝2 - CNN RNN 포함버전
 
2017 tensor flow dev summit
2017 tensor flow dev summit2017 tensor flow dev summit
2017 tensor flow dev summit
 
인공신경망
인공신경망인공신경망
인공신경망
 
딥러닝 기본 원리의 이해
딥러닝 기본 원리의 이해딥러닝 기본 원리의 이해
딥러닝 기본 원리의 이해
 
A Beginner's guide to understanding Autoencoder
A Beginner's guide to understanding AutoencoderA Beginner's guide to understanding Autoencoder
A Beginner's guide to understanding Autoencoder
 
Variational Autoencoder를 여러 가지 각도에서 이해하기 (Understanding Variational Autoencod...
Variational Autoencoder를 여러 가지 각도에서 이해하기 (Understanding Variational Autoencod...Variational Autoencoder를 여러 가지 각도에서 이해하기 (Understanding Variational Autoencod...
Variational Autoencoder를 여러 가지 각도에서 이해하기 (Understanding Variational Autoencod...
 
A neural image caption generator
A neural image caption generatorA neural image caption generator
A neural image caption generator
 
Knowing when to look : Adaptive Attention via A Visual Sentinel for Image Cap...
Knowing when to look : Adaptive Attention via A Visual Sentinel for Image Cap...Knowing when to look : Adaptive Attention via A Visual Sentinel for Image Cap...
Knowing when to look : Adaptive Attention via A Visual Sentinel for Image Cap...
 
인공 신경망 구현에 관한 간단한 설명
인공 신경망 구현에 관한 간단한 설명인공 신경망 구현에 관한 간단한 설명
인공 신경망 구현에 관한 간단한 설명
 
Cnn 발표자료
Cnn 발표자료Cnn 발표자료
Cnn 발표자료
 
알기쉬운 Variational autoencoder
알기쉬운 Variational autoencoder알기쉬운 Variational autoencoder
알기쉬운 Variational autoencoder
 
Howto_Tensorflow+Linear Regression
Howto_Tensorflow+Linear RegressionHowto_Tensorflow+Linear Regression
Howto_Tensorflow+Linear Regression
 
딥러닝 - 역사와 이론적 기초
딥러닝 - 역사와 이론적 기초딥러닝 - 역사와 이론적 기초
딥러닝 - 역사와 이론적 기초
 
Focal loss의 응용(Detection & Classification)
Focal loss의 응용(Detection & Classification)Focal loss의 응용(Detection & Classification)
Focal loss의 응용(Detection & Classification)
 
코드와 실습으로 이해하는 인공지능
코드와 실습으로 이해하는 인공지능코드와 실습으로 이해하는 인공지능
코드와 실습으로 이해하는 인공지능
 
PYCON KR 2017 - 구름이 하늘의 일이라면 (윤상웅)
PYCON KR 2017 - 구름이 하늘의 일이라면 (윤상웅)PYCON KR 2017 - 구름이 하늘의 일이라면 (윤상웅)
PYCON KR 2017 - 구름이 하늘의 일이라면 (윤상웅)
 
Deview deep learning-김정희
Deview deep learning-김정희Deview deep learning-김정희
Deview deep learning-김정희
 
알아두면 쓸데있는 신비한 딥러닝 이야기
알아두면 쓸데있는 신비한 딥러닝 이야기알아두면 쓸데있는 신비한 딥러닝 이야기
알아두면 쓸데있는 신비한 딥러닝 이야기
 

Viewers also liked

Viewers also liked (20)

딥러닝을 이용한 자연어처리의 연구동향
딥러닝을 이용한 자연어처리의 연구동향딥러닝을 이용한 자연어처리의 연구동향
딥러닝을 이용한 자연어처리의 연구동향
 
인공지능개론 (머신러닝 중심)
인공지능개론 (머신러닝 중심)인공지능개론 (머신러닝 중심)
인공지능개론 (머신러닝 중심)
 
Google AlphaGo, 어떻게 동작할까요?
Google AlphaGo, 어떻게 동작할까요?Google AlphaGo, 어떻게 동작할까요?
Google AlphaGo, 어떻게 동작할까요?
 
AlphaGo: An AI Go player based on deep neural networks and monte carlo tree s...
AlphaGo: An AI Go player based on deep neural networks and monte carlo tree s...AlphaGo: An AI Go player based on deep neural networks and monte carlo tree s...
AlphaGo: An AI Go player based on deep neural networks and monte carlo tree s...
 
통찰의연결 학습자료 04
통찰의연결 학습자료 04통찰의연결 학습자료 04
통찰의연결 학습자료 04
 
알파고의 알고리즘
알파고의 알고리즘알파고의 알고리즘
알파고의 알고리즘
 
바둑인을 위한 알파고
바둑인을 위한 알파고바둑인을 위한 알파고
바둑인을 위한 알파고
 
왓슨컴퓨터의 인공지능
왓슨컴퓨터의 인공지능왓슨컴퓨터의 인공지능
왓슨컴퓨터의 인공지능
 
알파고 해부하기 2부
알파고 해부하기 2부알파고 해부하기 2부
알파고 해부하기 2부
 
AlphaGo: Mastering the Game of Go with Deep Neural Networks and Tree Search
AlphaGo: Mastering the Game of Go with Deep Neural Networks and Tree SearchAlphaGo: Mastering the Game of Go with Deep Neural Networks and Tree Search
AlphaGo: Mastering the Game of Go with Deep Neural Networks and Tree Search
 
알파고 해부하기 1부
알파고 해부하기 1부알파고 해부하기 1부
알파고 해부하기 1부
 
모두의 알파고
모두의 알파고모두의 알파고
모두의 알파고
 
How AlphaGo Works
How AlphaGo WorksHow AlphaGo Works
How AlphaGo Works
 
A pixel to-pixel segmentation method of DILD without masks using CNN and perl...
A pixel to-pixel segmentation method of DILD without masks using CNN and perl...A pixel to-pixel segmentation method of DILD without masks using CNN and perl...
A pixel to-pixel segmentation method of DILD without masks using CNN and perl...
 
AlphaGo, 새로운 시대의 시작
AlphaGo, 새로운 시대의 시작AlphaGo, 새로운 시대의 시작
AlphaGo, 새로운 시대의 시작
 
알파고 (바둑 인공지능)의 작동 원리
알파고 (바둑 인공지능)의 작동 원리알파고 (바둑 인공지능)의 작동 원리
알파고 (바둑 인공지능)의 작동 원리
 
AlphaGo 알고리즘 요약
AlphaGo 알고리즘 요약AlphaGo 알고리즘 요약
AlphaGo 알고리즘 요약
 
Introduction to Deep Learning with TensorFlow
Introduction to Deep Learning with TensorFlowIntroduction to Deep Learning with TensorFlow
Introduction to Deep Learning with TensorFlow
 
기계학습 / 딥러닝이란 무엇인가
기계학습 / 딥러닝이란 무엇인가기계학습 / 딥러닝이란 무엇인가
기계학습 / 딥러닝이란 무엇인가
 
Generative adversarial networks
Generative adversarial networksGenerative adversarial networks
Generative adversarial networks
 

Similar to Deep Learning Into Advance - 1. Image, ConvNet

111118 ch 4_basic image manipulation_web
111118 ch 4_basic image manipulation_web111118 ch 4_basic image manipulation_web
111118 ch 4_basic image manipulation_web
CARROTCG
 
247 deview 2013 이미지 분석 - 민재식
247 deview 2013 이미지 분석 - 민재식247 deview 2013 이미지 분석 - 민재식
247 deview 2013 이미지 분석 - 민재식
NAVER D2
 
Convolutional neural networks
Convolutional neural networksConvolutional neural networks
Convolutional neural networks
HyunjinBae3
 
[Paper Review] Image captioning with semantic attention
[Paper Review] Image captioning with semantic attention[Paper Review] Image captioning with semantic attention
[Paper Review] Image captioning with semantic attention
Hyeongmin Lee
 

Similar to Deep Learning Into Advance - 1. Image, ConvNet (20)

FCN to DeepLab.v3+
FCN to DeepLab.v3+FCN to DeepLab.v3+
FCN to DeepLab.v3+
 
CNN
CNNCNN
CNN
 
111118 ch 4_basic image manipulation_web
111118 ch 4_basic image manipulation_web111118 ch 4_basic image manipulation_web
111118 ch 4_basic image manipulation_web
 
Image classification
Image classificationImage classification
Image classification
 
위성이미지 객체 검출 대회 - 1등
위성이미지 객체 검출 대회 - 1등위성이미지 객체 검출 대회 - 1등
위성이미지 객체 검출 대회 - 1등
 
텐서플로우 2.0 튜토리얼 - CNN
텐서플로우 2.0 튜토리얼 - CNN텐서플로우 2.0 튜토리얼 - CNN
텐서플로우 2.0 튜토리얼 - CNN
 
HistoryOfCNN
HistoryOfCNNHistoryOfCNN
HistoryOfCNN
 
247 deview 2013 이미지 분석 - 민재식
247 deview 2013 이미지 분석 - 민재식247 deview 2013 이미지 분석 - 민재식
247 deview 2013 이미지 분석 - 민재식
 
Tfk 6618 tensor_flow로얼굴인식구현_r10_mariocho
Tfk 6618 tensor_flow로얼굴인식구현_r10_mariochoTfk 6618 tensor_flow로얼굴인식구현_r10_mariocho
Tfk 6618 tensor_flow로얼굴인식구현_r10_mariocho
 
딥러닝을 위한 Tensor flow(skt academy)
딥러닝을 위한 Tensor flow(skt academy)딥러닝을 위한 Tensor flow(skt academy)
딥러닝을 위한 Tensor flow(skt academy)
 
History of Vision AI
History of Vision AIHistory of Vision AI
History of Vision AI
 
Convolutional neural networks
Convolutional neural networksConvolutional neural networks
Convolutional neural networks
 
실전프로젝트 정서경 양현찬
실전프로젝트 정서경 양현찬실전프로젝트 정서경 양현찬
실전프로젝트 정서경 양현찬
 
[Paper Review] Image captioning with semantic attention
[Paper Review] Image captioning with semantic attention[Paper Review] Image captioning with semantic attention
[Paper Review] Image captioning with semantic attention
 
Final project v0.84
Final project v0.84Final project v0.84
Final project v0.84
 
Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks
Faster R-CNN: Towards Real-Time Object Detection with Region Proposal NetworksFaster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks
Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks
 
[데이터 분석 소모임] Convolution Neural Network 김려린
[데이터 분석 소모임] Convolution Neural Network 김려린[데이터 분석 소모임] Convolution Neural Network 김려린
[데이터 분석 소모임] Convolution Neural Network 김려린
 
Dl from scratch(7)
Dl from scratch(7)Dl from scratch(7)
Dl from scratch(7)
 
Designing more efficient convolution neural network
Designing more efficient convolution neural networkDesigning more efficient convolution neural network
Designing more efficient convolution neural network
 
Designing more efficient convolution neural network
Designing more efficient convolution neural networkDesigning more efficient convolution neural network
Designing more efficient convolution neural network
 

Recently uploaded

Recently uploaded (8)

JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
 
공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
 
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
 
데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법
 
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!
 

Deep Learning Into Advance - 1. Image, ConvNet

  • 2. Image Natural Language Behavior Lorem Ipsum Dolar Sit Amet. => Consectetur Adipiscing Elit. Praesent A
  • 4. Image Classification 한 이미지에 대해 라벨링 (분류) 한다. 딥러닝 붐의 시작이 된 분야 CNN (Convolutional Neural Network)의 화려한 데뷔 현재 ILSVRC 2015 데이터셋 기준 Top-5 Accuracy 96.92% (사람은 94%!)
  • 5. Image Localization 해당 분류된 사물이 이미지 내 어디에 있는가? Classification과 Regression을 동시에 사용해서 위치를 판정함
  • 6. Image Object Detection 이미지 안의 여러개의 사물에 대해 각각 Classification & Localization State-Of-Art (2015. 06.) : 이미지를 그리드로 잘라서 확률분포 계산 후 Bounding Box 매 김
  • 7. Image Segmentation Bounding Box에서 더 나아가서 실제 이미지가 차지하고 있는 픽셀이 어디인지를 알아본다. 이미지를 다운샘플링한 뒤 픽셀별로 Classficiation을 수행해서 해당 픽셀별 확률분포를 Upsampling 하는 일련의 과정을 학습함.
  • 8. Image Generation 이미지를 무언가로부터 생성한다. ex) 텍스트로부터 생성, 빈 부분의 이미지를 생성, 밑그림으로부터 이미지를 생성, 작은 해상도로부터 고해상도 이미지 생성 Latent Space로부터 이미지 생성
  • 9. Image Visualization 이미지 자체가 아니라 주로 추출해낸 Feature, Activation Map, 학습시킨 Filter의 표현 방법 및 재구성 방법을 연구하는 분야 Visualization을 응용해 만든 획기적인 결과물도 많이 존재 ex) Deep Dream, Artistic Style Transfer...
  • 10. Image Classification : How? Convolutional Neural Network (ConvNet, CNN)
  • 11. ConvNet : Motivations Receptive Field (수용 영역) : 한 외부 자극은 특정 영역의 세포에만 영향을 준다. 이런 세포들이 계층적으로 쌓여서 신경을 형성한다. NEUROSCIENCE
  • 13. ConvNet : Motivations IMAGE PROCESSING Convolution은 이미지 처리에서, 전체 이미지에 대해 특정 필터 (커널)을 적용하는 연산으로 사용된다. 이미지를 훑으며 작은 필터 행렬를 곱하고 더함으로서 결과 이미지를 만들어낸다.
  • 14. Why ConvNet? 기존에 우리가 사용하던 네트워크는 Fully Connected / Dense Network 이전 레이어의 출력값을 전부 통과시킴. (Wx + b) 그렇기에 레이어 안의 파라미터들은 전부 연결되어있음. (Gradient-ically)
  • 15. 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
  • 16. 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
  • 17. Why ConvNet? 기존에 우리가 사용하던 네트워크는 Fully Connected / Dense Network 이전 레이어의 출력값을 전부 통과시킴. (Wx + b) 그렇기에 레이어 안의 파라미터들은 전부 연결되어있음. (Gradient-ically)
  • 18. Why ConvNet? 기존에 우리가 사용하던 네트워크는 Fully Connected / Dense Network 이전 레이어의 출력값을 전부 통과시킴. (Wx + b) 그렇기에 레이어 안의 파라미터들은 전부 연결되어있음. (Gradient-ically) 허나 이미지엔 적합하지 않다.파라미터 수와 Computational Cost가 증가
  • 19. Convolutional Neural Network Wx+b 대신, 조그만 필터를 전체 이미지에 대해 훑는다. 이후 결과를 Activation Function에 통과시킨다. 이렇게하면 출력으로 Activation Map이 나온다. 그리고 ConvNet은 이 필터 (커널)를 학습해나간다.
  • 23. ConvNet Structure Convolution Layer : 설명했던 Convolution 연산 수행 Activation Layer :Activation Function에 통과시킴 Pooling Layer :다운샘플링을 수행. 크기를 줄임. Fully-Connected : 마지막 레이어에 붙음. Inferrence 수행 Softmax : 각각의 라벨에 대한 확률분포 도출
  • 24. 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
  • 29. Convolution Layer Width - 필터 가로 길이 Height - 필터 세로 길이 Depth - 필터 깊이 (≠ 레이어 깊이) Stride - 몇칸씩 건너뛸 것인가 Padding - 입력에 패딩을 만듦 HYPERPARAMETERS
  • 30. Pooling Layer Computational Cost를 감소시키고 노이즈 제거 효과를 주기 위해 Feature Map의 크기를 줄인다. Max Pooling과 Average Pooling이 있음. Source: CS231n
  • 31. Pooling Layer MAX POOLING Sliding Window 안에 있는 가장 큰 값을 선택한다. Source: CS231n
  • 32. Fully Connected Layer 앞선 Convolution 레이어는 특징을 추출하는 과정이라면 FC 레이어에선 실질적인 Classification을 수행한다. BUT... 적절한 Convolution이나 Global Average Pooling으로 FC를 대체해나가는게 트렌드.
  • 33. ConvNet Advanced 1 x 1 Convolution Input과 Output간의 크기 변화 없이 Linear Projection 수행 Depth만 변경시키고자 할 때 사용. Dilated Convolution 연속적인 필터가 아니라, 사이사이에 공간이 있는 필터를 사용한다. Receptive Field를 지수적으로 키울 수 있다. SPECIAL CASES
  • 34. 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
  • 36. R E F E R E N C E Stanford 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