2015_04_13_Convolution neural netwokrs_CNN 특징 추출부분만

Download Report

Transcript 2015_04_13_Convolution neural netwokrs_CNN 특징 추출부분만

0
1
0 CNN의 시작 및 재조명
Convolution Neural Network (CNN)
• 1998년 필기체 인식을 위해 처음 제안됨!
• 처음 제안: LeCun, Y., Bottou, L., Bengio, Y., & Haffner, P. (1998). Gradientbased learning applied to document recognition. Proceedings of the IEEE,
86(11), 2278-2324.
• 얼굴 인식에 응용: Nebauer, C. (1998). Evaluation of convolutional neural
networks for visual recognition. Neural Networks, IEEE Transactions on, 9(4),
685-696.
최근 다시 재조명됨
• 물체 인식에 대단히 뛰어난 성능이 검증되면서 다양한 분야로 확장 중임.
2
1 IDEA of CNN
정보를 보다 손쉽게 분류하기 위하여, 저차원의 정보를 고차원으로 확장하여 분류!
• SVM, CNN, Laplace Transform, Fourier Transform 등에서 사용
• (𝑥, 𝑦) → (𝑥 2 , 𝑦 2 )
• https://www.youtube.com/watch?v=3liCbRZPrZA
Convolution을 이용하여, Convolution과 관련된 정보를 보다 강조되도록 한다
3
2 Structure of CNN (1/2)
Convolution
Subsampling
4
2 Structure of CNN (2/2)
CNN은 두 가지 연산 Layer(Convolutional, Subsampling(Max-pooling) Layer)를 번
갈아 수행하며, 최종적으로는 Fully Connected Layer를 통해 Classification을 수행
하는 계층 모델이다.
• 모델 학습은 BP(Back Propagation)을 통해 이루어진다.
Convolutional Layer
•
Input Image에 대해 filter bank를 적용하여 2D Filtering을 수행하는 Layer.
Subsampling(Max-Pooling) Layer
• Input Image에 대해 지역적으로 최대값을 추출하여 2D이미지로 mapping하는 Layer
로 국소적인 영역을 더 크게 하고, Down Sampling을 수행한다.
Fully Connected Layer
• 복수계층망(Multilayer network)의 표준적인 Layer로 입력 벡터와 가중치 값의 선형결
합이 이루어진다.
Classification (Back Propagation or etc.)
• 입출력간 이미지의 오차를 최소화(미리 설정한 threshold) 하는 방향으로 학습을 반복.
5
3 Convolutional Layer
필요한 정보
• Kernel size
• 생성할 Map 개수(Kernel 개수)
• Convolution 연산시에 적용할 가중치 table
 Input image size (32 × 32)
 Kernel or filter size (5 × 5)
Convolution
 Kernel의 개수는 20
 (32 × 32) 사이즈에 5 × 5 크기의 커널을 적용하면: input image
의 위, 아래, 왼쪽, 오른쪽 모두 2개 pixel은 적용 불가능.
 따라서, 28 × 28 크기의 convolutional layer 생성
 Kernel이 20개 이므로 28 × 28 × 20의 C1-layer 20 maps 생성
6
3 Convolutional Layer: Convolution or filter
Sharpen
Edge Detect
Blur
Emboss
• Kernel을 적용시에는 거꾸로 적용한다!
7
4 Sub or Down Sampling(Max-Pooling) Layer
필요한 정보
• Sub or Down Sampling 할 Kernel size
• Max or Mean
• Kernel 영역 안의 값 중 Max or Mean을 선택하고 출력
0
0
1
1
1
1
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Sub Sampling
0
1
1
1
1
0
0
0
1
1
1
0
0
0
1
0
1
1
0
0
0
1
0
0
0
1
0
0
0
0
8×8
𝑲𝒆𝒓𝒏𝒆𝒍
𝟐×𝟐
𝑴𝒂𝒙
Sub
sampling
Half size
4×4
8
5 Fully Connected Layer
필요한 정보
• Sub or Down Sampling 할 Kernel size
• Max or Mean
• Kernel 영역 안의 값 중 Max or Mean을 선택하고 출력
9
10