AI VIDEO BRIEFING
VGGNet 완전 정복: 3×3 컨볼루션을 깊게 쌓는 설계와 전이학습 레시피가 남긴 유산
큰 필터 하나 대신 3×3 필터를 깊게 쌓은 VGGNet은 어떻게 파라미터를 45% 줄이면서 더 정교한 특징을 잡아냈을까. 이미지넷 성적과 전이학습 표준 레시피, 그리고 지금도 배우는 이유까지 정리했다.

핵심 메시지
쉽게 이해하기
VGGNet 이전의 대표적인 합성곱 신경망들은 이미지를 볼 때 크고 뭉툭한 필터를 사용했다. 넓게, 그러나 얕게 보는 방식이었다. VGGNet은 여기에 정반대 질문을 던졌다. 작고 뾰족한 필터로 여러 번 깊게 찔러보면 어떨까 하는 발상이었고, 이 단순한 전환이 신경망 설계의 판도를 바꿨다.
큰 필터 하나와 작은 필터 여러 개가 결국 같은 범위를 본다면 무엇이 다를까. 영상은 두 가지 이점을 짚는다. 첫째는 비선형성이다. 모델은 각 연산 뒤에 ReLU라는 판단 단계를 거치는데, 7×7 필터는 이를 한 번만 통과하는 반면 3×3 필터를 세 번 쌓으면 세 번 통과한다. 그만큼 더 세밀하게 뜯어보며 분석하는 셈이다. 둘째는 효율성으로, 7×7 필터 하나에 필요한 파라미터 49개가 3×3 세 개에서는 27개로 줄어 모델이 가벼워지고 학습도 쉬워진다.
이 철학은 VGG16의 구조에 그대로 드러난다. 64개, 128개, 256개, 512개짜리 필터 블록이 단순한 패턴으로 반복되고, 단계가 진행될수록 이미지의 가로세로 크기는 줄어드는 대신 채널 수, 즉 개념적 깊이는 늘어난다. 거대한 바위 하나로 성을 쌓는 대신 작고 다루기 쉬운 벽돌을 수없이 쌓아 더 높고 견고한 구조물을 만드는 방식에 가깝다.
실전 성적도 이 방향이 옳았음을 보여줬다. 2014년 이미지넷 대회의 이미지 분류 과제에서는 GoogLeNet에 이어 아깝게 2위였지만, 물체의 위치까지 찾아내는 로컬라이제이션 과제에서는 1위를 차지했다. 사진에 고양이가 있다는 사실을 아는 수준을 넘어 어디에 있는지 짚어냈다는 뜻이며, 이 결과가 연구 커뮤니티에 '네트워크는 깊을수록 똑똑해진다'는 메시지를 던졌다.
그러나 대회 성적보다 오래 남은 유산은 전이학습의 청사진이다. 사전 학습된 VGGNet을 가져와 마지막 1000개짜리 분류기만 떼어내고, 선과 질감 같은 기본 특징을 학습한 앞부분은 얼린 채, 개·고양이 분류기나 엑스레이 골절 판독기처럼 자기가 풀고 싶은 문제의 작은 분류기를 붙여 그 부분만 학습시키는 방식이다. 이 단순한 레시피 덕분에 적은 데이터로도 높은 성능을 얻을 수 있게 됐고, 고성능 AI 기술이 훨씬 많은 사람에게 퍼졌다.
주요 인사이트
- 같은 수용 영역을 확보하는 방법이 여러 가지일 때, 어떤 경로를 택하느냐가 파라미터 수와 표현력을 동시에 바꾼다. VGGNet의 3×3 반복은 비용은 줄이고 비선형 단계는 늘리는 선택이었다.
- 초기 객체 탐지 모델 대부분이 VGGNet을 뼈대로 삼았고, 사진을 명화처럼 바꾸는 신경망 스타일 변환과 이미지 캡셔닝에서도 VGGNet이 뽑아낸 특징이 사실상 표준처럼 쓰였다.
- AI 비전의 흐름에서 2012년 AlexNet이 합성곱 신경망의 가능성을 보였다면, 2014년 VGGNet은 깊이라는 방향을 제시했고, 2015년 ResNet은 그 깊이를 극한까지 밀어붙일 방법을 찾았다. VGGNet은 그 사이를 잇는 연결고리였다.
- 단순한 블록을 쌓고 채널 수를 두 배씩 늘려가는 설계 패턴은 이후 거의 모든 합성곱 아키텍처가 따라간 기본 문법이 됐다. VGGNet을 공부하는 것은 옛 모델을 외우는 일이 아니라 확장 가능한 설계의 원리를 배우는 일에 가깝다.
자주 묻는 질문
3×3 필터를 세 번 쌓는 것이 7×7 필터 하나보다 나은 이유는 무엇인가요?
같은 시야를 보면서도 파라미터가 49개에서 27개로 약 45% 줄어 모델이 가벼워지고, ReLU 같은 비선형 단계를 세 번 거치기 때문에 한 번에 훑을 때보다 복잡하고 미묘한 특징까지 잡아낼 수 있습니다.
VGGNet은 2014년 이미지넷 대회에서 어떤 성적을 냈나요?
이미지 분류 과제에서는 GoogLeNet에 이어 2위였지만, 물체의 위치까지 찾아내는 로컬라이제이션 과제에서는 1위를 차지했습니다.
VGGNet으로 전이학습을 하려면 어떤 절차를 거치나요?
사전 학습된 VGGNet을 가져와 마지막 1000개 분류기를 떼어내고, 기본 특징을 학습한 앞부분은 얼린 뒤 자신이 풀려는 문제에 맞는 작은 분류기를 붙여 그 새 부분만 학습시킵니다. 이렇게 하면 적은 데이터로도 높은 성능을 얻을 수 있습니다.
원문과 출처
이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.
YouTube 원본 영상 보기 ↗