SlideShare ist ein Scribd-Unternehmen logo
1 von 31
Downloaden Sie, um offline zu lesen
Deep Learning &
Convolutional Neural Network
1
장 익 훈
2018. 3. 23.
2
Deep Learning? Deep Neural Network
 Deep Neural Network 침체기 (1986~2006)
① ‘Deep’ learning에 대한 이론적인 침체
• Local optimization을 피하는 initialization에 대한 이론이 없어서 Learning시
Network가 깊어질수록 과도한 overfitting 발생
• Vanishing gradient : 활성함수로 Sigmoid함수 사용시 Gradient Descent에서
기울기가 0에 수렴하여 Backpropagation에 의한 weight 업데이트가 안됨
② Computation Cost 대비 성능이 좋지 않음
 침체기로부터의 탈출
① ‘Deep’ Learning의 이론적인 토대 마련 : Deep network의 initialization 문제에 대한
해답을 Deep Beilf Network(2007)의 개념으로 해결
② Regularization Method(Drop out, ReLu) 발전
③ Computer Vision 분야에서 발전한 CNN 기반 알고리즘의 압도적인 성능
④ 컴퓨팅 성능의 발전 : 하드웨어 스펙과 GPU 병렬처리 기술의 발전
참고 : http://sanghyukchun.github.io/75/
3
 Deep Belief Network (DBN, Hinton et al.,2007)
• Bengio et al.(2006)의 Restricted Boltzmann Machine(RBM) 방법에서 착안
• Gradient approximation 알고리즘에서 weight 를 계산하는 MCMC (Gibbs Sampling)의 step을
converge할 때 까지 돌리는 것이 아니라, 한 번만 돌려서 weight를 approximate
- 어차피 정확하게 converge한 distribution이나, 중간에 멈춘 distribution이나 대략의 방향성
은 유사하므로 완벽한 gradient 대신 Gibbs sampling을 중간에 멈추고 그 approximation 값
을 update에 사용하여 pre-training 시간 단축
• Deep Belief Network는 RBM의 방법으로 ℓ 개의 layer를 가진 joint distribution을 표
현하는 graphical model로 weight 초기값을 unsupervised pre-training 할 수 있음
 Initial weight 결정 문제 해결
Deep Learning? Deep Neural Network
참고 : http://sanghyukchun.github.io/75/
4
 Drop-out (Dahl et al., 2013)
• 핵심 아이디어는 학습 과정 중에 신경
망의 뉴런들을 임의로 꺼버리는 것
• 학습 중에 drop out은 기하급수적으로
많은 서로 다른 ‘thinned’ 네트워크를
모으고, 테스트 과정에서는 모든 뉴런,
즉, ‘un-thinned’ 네트워크를 사용함으
로 기하급수적으로 많은 ‘thinned’ 네
트워크의 평균에 근사값을 가지게 함  Overfitting과 weight 초기값 문제 개선
Deep Neural Network의 과적합 문제 해결
 ReLU(Rectified Linear Unit, Nair&Hinton 2010; Glorot et al.,2011)
• 기울기가 0 또는 1로 학습되는 경우에는 error가 100% 전파되어 vanishing 문제해결
 느린 학습시간과 Vanishing Gradient 문제를 해결
참고:http://blog.naver.com/PostView.nhn?blogId=sogangori&logNo=220454579396&parentCategoryNo=8&categoryNo=&viewDate=&isShowPopularPosts=true&from=search
5
CNN(Convolution Neural Network, 합성곱신경망)이란?
 CNN은 합성곱(Convolution) 연산을 사용하는 ANN(Artificial Neural Network)의 한 종류
 Convolution을 사용하면 3차원 데이터의 공간적 정보를 유지하여 다음 Layer로 전달
 핵심 아이디어는 feature selection이 performance에 가장 크게 영향을 미치므로 가장 좋
은 feature map을 뽑아주는 convolution filter를 learning하는 모델을 만드는 것
 대표적인 CNN : LeNet(1998), AlexNet(2012)
 CNN 기반의 DNN(Deep Neural Network, 심층신경망) : VGG, GoogLeNet, ResNet 등
*최초 개념 : Backpropagation Applied to Handwritten Zip Code Recognition (LeCun, 1989)
출처 : 모두의연구소DeepLapEdu 5기박희경, 밑바닥부터시작하는딥러닝 Chapter 7 합성곱 신경망(CNN)
6
CNN(Convolution Neural Network, 합성곱신경망)이란?
 기존의 신경망(Artificial Neural Network) 구조
• 인접하는 계층의 모든 뉴런이 결합되어 있는 완전연결된 은닉층들로 구성
• Fully-connected Layer 또는 Affine Layer라고 불림
출처 : 모두의연구소DeepLapEdu 5기박희경, 밑바닥부터시작하는딥러닝 Chapter 7 합성곱 신경망(CNN)
7
CNN(Convolution Neural Network, 합성곱신경망)이란?
 CNN(Convolution Neural Network) 구조
• 신경망 구조에서 합성곱 계층(Conv), 풀링 계층(Pooling)이 추가됨
출처 : 모두의연구소DeepLapEdu 5기박희경, 밑바닥부터시작하는딥러닝 Chapter 7 합성곱 신경망(CNN)
8
Convolutional Layer : Fully-connected Layer의 문제
 기존 신경망의 데이터 형상 무시
• 세로·가로·채널(색상)로 구성된 3차원 데이터인 이미지가 완전연결계층(fully-
connected layer)에 입력될 때, 1차원 데이터로 변형되게 되면서 공간 정보 손실
출처 : 모두의연구소DeepLapEdu 5기박희경, 밑바닥부터시작하는딥러닝 Chapter 7 합성곱 신경망(CNN)
9
Convolutional Layer : Fully-connected Layer의 문제
 기존 신경망의 데이터 형상의 무시
