2022. 5. 13. 11:06ㆍAI/Codestates
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 ) 이란?
회전, 반전, 자르기, 밝기 혹은 채도 변화 등으로 데이터를 늘이는 방법
'AI > Codestates' 카테고리의 다른 글
[Deep Learning - CV] AutoEncoder ( AE ) (0) | 2022.05.16 |
---|---|
[Deep Learning - CV] Beyond Classification ( Segmentation & Object Detection ) (1) | 2022.05.13 |
[Deep Learning - NLP] Transformer (0) | 2022.05.10 |
[Deep Learning - NLP] Language Modeling With RNN (0) | 2022.05.09 |
[Deep Learning - NLP] Distributed Representation (0) | 2022.05.06 |