출처: Mathworks, Deep Learning with MATLAB
간단한 이미지 분류를 위한 Convolutional Network Layers의 예
네트워크에서 각 Layer는 아래 그림에서와 같이 숫자로 표현된 입력 값을 바탕으로 새로운 값의 출력을 만들어 낸다.
1) imageInputLayer([5 5])
- 첫번째 Layer인 image input layer는 네트워크의 input size를 정의하고 입력 이미지를 정규화한다.
- 디폴트로 이미지 입력 레이어는 이미지에 훈련 데이타 세트 전체의 이미지 평균값을 뺀다.
2) convolution2dLayer([2 2], 1)
- 2-by-2의 1개 필터를 한칸씩 옮겨가며 이미지 값과 곱하여 필터를 통과시킨다.
3) reluLayer()
- Convolution Layer 다음에는 ReLu (rectified linear unit)와 같은 nonlinear activation layer가 따라온다.
- ReLu layer는 입력의 각 요소들에 문턱값보다 작은 값을 0으로 만든다.
4) maxPoolingLayer([3 3])
- maximum pooling layer는 이미지를 직사각형의 pooling 영역 (3-by-3)으로 나누고 각 영역에서의 최대값을 선택하여 down-sampling을 수행한다.
5) fullyConnectedLayer(2)
- 네트워크를 통과한 features은 fully connected layer에 도달하기 전까지 행렬형태로 저장된다.
- Fully Connected Layer에서 입력을 "flattened (1열로 배열)"되어 출력 class로 매핑된다.
- Fully Connected Layer의 출력 크기가 분류하고자 하는 분류의 개수와 동일하다.
6) softmaxLayer()
- softmax는 각 출력 클래스에 해당하는 값을 정규화된 지수함수를 사용하여 정규화된 스코어로 변환함
- softmax의 출력은 각 클래스에 속할 수 있는 확률 값으로 볼 수 있음
7) classificationLayer()
- 가장 가까운 클래스 이름을 반환함
'Major > Programming' 카테고리의 다른 글
Epochs, Mini-Batch (Batch Size), Iterations (0) | 2020.09.12 |
---|---|
Pretrained CNNs Download for MATLAB (0) | 2020.09.08 |
MATLAB 필수 ToolBox (0) | 2020.08.24 |
Mac OSx 환경에서 Python - TensorFlow - Pycharm (파이썬 - 텐서플로 - 파이참) 설치 (4) | 2020.05.21 |
Matlab에서 figure를 동영상 avi 파일로 만들기 (0) | 2019.07.17 |
댓글