CNN
-이미지의 공간적, 지역적 정보를 포함한 Feature들의 계층을 빌드업
- 전체보다는 부분의 feature를 보고 한 픽셀과 주변 픽셀의 연관성을 고려
ex) 새 사진 데이터가 있으면 새의 전체 이미지가 아닌 부리, 날개, 눈 등 부분 부분의 이미지를 캐치하여 효율적이게 계산
기본개념
생략 (kernel, zero padding, stride 등)
CNN의 네트워크 구조
Convolutional Layer
1. 입력으로 주어진 이미지를 커널을 사용하여 output을 만듦(feature maping)
2. output을 활성화함수를 적용
------------------------------------------------------------------------------
Parameter 개수 계산법
3*3 커널을 128채널로 찍게 되면 output의 채널 한 개가 나오게 되고 64 채널이 있으니
parameter 개수는 3*3*128*64가 된다.
1x1 Convolution
-Channel 수 조정
-파라미터 감소
-비선형성
1x1 Convolution을 통해 채널수를 줄여주면 레이어를 더 깊게 쌓으며 동시에 파라미터를 줄일 수 있다.
-----------------------------------------------------------------------------
Pooling Layer
-대표적으로 Max Pooling과 Average Pooling이 있으며 Pool사이즈로 준 값들 중 각각 최댓값, 평균값만 가져와 사이즈를
줄여준다.
추론 하는데 있어서 Convolutional Layer를 거처 나온 모든 결과 data가 필요하지 않기 때문에 pooling 과정을 통해 요소를 줄여준다.
pooling을 통해 overfitting을 억제할 수 있고 복잡도를 줄여줄 수 있다.
Flatten(Vectorization)
- Convolution과 pooling을 거쳐 나온 값을 일자로 늘려 벡터로 바꿔준다.
*4x4x10이 output이라면 160 dimension의 벡터로 만들어준다.
Fully-Connected Layer(Dense Layer)
-분류를 하거나 회귀를 해서 원하는 출력 값을 얻는 Layer
***최근에는 없어지거나 최소화되는 추세(parameter를 줄여 성능을 높이기 위해)
1. Flatten
2. 활성화 함수 적용
3. Softmax함수로 분류
참고
https://halfundecided.medium.com/딥러닝-머신러닝-cnn-convolutional-neural-networks-쉽게-이해하기-836869 f88375
'AI > 딥러닝' 카테고리의 다른 글
1*1 convolution (0) | 2023.02.21 |
---|---|
Manifold learning (0) | 2022.02.14 |
딥러닝 Mean Square Error (MSE) / Cross Entropy(CE) (0) | 2022.02.14 |
1-3 신경망 (0) | 2022.01.23 |
1-2 경사하강법 (0) | 2022.01.22 |