• 예를 들어, 공간적으로 가까운 픽셀은 값이 비슷하거나, RGB의 각 채널은 서로
밀접하게 관련되어 있거나, 거리가 먼 픽셀끼리는 별연관이 없는 등, 3차원 속 의미를
갖는 본질적인 패턴이 무시됨
출처 : 모두의연구소DeepLapEdu 5기박희경, 밑바닥부터시작하는딥러닝 Chapter 7 합성곱 신경망(CNN)
10
Convolutional Layer : 합성곱 연산
 합성곱(Convolution)
• 특정(높이, 너비)를 갖은 필터(Filter, Kernel)를
일정간격(Stride)으로 이동해가며 입력데이터에
적용(원소곱후, 총합: 단일곱셈-누산)
출처 : 모두의연구소DeepLapEdu 5기박희경, 밑바닥부터시작하는딥러닝 Chapter 7 합성곱 신경망(CNN)
11
Convolutional Layer : 합성곱 연산
 합성곱(Convolution) 과정
• 이미지 전체를 동일한 필터로 Shift 시키면서 합성곱을 계산함
출처 : 모두의연구소DeepLapEdu 5기박희경, 밑바닥부터시작하는딥러닝 Chapter 7 합성곱 신경망(CNN)
12
Convolutional Layer : 합성곱 연산
 합성곱(Convolution) 계산의 효과
• 필터가 가지는 특징(Feature)가 데이터에 있는지 없는지 검출
출처 : 모두의연구소DeepLapEdu 5기박희경, 밑바닥부터시작하는딥러닝 Chapter 7 합성곱 신경망(CNN)
13
Convolutional Layer : 합성곱 연산
 합성곱(Convolution) 계산의 효과
• 해당곡선의 필터 적용 예
출처 : 모두의연구소DeepLapEdu 5기박희경, 밑바닥부터시작하는딥러닝 Chapter 7 합성곱 신경망(CNN)
14
Convolutional Layer : 합성곱 연산
 합성곱(Convolution) 계산의 효과
• 해당곡선의 필터 적용 예
출처 : 모두의연구소DeepLapEdu 5기박희경, 밑바닥부터시작하는딥러닝 Chapter 7 합성곱 신경망(CNN)
15
Convolutional Layer : 합성곱 연산
 합성곱(Convolution) 연산에서의 매개변수(Parameter)
• 필터를 적용한 후, 모든 원소에 편향(bias)이 더해짐
 필터(가중치), 편향이 학습을 시킬 매개변수가 됨
출처 : 모두의연구소DeepLapEdu 5기박희경, 밑바닥부터시작하는딥러닝 Chapter 7 합성곱 신경망(CNN)
16
Convolutional Layer : 합성곱 연산
 패딩(Padding)
• 합성곱 연산을 수행하기 전에 입력데이터 주변을 특정값 (주로 0–Zero paddig)을
채우는 단계로, 입력데이터와 출력데이터의 크기를 맞추기 위해 사용
출처 : 모두의연구소DeepLapEdu 5기박희경, 밑바닥부터시작하는딥러닝 Chapter 7 합성곱 신경망(CNN)
17
Convolutional Layer : 합성곱 연산
 스트라이드(Stride) - 2 Dimension 예
• 필터를 적용하는 위치의 간격으로, Stride가 커지면 출력크기가 축소됨
• 출력크기(OH(출력높이), OW(출력너비))는 정수로 나누어 떨어지는 값이어야 함
출처 : 모두의연구소DeepLapEdu 5기박희경, 밑바닥부터시작하는딥러닝 Chapter 7 합성곱 신경망(CNN)
18
Convolutional Layer : 합성곱 연산
 스트라이드(Stride) - stride 1과 2의 비교
Stride 1
Stride 2
출처 : 모두의연구소DeepLapEdu 5기박희경, 밑바닥부터시작하는딥러닝 Chapter 7 합성곱 신경망(CNN)
19
Convolutional Layer : 합성곱 연산
 3차원 데이터의 합성곱 연산
• 3차원 이미지(RGB) 데이터의 경우, 필터도 이미지와 같은 수의 채널을 가짐
• Convolution Layer의 출력 Layer는 모든 채널의 합산하여 하나의 채널로 축소할
수도 있음
출처 : 모두의연구소DeepLapEdu 5기박희경, 밑바닥부터시작하는딥러닝 Chapter 7 합성곱 신경망(CNN)
20
Convolutional Layer : 합성곱 연산
 3차원 데이터의 합성곱 연산 : FN개의 필터
• 필터는 출력채널수(FN), 입력채널수(C),
높이(FH), 너비(FW)의 속성을 가짐
• 출력데이터의 개수는 FN개로 FN개의
특징맵(Feature map)이 생성됨
출처 : 모두의연구소DeepLapEdu 5기박희경, 밑바닥부터시작하는딥러닝 Chapter 7 합성곱 신경망(CNN)
21
Convolutional Layer : Parameter Learning
 Sparse weights
• Full connection 대비 훨씬 적은 표현형을
learning하게 되는 단점이 있지만, 모델
complexity가 낮아진다는 장점이 큼
 픽셀값이 많고 feauture의 공간 상관성이 높은
이미지 데이터에서는 유용함
 Shared(tied) weights
• 하나의 필터와 연결되는 모든 뉴런은 동일한 weight로 학습됨(bias는 제외)
 필터의 모든 뉴런이 다른 위치에 있는 동일한 feature를 detect할 수 있음
 학습시켜야 할 parameter 수를 줄여서 Learning 속도가 빠름
