무냐의 개발일지
[3/18] 프로젝트_ VGG16 써서 transfer learning으로 Flower 데이터셋 예측 본문
[3/18] 프로젝트_ VGG16 써서 transfer learning으로 Flower 데이터셋 예측
무냐코드 2024. 3. 18. 17:09CNN모델의 2가지 구성
1. 합성곱층과 풀링층이 여러겹 쌓여있는 Convolutional base : 이미지로부터 특징을 효과적으로 추출하는 것 (feature extraction)
   - 낮은 레벨의 계층은 input에 가까운 계층으로, 이미지에서 주로 일반적인(general) 특징을 추출한다.
   - 높은 레벨의 계층은 output에 가까운 계층으로, 보다 구체적이고 특유한 특징을 추출한다.
2. 완전 연결 계층으로 이루어진 Classifier : 추출된 특징을 잘 학습해서 이미지를 알맞은 카테고리로 분류하는 것 (image classification)

데이터셋의 크기에 따라, 기존 모델을 얼만큼 학습시킬 것인지를 정한다
- VGG16 모델의 구조
- 첫 번째 블록 : 2개의 Conv 레이어와 1개의 Pooling 레이어
 - 두 번째 블록 : 2개의 Conv 레이어와 1개의 Pooling 레이어
 - 세 번째 블록 : 3개의 Conv 레이어와 1개의 Pooling 레이어
 - 네 번째 블록 : 3개의 Conv 레이어와 1개의 Pooling 레이어
 - 다섯 번째 블록 : 3개의 Conv 레이어와 1개의 Pooling 레이어
 - 여섯 번째 블록 : 3개의 Dense 레이어
 
IMG_SHAPE = (IMG_SIZE, IMG_SIZE, 3)
# Create the base model from the pre-trained model VGG16
base_model = tf.keras.applications.VGG16(input_shape=IMG_SHAPE,
                                         include_top=False,
                                         weights='imagenet')

- 레이어 펼치기
마지막 단계에 Classifier를 구성하기 위해서는 Fully connected layer가 필수이다. 여기에 입력될 수 있는 벡터는 반드시 1차원이어야 한다. 그러기 위해, 우리 3차원 벡터를 1차원으로 변경해주는 방법 2가지 ( Flatten, Gloabl Averag Pooling)

| Global Average Pooling ?
- 한 방에 feature를 1차원 벡터로 만들기 위함
- 파라미터가 너무 많아지면 학습 시 over fitting이 발생할 수 있는 문제가 발생하곤 합니다. 따라서 필터에 사용된 파라미터 수를 줄여서 차원을 감소시킬 방법이 필요합니다. 이런 역할을 CNN에서 해 주는 레이어가 pooling layer 입니다. Max Pooling, Average Pooling, 등이 있는데, Global Average Pooling도 있다.
- GAP(global average pooling)은 앞에서 설명한 Max(Average) Pooling 보다 더 급격하게 feature의 수를 줄입니다. 하지만 GAP의 목적은 앞에서 사용한 Pooling과 조금 다릅니다. GAP의 목적은 feature를 1차원 벡터로 만들기 위함입니다.
- GAP를 거치게 되면 shape은 (1, 1, Depth)로 바뀌게 된다.

'Data Scientist Bootcamp' 카테고리의 다른 글
| [3/20] NLP프로젝트 2_ NLP 과정 (0) | 2024.03.20 | 
|---|---|
| [3/20] NLP 프로젝트1 _문자 전처리(split, strip 등) (1) | 2024.03.20 | 
| [3/14] 컴퓨터비전4 _Object detection, Segmentation (2) | 2024.03.14 | 
| [3/13] 컴퓨터비전3 _ 심화 CNN, Transfer Learning (0) | 2024.03.13 | 
| [3/12] 컴퓨터비전2_ CNN(Convolutional Neural Network) (0) | 2024.03.12 |