본문 바로가기
Computer Vision

VLM (Vision-Language Model) 기반 Computer Vision

by pnnote 2025. 4. 29.
반응형

최근 Vision-Language Model (VLM)이 여러 가지 컴퓨터 비전 Task에 적용되어 기술의 패러다임을 바꾸고 있다. VLM은 LMM (Large Multi-modal Model)의 일종으로 Vision과 Language가 결합된 멀티모달 모델 형태다.
VLM은 거대한 이미지-텍스트 데이터로부터 학습되어, 시각과 언어 정보를 동시에 다룰 수 있는 모델을 의미한다.

1. 기존 컴퓨터비전 모델과 VLM 기반 방법의 차이

전통적으로 이미지 인식 모델은 대량의 라벨링된 이미지를 학습하고, 학습된 모델로 추론하는 방식이다. 그러나 VLM은 대규모 이미지-텍스트 pair 데이터를 사전에 학습을 해두고, 이후 별도의 학습 없이도 자연어로 기술된 클래스를 인식하는 제로샷 인식이 가능하다. 이 점은 새로운 객체의 인식 문제에 대해 일일이 모델을 처음부터 학습시키기보다, VLM이 학습한 공간에 텍스트 프롬프트로 질의하여 결과를 얻는 방식이 가능해졌음을 의미한다.

VLM의 베이스적인 기술로는 OpenAI에서 공개한 CLIP (Contrastive Language-Image Pre-Training)이 있다. CLIP 모델은 4억 쌍의 이미지-텍스트로 사전 학습되어서, 해당 정보를 가지고 새로운 멀티모달 Task에도 기반 모델로 활용할 수 있다.

VLM은 Object Detection이나 Segmentation에도 적용할 수 있다. Open-vocabulary Object Detection은 CLIP처럼 사전에 대규모 이미지-텍스트 데이터셋을 학습한 후, 이미지 Encoder를 Detection 파이프라인에 접목시켜 미리 학습되지 않은 새로운 객체도 텍스트 질의로 검출할 수 있다. 하지만 정확한 bounding box regression 등 세부적인 정확도 면에서는, VLM 기반 접근이 전통적인 Object Detector를 완전히 대체했다고 보긴 어렵고, 추가적인 fine-tuning이나 결합 기법이 요구된다.

요약하면, Classification이든 Detection이든 Segmentation이든 VLM이 학습한 멀티모달 특성 공간을 기반으로 해당 작업을 수행하거나 보조하는 방향으로 적용이 가능하다. 기존 모델을 완전히 대체하지는 않더라도, VLM을 backbone feature 추출기로 사용하고 그 위에 얕은 head만 얹는 transfer learning이 흔해졌고, 모델이 다룰 수 있는 개념 범위도 자연어로 확장되고 있다.

2. VLM의 장점과 단점

VLM의 가장 큰 장점은 범용성과 일반화 능력이다. 인터넷에 존재하는 거의 무한에 가까운 이미지-텍스트 쌍을 학습함으로써, VLM은 광범위한 시각 개념과 언어 개념을 연결짓는 지식을 습득할 수 있다. 추가적인 학습 없이 프롬프트만으로 다양한 클래스 인식을 수행하는 등 멀티태스크 활용성이 뛰어나고, 프롬프트 설계(prompting)를 통해 동작하므로, 사용자가 원하는 클래스를 자연어로 지정할 수 있어 유연성이 높다. 이러한 promptable한 특성 덕분에 모델을 다시 학습하지 않고도 새로운 질의를 수행할 수 있고, 학습 시 보지 못한 분포의 이미지에 대해서도 비교적 강인한 성능(robustness)을 보이는 것으로 알려져 있다.​

단점으로는, VLM을 학습하려면 막대한 양의 데이터와 연산 자원이 필요하다. 수억~수십억 쌍의 이미지-텍스트 데이터셋을 처리하고 거대 모델을 학습하는 것은 일반적인 기업에서 매우 고가의 비용을 요구한다. 예컨대 CLIP는 4억쌍 데이터로 학습되었고, 최근에는 10억 쌍 이상으로 확대하는 추세인데, 이러한 리소스를 갖추기가 쉽지 않다. 또 이렇게 학습된 모델이라 해도 모든 과제를 완벽히 수행하는 것은 아니다. VLM은 주로 전체 이미지와 텍스트 간의 전반적 의미 매칭에 초점을 두기 때문에, 세밀한 부분이나 픽셀 단위의 정밀한 예측 능력은 제한적이다.​ 따라서 물체의 위치를 정확히 찾아내거나 경계를 그리는 등 섬세한 비전 작업에는 VLM 단독으로는 한계가 있으며, 이러한 작업에서는 여전히 전통적인 지도 학습이나 특화 모델이 필요하다.​
또 단점으로 후처리나 프롬프트 설계에 민감하다. 예를 들어, 제로샷 분류 시 프롬프트 문구를 어떻게 작성하느냐에 따라 성능 편차가 생길 수 있고, 모델이 편향된 답변을 내놓을 위험도 존재한다.
그리고 추론 속도 측면에서 거대 VLM을 직접 사용하여 매번 토큰 단위로 텍스트를 생성해야 하는 경우, 일반적인 CV 모델보다 느릴 수 있다.
또한, 거대 멀티모달 모델은 학습 데이터에 내재된 편향을 그대로 습득할 수 있고, 이를 교정하기도 어렵다. 학습 측면에서 보면, VLM이 제로샷으로 많은 일을 할 수 있지만 최고의 성능을 얻기 위해서는 결국 일부 fine-tuning이나 어댑터 기법을 병행해야 하는 경우가 있다. 특히 제조, 의료영상 등과 같이 도메인이 특수한 경우에는 VLM을 해당 도메인 데이터로 추가 학습하지 않으면 성능이 떨어질 수 있고, 또는 VLM을 프롬프트 튜닝이나 LoRA 등의 방식으로 fine-tuning해야 원하는 출력 형식을 얻을 수 있다.

