본문 바로가기

명사 美 비격식 (무리 중에서) 아주 뛰어난[눈에 띄는] 사람[것]

AI/Model Selection

VGG16, 현재는 주로 교육, 연구, 전이학습(Transfer Learning), 비교 기준(Baseline) 용도로 많이 사용되는 모델

VGG16은 2014년 Visual Geometry Group에서 나온 모델로, 구조가 매우 단순하다.

VGG 아키텍처는 ILSVRC 2014 대회에서 1위

from tensorflow.keras.applications import VGG16
from tensorflow.keras.models import Model
from tensorflow.keras.layers import Dense, Dropout, GlobalAveragePooling2D


# ImageNet으로 사전 학습된 VGG16 불러오기
base_model = VGG16(
    weights="imagenet",
    include_top=False,
    input_shape=(224, 224, 3)
)

# 기존 VGG16 Feature Extractor 부분
x = base_model.output

# Feature map → 1차원 벡터
x = GlobalAveragePooling2D()(x)

# 새 분류기 추가
x = Dense(512, activation="relu")(x)
x = Dropout(0.5)(x)

# 예: 5개 클래스 분류
output = Dense(5, activation="softmax")(x)


model = Model(
    inputs=base_model.input,
    outputs=output
)

model.summary()

 

다만 "최신 이미지 인식 모델"로 현업에서 주력으로 쓰는 경우는 거의 줄었다.

현재는 주로 교육, 연구, 전이학습(Transfer Learning), 비교 기준(Baseline) 용도로 많이 사용된다.

모든 convolution kernel을 3×3으로 통일하고 깊게 쌓아서 성능 향상하는데 구조가 직관적이라 CNN 기본 구조를 설명할때 최고수준의 예제가된다 .

 

현업에서 잘 쓰지않는이유는 파라미터 약 1.38억 개, 모델 크기 약 528MB의 연산량이 많기 때문인데 비슷한 성능을 훨씬 작은 모델이 내고있기 때문이다.

VGG16 2014 깊은 CNN
ResNet 2015 Skip Connection
EfficientNet 2019 효율 최적화
Vision Transformer(ViT) 2020 Transformer 기반
ConvNeXt 2022 현대식 CNN