출처 : http://sanghyukchun.github.io/75/
22
Pooling Layer
 Pooling Layer 개요
• 세로·가로 방향의 공간을 줄이는 연산으로, Sub-sampling이라고도 불림
• Feature map의 크기를 줄여서 학습시간을 줄이고 shift, distortion에 덜 민감하게 함
• 일반적으로 풀링의 윈도우 크기와 Stride의 값은 같게 설정함
출처 : 모두의연구소DeepLapEdu 5기박희경, 밑바닥부터시작하는딥러닝 Chapter 7 합성곱 신경망(CNN)
23
Pooling Layer
 Pooling Layer의 특징 : 학습이 필요한 매개변수가 없음
• 풀링은 대상영역에서 최댓값(Max Pooling)이나 평균(Average Pooling)만을 취하는
명확한 처리이므로 학습해야 할 매개변수가 없음
Max Pooling 예시
출처 : 모두의연구소DeepLapEdu 5기박희경, 밑바닥부터시작하는딥러닝 Chapter 7 합성곱 신경망(CNN)
24
Pooling Layer
 Pooling Layer의 특징 : 입력의 변화에 영향을 적게 받음
• 입력데이터가 조금 변해도 풀링의 결과는 잘 변하지 않음
출처 : 모두의연구소DeepLapEdu 5기박희경, 밑바닥부터시작하는딥러닝 Chapter 7 합성곱 신경망(CNN)
25
Pooling Layer
 Pooling Layer 효과 예시
출처 :Convolutional neural networks - Abin - Roozgard
26
Fully-connected Layer
 Convolutional/Pooling Layer에서 학습된 feature(filter)를 입력 node로 하는 ANN 모델
출처 :https://hub.packtpub.com/cnn-architecture/
27
타분야 CNN 활용 사례 : Speech Recognition
Covolutional neural networks for speech recognition, IEEE/ACM Transactions on Audio,
Speech, and Language Processing, Abdel-Hamid et al.(2014)
28
타분야 CNN 활용 사례 : Text Classification
Convolutional Neural Networks for Sentence Classification, Conference on Empirical
Methods in Natural Language, Processing Kim.(2014)
29
타분야 CNN 활용 사례 : Time series prediction
Time Series Classification Using Multi-Channels Deep Convolutional Neural
Networks, International Conference on Web-Age Information Management,(2014)
30
타분야 CNN 활용 사례 : Time series prediction
Encoding Time Series as Images for Visual Inspection and Classification Using
Tiled Convolutional Neural Networks, Association fortheAdvancement ofArtificial Intelligence,(2015)
31
타분야 CNN 활용 사례 : Time series prediction
Learning Traffic as Images: A Deep Convolutional Neural Network for Large-Scale
Transportation Network Speed Prediction, Sensors, (2017)

Weitere ähnliche Inhalte

Was ist angesagt?

[DL輪読会]Auto-DeepLab: Hierarchical Neural Architecture Search for Semantic Ima...
[DL輪読会]Auto-DeepLab: Hierarchical Neural Architecture Search for Semantic Ima...[DL輪読会]Auto-DeepLab: Hierarchical Neural Architecture Search for Semantic Ima...
[DL輪読会]Auto-DeepLab: Hierarchical Neural Architecture Search for Semantic Ima...Deep Learning JP
 
Neural Network Intro [인공신경망 설명]
Neural Network Intro [인공신경망 설명]Neural Network Intro [인공신경망 설명]
Neural Network Intro [인공신경망 설명]Hyunwoo Kim
 
[DL輪読会] Spectral Norm Regularization for Improving the Generalizability of De...
[DL輪読会] Spectral Norm Regularization for Improving the Generalizability of De...[DL輪読会] Spectral Norm Regularization for Improving the Generalizability of De...
[DL輪読会] Spectral Norm Regularization for Improving the Generalizability of De...Deep Learning JP
 
(DL hacks輪読) Difference Target Propagation
(DL hacks輪読) Difference Target Propagation(DL hacks輪読) Difference Target Propagation
(DL hacks輪読) Difference Target PropagationMasahiro Suzuki
 
12. Diffusion Model の数学的基礎.pdf
12. Diffusion Model の数学的基礎.pdf12. Diffusion Model の数学的基礎.pdf
12. Diffusion Model の数学的基礎.pdf幸太朗 岩澤
 
Convolutional Neural Network (CNN) - image recognition
Convolutional Neural Network (CNN)  - image recognitionConvolutional Neural Network (CNN)  - image recognition
Convolutional Neural Network (CNN) - image recognitionYUNG-KUEI CHEN
 
記号創発ロボティクスの狙い
記号創発ロボティクスの狙い 記号創発ロボティクスの狙い
記号創発ロボティクスの狙い Tadahiro Taniguchi
 
Deep Learning - Convolutional Neural Networks
Deep Learning - Convolutional Neural NetworksDeep Learning - Convolutional Neural Networks
Deep Learning - Convolutional Neural NetworksChristian Perone
 
深層学習の判断根拠を理解するための 研究とその意義 @PRMU 2017熊本
深層学習の判断根拠を理解するための 研究とその意義 @PRMU 2017熊本深層学習の判断根拠を理解するための 研究とその意義 @PRMU 2017熊本
深層学習の判断根拠を理解するための 研究とその意義 @PRMU 2017熊本Takahiro Kubo
 
쫄지말자딥러닝2 - CNN RNN 포함버전
쫄지말자딥러닝2 - CNN RNN 포함버전쫄지말자딥러닝2 - CNN RNN 포함버전
쫄지말자딥러닝2 - CNN RNN 포함버전Modulabs
 
