이 레슨과 관련된 학습 키워드
인공지능(AI) — 기계가 생각하는 법 → 컴퓨터 비전(Computer Vision) — 기계에게 눈을 주다 → 고급 비전 모델 — 트랜스포머와 멀티모달 → 비전-언어 모델
합성곱을 자기 주의(self-attention)로 대체하여 분류를 위해 이미지 패치에 트랜스포머 아키텍처를 적용합니다.
안녕하세요, 비전 트랜스포머, 줄여서 빗을 소개할게요.
2020년에 구글 브레인이 발표한 논문이에요. 제목이 "An Image is Worth 16 times 16 Words"예요.
핵심 아이디어는 놀라울 정도로 단순해요. 씨엔엔을 아예 쓰지 않고, 순수 트랜스포머만으로 이미지를 분류하는 거예요.
그림 왼쪽을 보세요. 전통 씨엔엔은 3곱하기3 합성곱을 반복해서, 지역 정보를 점진적으로 넓혀가요.
수용 영역이 처음엔 아주 작다가, 레이어를 쌓을수록 커지는 구조예요.
씨엔엔에는 두 가지 강한 귀납 편향이 있어요. 지역성, 그리고 이동 불변성이에요.
이 편향 덕분에 적은 데이터로도 잘 학습돼요. 하지만 한계도 있어요.
이제 그림 오른쪽을 보세요. 빗 방식이에요. 224곱하기224 이미지를 16곱하기16 패치로 잘라요.
잘린 패치 196개를 선형 투영으로 768차원 벡터로 바꿔요. 마치 엔엘피에서 단어를 임베딩하는 것과 같아요.
여기에 씨엘에스 토큰과 포지셔널 임베딩을 더한 뒤, 트랜스포머 인코더 12개 층을 통과시켜요.
셀프 어텐션 덕분에, 첫 번째 층부터 이미지 전체를 한눈에 봐요. 수용 영역이 처음부터 글로벌이에요.
그림 가운데 핵심 차이 박스를 보세요. 씨엔엔은 귀납 편향이 강해서 소량 데이터에 유리해요.
반면 빗은 귀납 편향이 거의 없어요. 그래서 대량의 데이터가 필요해요.
하지만 제이에프티 300엠이나 이미지넷 21케이처럼 대규모 데이터로 학습하면, 씨엔엔을 확실히 넘어서요.
이미지넷 21케이 사전학습 시 탑원 정확도 88.55퍼센트를 달성했어요.
핵심은 스케일링이에요. 데이터와 모델을 키우면 성능이 계속 좋아지는 구조. 이것이 빗 시대의 시작이에요.
지금부터 빗이 어떻게 이미지를 패치로 나누고, 트랜스포머로 처리하는지 차근차근 살펴볼게요.
이 과정을 이해하면, 왜 빗이 컴퓨터 비전의 판도를 바꿨는지 명확해질 거예요.
자, 그럼 패치 임베딩부터 시작해 볼까요?
씨엔엔과 빗의 가장 큰 차이, 귀납 편향과 스케일링 법칙을 꼭 기억해 주세요.
선생님: 중요한 질문 하나 할게요. 빗이 이미지를 16곱하기16 패치로 나누는 이유가 뭘까요?
학생: 트랜스포머는 시퀀스 입력을 받으니까, 이미지를 작은 조각으로 나눠서 시퀀스로 만들려는 건가요?
선생님: 정확해요! 트랜스포머는 토큰 시퀀스를 입력으로 받잖아요. 이미지 전체를 한 토큰으로 넣으면 계산량이 폭발하니까, 16곱하기16 패치로 나눠서 196개의 시각적 토큰을 만드는 거예요.
학생: 아, 그래서 논문 제목이 "16곱하기16 Words"인 거군요!
선생님: 맞아요. 그리고 패치 크기를 바꾸면 토큰 수가 달라져요. 작은 패치는 토큰이 많아져서 정확도는 올라가지만, 계산량이 제곱으로 늘어나요. 이 트레이드오프도 기억해 두세요.