[Deep Learning - CV] Convolutional Neural Network ( CNN )

2022. 5. 13. 11:06AI/Codestates

728x90
반응형

CNN ( Convolutional Neural Network, 합성곱 신경망 ) 이란?

MLP에서 이미지의 공간적인 특성을 잘 살려내지 못한다는 점을 합성곱층을 이용해서 학습시 공간적인 특성을 보존할 수 있도록 만든 모델

▶ CNN의 구조

→ 특징 추출 부분

→ 분류를 위한 신경망

합성곱 ( Convolution ) 과 풀링 ( Pooling )

▶ 합성곱 ( Convolution ) 

합성곱 필터가 슬라이딩하면 이미지 부분부분의 특징을 읽어감

→ 패딩 ( Padding ) 

합성곱을 할 때 이미지가 줄어드는 것을 방지해주는 역할

이미지 외부에 특정한 값으로 둘러싸주는 방식

→ 스트라이드 ( Stride )

슬라이딩 시 보폭 

→ 채널 ( Channel ) 과 필터 ( Filter )

▶ 풀링 ( Pooling )

가로 세로 공간을 줄이기 위한 것

→ 최대 풀링 ( Max Pooling )

→ 평균 풀링 ( Average Pooling )

전이 학습 ( Transfer Learning ) 이란?

대량의 데이터를 학습한 사전 학습 모델 ( Pre - Trained Model ) 의 가중치를 그대로 가져온 뒤 완전 신경망 부분만 추가해서 사용

사전 학습 모델 ( Pre - Trained Model ) 의 종류

▶ VGG

→ 층에 개수에 따라 VGG13, VGG16, VGG19로 나뉨

→ 모든 합성곱층에서 3 X 3 크기의 필터 사용

→ 활성화 함수로 ReLU 함수 사용

→ 가중치 초기 값은 He 초기화 사용

→ Dropout을 사용하여 과적합 방지

→ 옵티마이져는 Adam 사용

▶ GoogLeNet ( Inception )

세로 방향의 깊이 뿐만 아니라 가로 방향으로도 넓은 신경망 층을 가짐 ( = Inception )

→ 4가지 종류의 Convolution과 Pooling을 수행하고, 4개의 결과를 채널 방향으로 합침

→ 1 X 1 Convolution의 효과

① 채널의 수 조절 기능

채널 수를 조정한다는 의미는, 채널 간의 Correlation을 연산한다는 뜻

 

② 채널 감소 -> 파라미터 수 감소

1 X 1 Convolution 연산으로 이미지의 채널을 줄여서 3 X 3과 5 X 5 Convolution 파라미터 개수를 절약 할 수 있음 

 

▶ ResNet

Residual Connection ( = Skip Connection )을 이용해서 층을 깊이 쌓으면 생기는 기울기 소실을 줄임

이미지 증강 ( Image Augmentation ) 이란?

회전, 반전, 자르기, 밝기 혹은 채도 변화 등으로 데이터를 늘이는 방법

728x90
반응형