1시간만에 GAN(Generative Adversarial Network) 완전 정복하기
1시간만에 GAN(Generative Adversarial Network) 완전 정복하기1시간만에 GAN(Generative Adversarial Network) 완전 정복하기
1시간만에 GAN(Generative Adversarial Network) 완전 정복하기NAVER Engineering
 
SSII2019OS: 深層学習にかかる時間を短くしてみませんか? ~分散学習の勧め~
SSII2019OS: 深層学習にかかる時間を短くしてみませんか? ~分散学習の勧め~SSII2019OS: 深層学習にかかる時間を短くしてみませんか? ~分散学習の勧め~
SSII2019OS: 深層学習にかかる時間を短くしてみませんか? ~分散学習の勧め~SSII
 
論文紹介:Parameter-Efficient Transfer Learning for NLP
論文紹介:Parameter-Efficient Transfer Learning for NLP論文紹介:Parameter-Efficient Transfer Learning for NLP
論文紹介:Parameter-Efficient Transfer Learning for NLPToru Tamaki
 
[DL輪読会]Meta-Learning Probabilistic Inference for Prediction
[DL輪読会]Meta-Learning Probabilistic Inference for Prediction[DL輪読会]Meta-Learning Probabilistic Inference for Prediction
[DL輪読会]Meta-Learning Probabilistic Inference for PredictionDeep Learning JP
 
[PR12] Spectral Normalization for Generative Adversarial Networks
[PR12] Spectral Normalization for Generative Adversarial Networks[PR12] Spectral Normalization for Generative Adversarial Networks
[PR12] Spectral Normalization for Generative Adversarial NetworksJaeJun Yoo
 
LSTM (Long short-term memory) 概要
LSTM (Long short-term memory) 概要LSTM (Long short-term memory) 概要
LSTM (Long short-term memory) 概要Kenji Urai
 
인공지능 방법론 - Deep Learning 쉽게 이해하기
인공지능 방법론 - Deep Learning 쉽게 이해하기인공지능 방법론 - Deep Learning 쉽게 이해하기
인공지능 방법론 - Deep Learning 쉽게 이해하기Byoung-Hee Kim
 
텐서플로우로 배우는 딥러닝
텐서플로우로 배우는 딥러닝텐서플로우로 배우는 딥러닝
텐서플로우로 배우는 딥러닝찬웅 주
 

Was ist angesagt? (20)

[DL輪読会]Auto-DeepLab: Hierarchical Neural Architecture Search for Semantic Ima...
[DL輪読会]Auto-DeepLab: Hierarchical Neural Architecture Search for Semantic Ima...[DL輪読会]Auto-DeepLab: Hierarchical Neural Architecture Search for Semantic Ima...
[DL輪読会]Auto-DeepLab: Hierarchical Neural Architecture Search for Semantic Ima...
 
Neural Network Intro [인공신경망 설명]
Neural Network Intro [인공신경망 설명]Neural Network Intro [인공신경망 설명]
Neural Network Intro [인공신경망 설명]
 
[DL輪読会] Spectral Norm Regularization for Improving the Generalizability of De...
[DL輪読会] Spectral Norm Regularization for Improving the Generalizability of De...[DL輪読会] Spectral Norm Regularization for Improving the Generalizability of De...
[DL輪読会] Spectral Norm Regularization for Improving the Generalizability of De...
 
(DL hacks輪読) Difference Target Propagation
(DL hacks輪読) Difference Target Propagation(DL hacks輪読) Difference Target Propagation
(DL hacks輪読) Difference Target Propagation
 
12. Diffusion Model の数学的基礎.pdf
12. Diffusion Model の数学的基礎.pdf12. Diffusion Model の数学的基礎.pdf
12. Diffusion Model の数学的基礎.pdf
 
Explainable AI
Explainable AIExplainable AI
Explainable AI
 
一般向けのDeep Learning
一般向けのDeep Learning一般向けのDeep Learning
一般向けのDeep Learning
 
Convolutional Neural Network (CNN) - image recognition
Convolutional Neural Network (CNN)  - image recognitionConvolutional Neural Network (CNN)  - image recognition
Convolutional Neural Network (CNN) - image recognition
 
記号創発ロボティクスの狙い
記号創発ロボティクスの狙い 記号創発ロボティクスの狙い
記号創発ロボティクスの狙い
 
Deep Learning - Convolutional Neural Networks
Deep Learning - Convolutional Neural NetworksDeep Learning - Convolutional Neural Networks
Deep Learning - Convolutional Neural Networks
 
深層学習の判断根拠を理解するための 研究とその意義 @PRMU 2017熊本
深層学習の判断根拠を理解するための 研究とその意義 @PRMU 2017熊本深層学習の判断根拠を理解するための 研究とその意義 @PRMU 2017熊本
深層学習の判断根拠を理解するための 研究とその意義 @PRMU 2017熊本
 
쫄지말자딥러닝2 - CNN RNN 포함버전
쫄지말자딥러닝2 - CNN RNN 포함버전쫄지말자딥러닝2 - CNN RNN 포함버전
쫄지말자딥러닝2 - CNN RNN 포함버전
 
1시간만에 GAN(Generative Adversarial Network) 완전 정복하기
1시간만에 GAN(Generative Adversarial Network) 완전 정복하기1시간만에 GAN(Generative Adversarial Network) 완전 정복하기
1시간만에 GAN(Generative Adversarial Network) 완전 정복하기
 