있다


3. VLM의 핵심 기술 개념

크로스모달 임베딩 (Cross-Modal Embedding)
VLM의 근간에는 시각과 언어의 공통 표현 공간을 학습하는 개념이 있는데, cross-modal embedding이란 이미지와 텍스트 같이 다른 모달리티의 데이터를 동일한 벡터 공간에 표현하는 것을 의미한다.​ 이렇게 임베딩된 벡터 공간에서 유사한 의미의 이미지와 문장이 서로 가까운 좌표에 위치하게 된다. 이를 통해 멀티모달 검색(이미지로 텍스트 찾기, 텍스트로 이미지 찾기)이 가능해지고, 하나의 표현으로 두 모달의 연관성을 계산할 수 있다​.

 

대조학습 (Contrastive Learning)
크로스모달 임베딩을 효과적으로 학습하기 위해 대조적 학습(contrastive learning) 기법이 널리 활용된다. contrastive learning은 짝 지어진 양성 데이터(positive pair)의 임베딩 거리는 가깝게 만들고, 짝이 아닌 음성 데이터(negative pair)의 거리는 멀어지도록 학습하는 방법이다. VLM 맥락에서 올바른 이미지-텍스트 쌍의 임베딩은 코사인 유사도 등을 크게 하고, 잘못된 쌍은 유사도를 작게 만드는 방향으로 모델을 학습한다. 이를 위해 보통 InfoNCE loss 등의 대조 손실 함수를 사용하며, 하나의 미니배치 내에서 이미지-텍스트의 모든 조합 중 정답인 1쌍 vs. 나머지 부정 예를 대비시켜 학습한다. CLIP에서는 256장의 이미지와 256개의 문장으로 이루어진 배치에서 올바른 256쌍을 맞추도록 학습하는데, 이 때 총 256×255개의 부정 예와 256개의 정답 예를 대조한다. 이러한 이미지-텍스트 contrastive learning 덕분에 모델은 시각과 언어의 구별력 있는 특징 표현을 얻게 되고, 학습이 끝나면 이미지 임베딩과 텍스트 임베딩 간 유사도 계산만으로도 두 모달의 의미적 관련성을 판단할 수 있다.

 

Dual Encoder vs Fusion Encoder
VLM 아키텍처의 또 다른 핵심 개념은 모달리티 간 정보 융합 방식이다. 크게 두 가지로 나눌 수 있는데, dual-encoder 구조와 fusion-encoder 구조가 있다.​
dual-encoder는 이미지와 텍스트를 각각 별개의 인코더(신경망)로 임베딩한 후, 최종적으로 두 임베딩을 벡터 공간에서 비교하는 방식이다. CLIP이나 ALIGN이 이 방식으로, 이미지 인코더(예: ResNet or ViT)와 텍스트 인코더(Transformer 등)를 독립적으로 거쳐 나온 두 벡터의 내적(dot product)이나 유사도 점수로 상호작용한다.
dual-encoder의 장점은 계산 효율으로, 이미지와 텍스트 임베딩을 미리 계산(pre-compute) 해둘 수 있어 대규모 검색이나 실시간 추론에 유리하며, 구조가 분리되어 있어 확장성이 높다는 점이다. 단점은 얕은 상호작용만 일어난다는 점인데, 이미지와 텍스트가 인코더 내부에서 서로 정보를 주고받지 않으므로, 복잡한 질문 응답처럼 깊은 멀티모달 추론에는 한계가 있을 수 있다.
fusion-encoder는 두 모달 데이터를 합쳐 하나의 인코더(주로 Transformer)에 넣어 동시에 처리하는 구조다. 예를 들어, ViLBERT나 UNITER 같은 모델은 이미지 특징과 텍스트 토큰을 한 시퀀스로 합친 후 cross-attention을 통해 풍부한 상호작용을 학습한다. 이렇게 하면 텍스트의 특정 단어가 이미지의 특정 부분과 직접 어텐션을 주고받으면서 세밀한 속성 묘사나 관계 이해가 가능해진다. fusion 구조의 장점은 모달리티 간 깊은 통합으로, VQA(시각질의응답)나 image captioning처럼 이미지를 보고 문장을 생성하는 작업에 적합하다. 하지만 단점은 매 입력마다 두 모달을 함께 계산해야 하므로 추론 비용이 크고, 이미지나 텍스트를 미리 임베딩해둘 수 없으므로 유연성이 낮다.

최근에는 Microsoft의 VLMo처럼 하나의 거대 모델 안에 dual-encoder와 fusion-encoder의 모듈을 혼합하여 두 방식의 장점을 모두 취하려는 시도도 있다.​

반응형