Vision Transformer - 1. Introduction
마케팅하려는 서비스를 완벽하게 이해하는 것은 마케터의 기본자세라고 생각합니다. 저는 동영상을 생성해 주는 AI 서비스를 만드는 회사에서 마케팅을 담당하고 있습니다. 이 과정에서 매일 새로운 기술을 접하며 열심히 공부하고, 마케터로서의 역량을 지속적으로 키워나가고 있습니다.
처음 회사에 입사했을 때, 인공지능의 '인'자도 몰랐던 제가 이제는 어느 정도 지식이 쌓여 투자자들에게 AI 서비스 관련 IR 발표도 하고, 후배들에게 AI 기술에 대해 강의도 해주고 있습니다.
'배움은 나눌수록 더 커진다'라고 생각하는 저는 생성형 AI 기술을 활용한 영상 제작 도구에 대한 마케팅 과정을 나누고, 이 과정에서 얻은 다양한 지식을 공유하고자 합니다. 앞으로 써 내려갈 글들을 통해 마케터들이나 AI에 관심 있는 분들이 한 걸음 더 성장하길 바라며, 저와 함께 발전해 나갈 수 있기를 기대합니다.
기술 설명에 앞서 먼저 '생성형 AI'가 무엇인지 최대한 쉽게 설명해 보도록 하겠습니다.
생성형 AI는 아주 똑똑하고 창의적인 친구라고 생각하면 됩니다. 이 친구는 그림을 그리거나, 이야기를 만들거나, 음악을 작곡할 수 있습니다. 어떻게 그럴 수 있냐고요? 바로 '학습' 덕분입니다.
이 친구는 엄청나게 많은 데이터를 보고 배웁니다. 예를 들어, 수많은 강아지 사진을 보고 나면 스스로 강아지 그림을 그릴 수 있게 됩니다. 그리고 배운 것을 바탕으로 새로운 것을 상상합니다. '이렇게 생긴 강아지도 있을 거야!'라면서 새로운 강아지 그림을 그립니다. 그리고 상상한 것을 실제로 만들어줍니다. 상상한 강아지 그림을 실제로 그려주는 거죠.
여기서 Vision Transformer가 등장합니다. 이 친구는 이미지나 비디오 같은 시각적 정보를 이해하고 처리할 수 있습니다. 이미지를 작은 조각(패치)으로 나누고, 각 조각의 중요성을 파악해서 전체 그림을 만들어냅니다. 전체 이미지를 이해하고, 그것이 무엇인지를 판단하여 출력해 주는 것이죠. 예를 들어, 강아지 사진을 입력하면 '이것은 강아지입니다!'라고 말해줄 수 있습니다.
그럼, 이 친구들이 동영상을 만드는 데 어떻게 활용될까요?
Vision Transformer가 이미지의 세부 사항을 분석하고, 생성형 AI는 이를 바탕으로 새로운 장면을 만들어냅니다. 그리고 생성형 AI는 여러 장면을 자연스럽게 연결하여 하나의 완성된 동영상을 만듭니다. 예를 들어, 강아지가 공을 쫓아가는 장면을 시작으로 공을 잡고 주인에게 돌아가는 이야기를 완성합니다.
특히 Vision Transformer는 이미지를 세밀하게 분석하고, 창의적인 방식으로 이를 활용하여 동영상과 다양한 응용 분야에서 혁신적인 변화를 이끌어내고 있습니다. 이러한 기술은 영화 제작, 광고 영상 제작 등 다양한 분야에서 활용될 수 있습니다.
다음은 Vision Transformer의 주요 기술을 10개의 카테고리로 정리한 내용입니다.
1. Transformer Architecture
Transformer는 Self-Attention 메커니즘과 피드포워드 네트워크로 구성됩니다. 이 구조는 원래 NLP 분야에서 제안되었으나, ViT에서는 이미지를 처리하는 데 사용됩니다. 각 레이어는 인코더와 디코더로 나뉘며, ViT에서는 인코더 부분만 사용됩니다.
2. Patch Embedding
이미지 입력은 고정 크기의 패치로 나누어집니다. 각 패치는 벡터로 변환되어 임베딩 됩니다. 이는 텍스트의 단어를 임베딩하는 것과 유사합니다. 패치 임베딩은 이미지를 작은 조각으로 분할하여 각 조각을 고유한 임베딩 벡터로 변환합니다.
3. Positional Encoding
Transformer 모델은 순차적 데이터를 처리하지 않기 때문에 입력 데이터의 순서를 인식하기 위해 위치 인코딩을 사용합니다. 패치 임베딩에 위치 정보를 추가하여 모델이 각 패치의 위치를 인식할 수 있도록 합니다.
4. Self-Attention Mechanism
Self-Attention은 입력 데이터의 각 부분이 다른 모든 부분과의 관계를 학습할 수 있게 합니다. 이를 통해 각 패치 간의 상호작용을 모델링하여 이미지 내의 중요한 특징을 학습합니다.
5. Multi-Head Attention
Multi-Head Attention은 여러 개의 독립적인 Self-Attention을 병렬로 수행합니다. 이를 통해 다양한 관점에서 패치 간의 관계를 학습할 수 있습니다. 각 헤드는 다른 부분에 집중하여 더 풍부한 표현을 제공합니다.
6. Feed-Forward Neural Networks
Self-Attention 레이어 다음에는 피드포워드 신경망이 있습니다. 이는 각 패치 임베딩 벡터에 비선형 변환을 적용하여 특징을 추출합니다. 피드포워드 네트워크는 두 개의 선형 변환과 하나의 ReLU 활성화 함수로 구성됩니다.
7. Layer Normalization
Layer Normalization은 모델의 각 레이어에서 입력 데이터를 정규화하여 학습의 안정성을 높입니다. 이는 Batch Normalization과 유사하지만, 배치 크기에 독립적입니다.
8. Classification Token
ViT에서는 분류를 위해 특별한 클래스 토큰([CLS])이 사용됩니다. 이 토큰은 다른 패치들과 함께 입력되어 최종 레이어에서 이미지의 전체 정보를 요약하여 분류 작업에 사용됩니다.
9. Pre-training and Fine-tuning
ViT 모델은 대규모 데이터셋에서 사전 학습(pre-training)되고, 이후 특정 작업에 맞게 파인 튜닝(fine-tuning)됩니다. 이는 모델이 일반적인 특징을 학습한 후, 특정 작업에 특화된 특징을 학습할 수 있게 합니다.
10. Applications and Performance
ViT는 이미지 분류, 객체 탐지, 세그멘테이션 등 다양한 컴퓨터 비전 작업에 적용됩니다. ViT는 특히 대규모 데이터셋에서 우수한 성능을 보이며, CNN 기반 모델과 비교하여 효율성과 정확성에서 큰 발전을 이루었습니다.
이와 같이 10개의 카테고리로 Vision Transformer (ViT)의 주요 기술을 정리하면, ViT의 구조와 작동 원리를 체계적으로 이해하는 데 도움이 될 것입니다. 다음에는 위에서 정리한 ViT 주요 기술들을 세부적으로 정리하여 소개하겠습니다.