SSII2019OS: 深層学習にかかる時間を短くしてみませんか? ~分散学習の勧め~
SSII2019OS: 深層学習にかかる時間を短くしてみませんか? ~分散学習の勧め~SSII2019OS: 深層学習にかかる時間を短くしてみませんか? ~分散学習の勧め~
SSII2019OS: 深層学習にかかる時間を短くしてみませんか? ~分散学習の勧め~
 
論文紹介:Parameter-Efficient Transfer Learning for NLP
論文紹介:Parameter-Efficient Transfer Learning for NLP論文紹介:Parameter-Efficient Transfer Learning for NLP
論文紹介:Parameter-Efficient Transfer Learning for NLP
 
[DL輪読会]Meta-Learning Probabilistic Inference for Prediction
[DL輪読会]Meta-Learning Probabilistic Inference for Prediction[DL輪読会]Meta-Learning Probabilistic Inference for Prediction
[DL輪読会]Meta-Learning Probabilistic Inference for Prediction
 
[PR12] Spectral Normalization for Generative Adversarial Networks
[PR12] Spectral Normalization for Generative Adversarial Networks[PR12] Spectral Normalization for Generative Adversarial Networks
[PR12] Spectral Normalization for Generative Adversarial Networks
 
LSTM (Long short-term memory) 概要
LSTM (Long short-term memory) 概要LSTM (Long short-term memory) 概要
LSTM (Long short-term memory) 概要
 
인공지능 방법론 - Deep Learning 쉽게 이해하기
인공지능 방법론 - Deep Learning 쉽게 이해하기인공지능 방법론 - Deep Learning 쉽게 이해하기
인공지능 방법론 - Deep Learning 쉽게 이해하기
 
텐서플로우로 배우는 딥러닝
텐서플로우로 배우는 딥러닝텐서플로우로 배우는 딥러닝
텐서플로우로 배우는 딥러닝
 

Ähnlich wie Deep Learning & Convolutional Neural Network

밑바닥부터 시작하는딥러닝 8장
밑바닥부터 시작하는딥러닝 8장밑바닥부터 시작하는딥러닝 8장
밑바닥부터 시작하는딥러닝 8장Sunggon Song
 
네트워크 경량화 이모저모 @ 2020 DLD
네트워크 경량화 이모저모 @ 2020 DLD네트워크 경량화 이모저모 @ 2020 DLD
네트워크 경량화 이모저모 @ 2020 DLDKim Junghoon
 
History of Vision AI
History of Vision AIHistory of Vision AI
History of Vision AITae Young Lee
 
03.12 cnn backpropagation
03.12 cnn backpropagation03.12 cnn backpropagation
03.12 cnn backpropagationDea-hwan Ki
 
"Learning transferable architectures for scalable image recognition" Paper Re...
"Learning transferable architectures for scalable image recognition" Paper Re..."Learning transferable architectures for scalable image recognition" Paper Re...
"Learning transferable architectures for scalable image recognition" Paper Re...LEE HOSEONG
 
Lecture 4: Neural Networks I
Lecture 4: Neural Networks ILecture 4: Neural Networks I
Lecture 4: Neural Networks ISang Jun Lee
 
[한국어] Neural Architecture Search with Reinforcement Learning
[한국어] Neural Architecture Search with Reinforcement Learning[한국어] Neural Architecture Search with Reinforcement Learning
[한국어] Neural Architecture Search with Reinforcement LearningKiho Suh
 
Convolutional Neural Networks
Convolutional Neural NetworksConvolutional Neural Networks
Convolutional Neural NetworksSanghoon Yoon
 
[paper review] 손규빈 - Eye in the sky & 3D human pose estimation in video with ...
[paper review] 손규빈 - Eye in the sky & 3D human pose estimation in video with ...[paper review] 손규빈 - Eye in the sky & 3D human pose estimation in video with ...
[paper review] 손규빈 - Eye in the sky & 3D human pose estimation in video with ...Gyubin Son
 
Deep neural networks cnn rnn_ae_some practical techniques
Deep neural networks cnn rnn_ae_some practical techniquesDeep neural networks cnn rnn_ae_some practical techniques
Deep neural networks cnn rnn_ae_some practical techniquesKang Pilsung
 
Image Deep Learning 실무적용
Image Deep Learning 실무적용Image Deep Learning 실무적용
Image Deep Learning 실무적용Youngjae Kim
 
Designing more efficient convolution neural network
Designing more efficient convolution neural networkDesigning more efficient convolution neural network
Designing more efficient convolution neural networkNAVER Engineering
 
Designing more efficient convolution neural network
Designing more efficient convolution neural networkDesigning more efficient convolution neural network
Designing more efficient convolution neural networkDongyi Kim
 
Basics of deep learning_imcloud
Basics of deep learning_imcloudBasics of deep learning_imcloud
Basics of deep learning_imcloudimcloud
 
Convolutional neural networks
Convolutional neural networksConvolutional neural networks
Convolutional neural networksHyunjinBae3
 
Image net classification with deep convolutional neural networks
Image net classification with deep convolutional neural networks Image net classification with deep convolutional neural networks
Image net classification with deep convolutional neural networks Korea, Sejong University.
 

Ähnlich wie Deep Learning & Convolutional Neural Network (20)

밑바닥부터 시작하는딥러닝 8장
밑바닥부터 시작하는딥러닝 8장밑바닥부터 시작하는딥러닝 8장
밑바닥부터 시작하는딥러닝 8장
 
네트워크 경량화 이모저모 @ 2020 DLD
네트워크 경량화 이모저모 @ 2020 DLD네트워크 경량화 이모저모 @ 2020 DLD
네트워크 경량화 이모저모 @ 2020 DLD
 
History of Vision AI
History of Vision AIHistory of Vision AI
History of Vision AI
 
03.12 cnn backpropagation
03.12 cnn backpropagation03.12 cnn backpropagation
03.12 cnn backpropagation
 
"Learning transferable architectures for scalable image recognition" Paper Re...
"Learning transferable architectures for scalable image recognition" Paper Re..."Learning transferable architectures for scalable image recognition" Paper Re...
"Learning transferable architectures for scalable image recognition" Paper Re...
 
HistoryOfCNN
HistoryOfCNNHistoryOfCNN
HistoryOfCNN
 
Lecture 4: Neural Networks I
Lecture 4: Neural Networks ILecture 4: Neural Networks I
Lecture 4: Neural Networks I
 
[한국어] Neural Architecture Search with Reinforcement Learning
[한국어] Neural Architecture Search with Reinforcement Learning[한국어] Neural Architecture Search with Reinforcement Learning
[한국어] Neural Architecture Search with Reinforcement Learning
 
Convolutional Neural Networks
Convolutional Neural NetworksConvolutional Neural Networks
Convolutional Neural Networks
 
Deep learning overview
Deep learning overviewDeep learning overview
Deep learning overview
 
[paper review] 손규빈 - Eye in the sky & 3D human pose estimation in video with ...
[paper review] 손규빈 - Eye in the sky & 3D human pose estimation in video with ...[paper review] 손규빈 - Eye in the sky & 3D human pose estimation in video with ...
[paper review] 손규빈 - Eye in the sky & 3D human pose estimation in video with ...
 
Deep neural networks cnn rnn_ae_some practical techniques
Deep neural networks cnn rnn_ae_some practical techniquesDeep neural networks cnn rnn_ae_some practical techniques
Deep neural networks cnn rnn_ae_some practical techniques
 
LeNet & GoogLeNet
LeNet & GoogLeNetLeNet & GoogLeNet
LeNet & GoogLeNet
 
Image Deep Learning 실무적용
Image Deep Learning 실무적용Image Deep Learning 실무적용
Image Deep Learning 실무적용
 
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
 
Basics of deep learning_imcloud
Basics of deep learning_imcloudBasics of deep learning_imcloud
Basics of deep learning_imcloud
 
Convolutional neural networks
Convolutional neural networksConvolutional neural networks
Convolutional neural networks
 
Image net classification with deep convolutional neural networks
Image net classification with deep convolutional neural networks Image net classification with deep convolutional neural networks
Image net classification with deep convolutional neural networks
 
Dl from scratch(7)
Dl from scratch(7)Dl from scratch(7)
Dl from scratch(7)
 

Deep Learning & Convolutional Neural Network

  • 1. Deep Learning & Convolutional Neural Network 1 장 익 훈 2018. 3. 23.
  • 2. 2 Deep Learning? Deep Neural Network  Deep Neural Network 침체기 (1986~2006) ① ‘Deep’ learning에 대한 이론적인 침체 • Local optimization을 피하는 initialization에 대한 이론이 없어서 Learning시 Network가 깊어질수록 과도한 overfitting 발생 • Vanishing gradient : 활성함수로 Sigmoid함수 사용시 Gradient Descent에서 기울기가 0에 수렴하여 Backpropagation에 의한 weight 업데이트가 안됨 ② Computation Cost 대비 성능이 좋지 않음  침체기로부터의 탈출 ① ‘Deep’ Learning의 이론적인 토대 마련 : Deep network의 initialization 문제에 대한 해답을 Deep Beilf Network(2007)의 개념으로 해결 ② Regularization Method(Drop out, ReLu) 발전 ③ Computer Vision 분야에서 발전한 CNN 기반 알고리즘의 압도적인 성능 ④ 컴퓨팅 성능의 발전 : 하드웨어 스펙과 GPU 병렬처리 기술의 발전 참고 : http://sanghyukchun.github.io/75/
  • 3. 3  Deep Belief Network (DBN, Hinton et al.,2007) • Bengio et al.(2006)의 Restricted Boltzmann Machine(RBM) 방법에서 착안 • Gradient approximation 알고리즘에서 weight 를 계산하는 MCMC (Gibbs Sampling)의 step을 converge할 때 까지 돌리는 것이 아니라, 한 번만 돌려서 weight를 approximate - 어차피 정확하게 converge한 distribution이나, 중간에 멈춘 distribution이나 대략의 방향성 은 유사하므로 완벽한 gradient 대신 Gibbs sampling을 중간에 멈추고 그 approximation 값 을 update에 사용하여 pre-training 시간 단축 • Deep Belief Network는 RBM의 방법으로 ℓ 개의 layer를 가진 joint distribution을 표 현하는 graphical model로 weight 초기값을 unsupervised pre-training 할 수 있음  Initial weight 결정 문제 해결 Deep Learning? Deep Neural Network 참고 : http://sanghyukchun.github.io/75/
  • 4. 4  Drop-out (Dahl et al., 2013) • 핵심 아이디어는 학습 과정 중에 신경 망의 뉴런들을 임의로 꺼버리는 것 • 학습 중에 drop out은 기하급수적으로 많은 서로 다른 ‘thinned’ 네트워크를 모으고, 테스트 과정에서는 모든 뉴런, 즉, ‘un-thinned’ 네트워크를 사용함으 로 기하급수적으로 많은 ‘thinned’ 네 트워크의 평균에 근사값을 가지게 함  Overfitting과 weight 초기값 문제 개선 Deep Neural Network의 과적합 문제 해결  ReLU(Rectified Linear Unit, Nair&Hinton 2010; Glorot et al.,2011) • 기울기가 0 또는 1로 학습되는 경우에는 error가 100% 전파되어 vanishing 문제해결  느린 학습시간과 Vanishing Gradient 문제를 해결 참고:http://blog.naver.com/PostView.nhn?blogId=sogangori&logNo=220454579396&parentCategoryNo=8&categoryNo=&viewDate=&isShowPopularPosts=true&from=search
  • 5. 5 CNN(Convolution Neural Network, 합성곱신경망)이란?  CNN은 합성곱(Convolution) 연산을 사용하는 ANN(Artificial Neural Network)의 한 종류  Convolution을 사용하면 3차원 데이터의 공간적 정보를 유지하여 다음 Layer로 전달  핵심 아이디어는 feature selection이 performance에 가장 크게 영향을 미치므로 가장 좋 은 feature map을 뽑아주는 convolution filter를 learning하는 모델을 만드는 것  대표적인 CNN : LeNet(1998), AlexNet(2012)  CNN 기반의 DNN(Deep Neural Network, 심층신경망) : VGG, GoogLeNet, ResNet 등 *최초 개념 : Backpropagation Applied to Handwritten Zip Code Recognition (LeCun, 1989) 출처 : 모두의연구소DeepLapEdu 5기박희경, 밑바닥부터시작하는딥러닝 Chapter 7 합성곱 신경망(CNN)
  • 6. 6 CNN(Convolution Neural Network, 합성곱신경망)이란?  기존의 신경망(Artificial Neural Network) 구조 • 인접하는 계층의 모든 뉴런이 결합되어 있는 완전연결된 은닉층들로 구성 • Fully-connected Layer 또는 Affine Layer라고 불림 출처 : 모두의연구소DeepLapEdu 5기박희경, 밑바닥부터시작하는딥러닝 Chapter 7 합성곱 신경망(CNN)
  • 7. 7 CNN(Convolution Neural Network, 합성곱신경망)이란?  CNN(Convolution Neural Network) 구조 • 신경망 구조에서 합성곱 계층(Conv), 풀링 계층(Pooling)이 추가됨 출처 : 모두의연구소DeepLapEdu 5기박희경, 밑바닥부터시작하는딥러닝 Chapter 7 합성곱 신경망(CNN)
  • 8. 8 Convolutional Layer : Fully-connected Layer의 문제  기존 신경망의 데이터 형상 무시 • 세로·가로·채널(색상)로 구성된 3차원 데이터인 이미지가 완전연결계층(fully- connected layer)에 입력될 때, 1차원 데이터로 변형되게 되면서 공간 정보 손실 출처 : 모두의연구소DeepLapEdu 5기박희경, 밑바닥부터시작하는딥러닝 Chapter 7 합성곱 신경망(CNN)
  • 9. 9 Convolutional Layer : Fully-connected Layer의 문제  기존 신경망의 데이터 형상의 무시 • 예를 들어, 공간적으로 가까운 픽셀은 값이 비슷하거나, RGB의 각 채널은 서로 밀접하게 관련되어 있거나, 거리가 먼 픽셀끼리는 별연관이 없는 등, 3차원 속 의미를 갖는 본질적인 패턴이 무시됨 출처 : 모두의연구소DeepLapEdu 5기박희경, 밑바닥부터시작하는딥러닝 Chapter 7 합성곱 신경망(CNN)
  • 10. 10 Convolutional Layer : 합성곱 연산  합성곱(Convolution) • 특정(높이, 너비)를 갖은 필터(Filter, Kernel)를 일정간격(Stride)으로 이동해가며 입력데이터에 적용(원소곱후, 총합: 단일곱셈-누산) 출처 : 모두의연구소DeepLapEdu 5기박희경, 밑바닥부터시작하는딥러닝 Chapter 7 합성곱 신경망(CNN)
  • 11. 11 Convolutional Layer : 합성곱 연산  합성곱(Convolution) 과정 • 이미지 전체를 동일한 필터로 Shift 시키면서 합성곱을 계산함 출처 : 모두의연구소DeepLapEdu 5기박희경, 밑바닥부터시작하는딥러닝 Chapter 7 합성곱 신경망(CNN)
  • 12. 12 Convolutional Layer : 합성곱 연산  합성곱(Convolution) 계산의 효과 • 필터가 가지는 특징(Feature)가 데이터에 있는지 없는지 검출 출처 : 모두의연구소DeepLapEdu 5기박희경, 밑바닥부터시작하는딥러닝 Chapter 7 합성곱 신경망(CNN)
  • 13. 13 Convolutional Layer : 합성곱 연산  합성곱(Convolution) 계산의 효과 • 해당곡선의 필터 적용 예 출처 : 모두의연구소DeepLapEdu 5기박희경, 밑바닥부터시작하는딥러닝 Chapter 7 합성곱 신경망(CNN)
  • 14. 14 Convolutional Layer : 합성곱 연산  합성곱(Convolution) 계산의 효과 • 해당곡선의 필터 적용 예 출처 : 모두의연구소DeepLapEdu 5기박희경, 밑바닥부터시작하는딥러닝 Chapter 7 합성곱 신경망(CNN)
  • 15. 15 Convolutional Layer : 합성곱 연산  합성곱(Convolution) 연산에서의 매개변수(Parameter) • 필터를 적용한 후, 모든 원소에 편향(bias)이 더해짐  필터(가중치), 편향이 학습을 시킬 매개변수가 됨 출처 : 모두의연구소DeepLapEdu 5기박희경, 밑바닥부터시작하는딥러닝 Chapter 7 합성곱 신경망(CNN)
  • 16. 16 Convolutional Layer : 합성곱 연산  패딩(Padding) • 합성곱 연산을 수행하기 전에 입력데이터 주변을 특정값 (주로 0–Zero paddig)을 채우는 단계로, 입력데이터와 출력데이터의 크기를 맞추기 위해 사용 출처 : 모두의연구소DeepLapEdu 5기박희경, 밑바닥부터시작하는딥러닝 Chapter 7 합성곱 신경망(CNN)
  • 17. 17 Convolutional Layer : 합성곱 연산  스트라이드(Stride) - 2 Dimension 예 • 필터를 적용하는 위치의 간격으로, Stride가 커지면 출력크기가 축소됨 • 출력크기(OH(출력높이), OW(출력너비))는 정수로 나누어 떨어지는 값이어야 함 출처 : 모두의연구소DeepLapEdu 5기박희경, 밑바닥부터시작하는딥러닝 Chapter 7 합성곱 신경망(CNN)
  • 18. 18 Convolutional Layer : 합성곱 연산  스트라이드(Stride) - stride 1과 2의 비교 Stride 1 Stride 2 출처 : 모두의연구소DeepLapEdu 5기박희경, 밑바닥부터시작하는딥러닝 Chapter 7 합성곱 신경망(CNN)
  • 19. 19 Convolutional Layer : 합성곱 연산  3차원 데이터의 합성곱 연산 • 3차원 이미지(RGB) 데이터의 경우, 필터도 이미지와 같은 수의 채널을 가짐 • Convolution Layer의 출력 Layer는 모든 채널의 합산하여 하나의 채널로 축소할 수도 있음 출처 : 모두의연구소DeepLapEdu 5기박희경, 밑바닥부터시작하는딥러닝 Chapter 7 합성곱 신경망(CNN)
  • 20. 20 Convolutional Layer : 합성곱 연산  3차원 데이터의 합성곱 연산 : FN개의 필터 • 필터는 출력채널수(FN), 입력채널수(C), 높이(FH), 너비(FW)의 속성을 가짐 • 출력데이터의 개수는 FN개로 FN개의 특징맵(Feature map)이 생성됨 출처 : 모두의연구소DeepLapEdu 5기박희경, 밑바닥부터시작하는딥러닝 Chapter 7 합성곱 신경망(CNN)
  • 21. 21 Convolutional Layer : Parameter Learning  Sparse weights • Full connection 대비 훨씬 적은 표현형을 learning하게 되는 단점이 있지만, 모델 complexity가 낮아진다는 장점이 큼  픽셀값이 많고 feauture의 공간 상관성이 높은 이미지 데이터에서는 유용함  Shared(tied) weights • 하나의 필터와 연결되는 모든 뉴런은 동일한 weight로 학습됨(bias는 제외)  필터의 모든 뉴런이 다른 위치에 있는 동일한 feature를 detect할 수 있음  학습시켜야 할 parameter 수를 줄여서 Learning 속도가 빠름 출처 : http://sanghyukchun.github.io/75/
  • 22. 22 Pooling Layer  Pooling Layer 개요 • 세로·가로 방향의 공간을 줄이는 연산으로, Sub-sampling이라고도 불림 • Feature map의 크기를 줄여서 학습시간을 줄이고 shift, distortion에 덜 민감하게 함 • 일반적으로 풀링의 윈도우 크기와 Stride의 값은 같게 설정함 출처 : 모두의연구소DeepLapEdu 5기박희경, 밑바닥부터시작하는딥러닝 Chapter 7 합성곱 신경망(CNN)
  • 23. 23 Pooling Layer  Pooling Layer의 특징 : 학습이 필요한 매개변수가 없음 • 풀링은 대상영역에서 최댓값(Max Pooling)이나 평균(Average Pooling)만을 취하는 명확한 처리이므로 학습해야 할 매개변수가 없음 Max Pooling 예시 출처 : 모두의연구소DeepLapEdu 5기박희경, 밑바닥부터시작하는딥러닝 Chapter 7 합성곱 신경망(CNN)
  • 24. 24 Pooling Layer  Pooling Layer의 특징 : 입력의 변화에 영향을 적게 받음 • 입력데이터가 조금 변해도 풀링의 결과는 잘 변하지 않음 출처 : 모두의연구소DeepLapEdu 5기박희경, 밑바닥부터시작하는딥러닝 Chapter 7 합성곱 신경망(CNN)
  • 25. 25 Pooling Layer  Pooling Layer 효과 예시 출처 :Convolutional neural networks - Abin - Roozgard
  • 26. 26 Fully-connected Layer  Convolutional/Pooling Layer에서 학습된 feature(filter)를 입력 node로 하는 ANN 모델 출처 :https://hub.packtpub.com/cnn-architecture/
  • 27. 27 타분야 CNN 활용 사례 : Speech Recognition Covolutional neural networks for speech recognition, IEEE/ACM Transactions on Audio, Speech, and Language Processing, Abdel-Hamid et al.(2014)
  • 28. 28 타분야 CNN 활용 사례 : Text Classification Convolutional Neural Networks for Sentence Classification, Conference on Empirical Methods in Natural Language, Processing Kim.(2014)
  • 29. 29 타분야 CNN 활용 사례 : Time series prediction Time Series Classification Using Multi-Channels Deep Convolutional Neural Networks, International Conference on Web-Age Information Management,(2014)
  • 30. 30 타분야 CNN 활용 사례 : Time series prediction Encoding Time Series as Images for Visual Inspection and Classification Using Tiled Convolutional Neural Networks, Association fortheAdvancement ofArtificial Intelligence,(2015)
  • 31. 31 타분야 CNN 활용 사례 : Time series prediction Learning Traffic as Images: A Deep Convolutional Neural Network for Large-Scale Transportation Network Speed Prediction, Sensors, (2017)