연구

벡터 임베딩의 멀티모달 진화

제임스 러

벡터 임베딩은 단일 모달리티의 텍스트 및 이미지 표현에서 시각, 청각 및 시간적 정보를 아울러 포착하는 멀티모달 시스템으로 진화했습니다. 이는 YouTube, Spotify, Pinterest와 같은 기업에서 현대식 비디오 검색, 추천 및 분류 시스템을 구축하는 기반이 되고 있습니다.

벡터 임베딩은 단일 모달리티의 텍스트 및 이미지 표현에서 시각, 청각 및 시간적 정보를 아울러 포착하는 멀티모달 시스템으로 진화했습니다. 이는 YouTube, Spotify, Pinterest와 같은 기업에서 현대식 비디오 검색, 추천 및 분류 시스템을 구축하는 기반이 되고 있습니다.

목차

No headings found on page

뉴스레터 구독하기

뉴스레터 구독하기

영상 이해 분야의 최신 기술 업데이트, 튜토리얼 및 인사이트를 받아보세요.

영상 이해 분야의 최신 기술 업데이트, 튜토리얼 및 인사이트를 받아보세요.

AI로 영상을 검색하고, 분석하고, 탐색하세요.

2023. 8. 9.

20분

링크 복사하기

딥러닝 모델의 구현은 데이터 중심 제품을 구축하려는 기업들에게 점점 더 중요한 머신러닝 전략이 되고 있습니다. 딥러닝 모델을 빌드하고 실행하기 위해 기업들은 수억 테라바이트에 달하는 멀티모달 데이터를 수집하여 딥러닝 모델에 입력합니다. 그 결과, 딥러닝 모델이 입력 데이터를 내부적으로 표현한 형태인 임베딩(embeddings)은 머신러닝 시스템 구축에 있어 빠르게 핵심 구성 요소로 자리 잡고 있습니다.

대표적인 예로, 임베딩은 Spotify의 아이템 추천 시스템, YouTube의 맞춤 동영상 추천, 그리고 Pinterest의 비주얼 검색에서 상당한 비중을 차지합니다. 추천 시스템 UI를 통해 사용자에게 명시적으로 표시되지 않더라도, 임베딩은 Netflix와 같은 곳에서 사용자 선호도의 인기를 기반으로 어떤 프로그램을 제작할지 콘텐츠 관련 의사결정을 내리는 데 내부적으로 사용됩니다.

콘텐츠의 압축되고 문맥에 특화된 표현을 생성하기 위해 임베딩을 사용하는 방식은 Google의 Word2Vec 논문이 발표된 이후 선풍적인 인기를 끌기 시작했습니다. Word2Vec의 개념을 기반으로 이를 확장한 트랜스포머(Transformer) 아키텍처는 셀프 어텐션(self-attention) 메커니즘을 통해 주어진 단어 주변의 문맥을 계산하는 훨씬 더 전문화된 방식을 제공하며, 증가하는 멀티모달 어휘의 표현을 학습하는 표준적인 방법이 되었습니다. 학계와 산업계 모두에서 트랜스포머의 인기가 높아짐에 따라 임베딩은 딥러닝 워크플로우의 필수 요소가 되었습니다.

하지만 임베딩은 데이터 흐름의 입력도 출력 결과도 아닌, 모델을 미세 조정하기 위해 머신러닝 서비스 내에 존재하는 중간 요소이기 때문에 그 개념이 모호하게 느껴질 수 있습니다. 따라서 처음부터 임베딩을 명확하게 정의하는 것이 도움이 됩니다.

1 - 임베딩이란 무엇인가요?

밀집 임베딩(dense embedding)은 하나의 개념과 관련된 정보를 여러 요소에 분산시키는 벡터로, 각 요소를 개별적으로 조정할 수 있어 상대적으로 저차원 공간에서 더 많은 개념을 효율적으로 인코딩할 수 있음을 의미합니다. 이러한 표현 방식은 로컬에서 개념의 존재 여부를 1의 값으로 나타내고 다른 요소는 0의 값으로 나타내는 원핫 인코딩(one-hot encoding)과 같은 심볼릭 표현 방식과 비교할 수 있습니다.

딥러닝에서 '임베딩'이라는 용어는 흔히 단어나 이미지 카테고리를 나타내는 원핫 벡터를 실수 값으로 이루어진 분산 표현으로 매핑하는 것을 의미합니다. 구체적으로 임베딩 프로세스는 다음 세 단계를 포함합니다:

  1. 멀티모달 입력을 점진적인 연산을 수행하기 더 쉬운 형태인 벡터, 텐서 또는 그래프의 표현으로 변환합니다.

  2. 블로그 게시물 요약이나 대규모 비디오 코퍼스에 대한 의미론적 검색(semantic search)과 같은 머신러닝 작업을 위해 입력 정보를 압축합니다. 압축 프로세스는 가변적인 특징 차원을 고정된 입력으로 변경하여 머신러닝 시스템의 다운스트림 구성 요소로 효율적으로 전달될 수 있도록 합니다.

  3. 임베딩이 학습된 데이터에 특화된 임베딩 공간을 생성하지만, 딥러닝 표현의 경우에는 전이 학습(transfer learning)을 통해 다른 작업 및 도메인으로도 일반화될 수 있습니다.

단어, 이미지 또는 비디오에 대한 임베딩을 생성하여 다차원 공간에 아티팩트를 표현하는 것은 우리에게 많은 가능성을 열어줍니다. 예를 들어, 비디오 추천 시스템에서 콘텐츠 이해에 집중하는 작업의 경우, 주어진 두 아이템을 비교하여 유사도를 평가하고자 할 때가 많습니다. 비디오를 벡터로 변환하고 공유된 임베딩 공간에서 비디오 프레임을 비교함으로써 수학적으로 매우 정밀하게 이 작업을 수행할 수 있습니다.

2 - 단일 모달(Unimodal) 임베딩

2.1 - 언어 표현

텍스트 임베딩은 단어나 구절을 저차원 공간의 실수형 벡터로 매핑하는 텍스트 데이터의 표현 방식입니다. 이러한 벡터는 텍스트의 의미와 문맥을 포착하여 다양한 자연어 처리(NLP) 작업을 가능하게 합니다. 검색 엔진, 제품 추천, 소셜 미디어 콘텐츠 모더레이션, 이메일 스팸 필터링, 고객 지원 챗봇 등 많은 NLP 애플리케이션에서 활용되고 있습니다.

텍스트 임베딩은 텍스트에서 고차원 특징을 추출하여 고정된 크기의 차원 벡터(예: 1,500차원)로 변환하는 신경망을 사용하여 생성할 수 있습니다. 이러한 임베딩은 텍스트 데이터를 비교하고 분석하는 데 사용되어 텍스트 분류, 텍스트 검색, 텍스트 요약과 같은 작업을 수행할 수 있게 해줍니다.

과거에는 LSTM(long short-term memory) 또는 GRU(gated recurrent unit) 언어 모델과 같은 순환 신경망이 현재 단어를 예측할 때 고정 길이의 순환 벡터에 저장된 모든 과거 단어의 정보를 통합했습니다. 워드 임베딩을 생성하기 위해 흔히 사용되는 다른 방법으로는 CBOW(continuous bag-of-words) 모델, skip-grams, GloVe(global vectors) 등이 있습니다.

2017년 이후로 트랜스포머는 텍스트 임베딩을 학습하는 데 집중적으로 사용되어 왔습니다. 바닐라 트랜스포머(Vanilla Transformer)는 원래 NLP를 위해 제안된 모델로, 셀프 어텐션 메커니즘을 사용하여 다양한 NLP 작업에서 최고 수준의 성능(state-of-the-art)을 달성했습니다. 바닐라 트랜스포머의 성공 이후 BERT, BART, GPT, Longformer, Transformer-XL, XLNet 등 수많은 파생 모델이 제안되었습니다. 사전 학습된 트랜스포머 모델은 강력한 텍스트 임베딩 생성기가 될 수 있습니다.

2.2 - 시각적 표현

이미지 임베딩은 이미지를 저차원 공간의 실수형 벡터로 표현하는 방법입니다. 이러한 벡터는 이미지의 시각적 콘텐츠를 포착하며, 이미지 검색, 객체 탐지, 얼굴 인식, 콘텐츠 기반 이미지 검색과 같은 다양한 컴퓨터 비전 작업에 사용될 수 있습니다.

이미지 분류 모델(AlexNet, VGGNet, GoogLeNet, ResNet 등)의 최종 레이어 출력값을 사용하여 이미지 임베딩을 얻을 수 있습니다. 이 모델들은 2012년, 2014년, 2015년에 ImageNet 이미지 분류 경진대회(ILSVRC)에서 우승을 차지했습니다. 이미지 임베딩은 이미지 데이터를 비교하고 분석하는 데 사용되어 이미지 분류, 이미지 검색, 이미지 유사도 검색 등의 작업을 가능하게 합니다.

또는 객체 탐지 모델이 식별한 선택적 영역의 컨볼루션 특징 및 관련 클래스 라벨과 같이 더 직접적인 특징을 시각적 임베딩으로 사용할 수도 있습니다. 이러한 접근 방식을 사용하는 모델로는 R-CNN(region-based CNN), Fast R-CNN, Faster R-CNN 등이 있습니다.

트랜스포머는 현재 NLP에서 가장 인기 있는 도구이며, 연구자들은 이제 이를 시각 도메인과 같은 다른 영역에서 어떻게 활용할 수 있을지 탐색하고 있습니다. 그러한 영역 중 하나로 트랜스포머의 인코더를 이미지에 적용하는 비전 트랜스포머(Vision Transformer, ViT)의 사용이 있습니다. ViT와 그 변형 모델들은 저수준 작업(low-level tasks), 인식, 탐지, 세분화(segmentation)를 포함한 다양한 컴퓨터 비전 작업에 성공적으로 사용되어 왔습니다. 이들은 지도 학습과 자기지도 시각 학습(self-supervised visual learning) 모두에서 우수한 성능을 발휘합니다. 최근 연구들은 내부 표현의 견고함(robustness) 및 잠재 표현 전파의 연속적인 동작 등 ViT에 대한 추가적인 이해를 제공하고 있습니다. 사전 학습된 ViT 모델은 강력한 이미지 임베딩 생성기가 될 수 있습니다.

2.3 - 오디오 표현

오디오 임베딩은 오디오 신호의 음향적 콘텐츠를 조밀하고 의미 있는 방식으로 포착하는 오디오 신호의 수치적 표현입니다. 이러한 벡터는 오디오 신호의 의미론적 및 문맥적 정보를 포착하는 것을 목표로 합니다. 오디오 처리, 특히 오디오 분류, 오디오 검색, 화자 인식, 음악 추천과 같은 작업에서 다양하게 응용됩니다.

이러한 오디오 임베딩을 생성하기 위해 AudioSet 또는 UrbanSound와 같은 대규모 오디오 데이터셋으로 학습된 VGGish 또는 SoundNet 같은 사전 학습 모델을 사용할 수 있습니다. 이러한 모델들은 오디오 신호에서 스펙트로그램 또는 멜 주파수 케프스트럼 계수(MFCCs)와 같은 고차원 특징을 추출하고 이를 임베딩으로 인코딩할 수 있습니다.

언어 및 시각 도메인과 마찬가지로, 트랜스포머 아키텍처를 활용하여 오디오 임베딩을 생성할 수도 있습니다. 대표적인 예로는 PaSST, Audio Transformer, CTAL, SSAST, Audio Spectrogram Transformer 등이 있습니다.

3 - 멀티모달(Multimodal) 임베딩

시각, 언어 또는 음성을 표현하는 데 있어 상당한 진전이 있었지만, 단 하나의 모달리티만 사용하여 인간의 개념 전체를 모델링하는 것은 이론적으로 불충분합니다. 예를 들어 '아름다운 그림'이라는 아이디어는 시각적 표현에 기반을 두고 있기 때문에 자연어나 다른 비시각적 방식으로 설명하기 어렵습니다. 그렇기 때문에 이러한 개념을 더 잘 표현하기 위해 여러 모달리티를 사용하는 공동 임베딩(joint embeddings)을 학습하는 것이 중요합니다. 일반적으로 멀티모달 AI 분야는 멀티모달 데이터에서 에센셜한 임베딩을 추출할 수 있는 AI 시스템 구축을 목표로 합니다.

3.1 - 멀티모달 AI에 관한 간단한 노트

멀티모달 AI는 최근 수십 년 동안 중대한 연구 분야였습니다. 우리가 살고 있는 세상은 멀티모달 환경이며, 우리의 관찰과 행동 모두 멀티모달적입니다. 예를 들어, AI 자율주행 로봇은 실제 환경을 인지하기 위해 멀티모달 센서가 필요합니다. 이러한 센서에는 카메라, LiDAR, 레이더, 초음파, GNSS, 고정밀 지도(HD Map), 오도메터 등이 포함됩니다. 또한, 인간의 행동, 감정, 이벤트, 행동 및 유머 역시 멀티모달적입니다. 결과적으로 멀티모달 감정 인식, 멀티모달 이벤트 표현, 멀티모달 유머 이해, 얼굴-신체-음성 기반 비디오 인물 클러스터링 등 인간 중심의 다양한 멀티모달 AI 작업이 활발히 연구되고 있습니다.

인터넷 기술의 발전과 스마트 기기의 보급 덕분에 웹을 통해 전송되는 멀티모달 데이터의 양은 계속해서 증가하고 있습니다. 이는 수많은 멀티모달 애플리케이션 시나리오의 발전을 가져왔습니다. 오늘날 우리는 상업적 서비스(이커머스 검색, 시각-언어 탐색, 시각-청각 탐색 등), 커뮤니케이션 방법(구독(lip-reading)수어 번역), 인간-컴퓨터 상호작용, 의료 AI, 보안 관제 AI 등 광범위한 영역에서 이러한 애플리케이션을 접하고 있습니다.

딥러닝 시대에 멀티모달 AI는 심층 신경망 덕분에 획기적인 발전을 이루었습니다. 가장 경쟁력 있는 아키텍처 중 하나는 트랜스포머로, 이는 멀티모달 AI에 새로운 도전과 기회를 제공하고 있습니다. 거대 언어 모델과 Frozen, VL-Adapter, Flamingo, BEiT, PaLI 등 멀티모달 파생 모델들의 최근 성공은 트랜스포머가 멀티모달 AI를 위한 파운데이션 모델을 생성하는 데 있어 핵심적인 잠재력을 가지고 있음을 보여줍니다.

3.2 - 멀티모달 사전 학습

2021년, CLIP이 제안되면서 새로운 이정표가 세워졌습니다. CLIP은 멀티모달 사전 학습을 사용하여 분류 문제를 검색 작업으로 변환하며, 이를 통해 사전 학습된 모델이 제로샷(zero-shot) 인식 작업을 해결할 수 있도록 합니다. 이처럼 CLIP은 대규모 멀티모달 사전 학습을 완전하게 활용하여 제로샷 학습을 가능하게 한 성공적인 프랙티스입니다. 이는 많은 멀티모달 작업의 주요 돌파구가 되었습니다. 최근에는 CLIP 사전 학습 모델 기반 제로샷 시맨틱 세그멘테이션, ALIGN, MAD, ALBEF, CoCa 등의 다른 연구들에서 CLIP의 아이디어가 더욱 깊이 있게 탐구되고 있습니다.

3.3 - 멀티모달 빅데이터 트렌드

최근 몇 년 동안 소셜 미디어 및 온라인 쇼핑과 같은 새로운 애플리케이션의 등장과 함께 인터넷이 급속도로 발전했습니다. 이에 따라 많은 새로운 멀티모달 데이터셋이 생성되었습니다. 가장 잘 알려진 것들로는 Conceptual Captions, COCO, VQA, Visual Genome, SBU Captions, Cooking312K, LAIT, e-SNLI-VE, ARCH, Adversarial VQA, OTT-QA, MultiModalQA, VALUE, Fashion IQ, LRS2-BBC, ActivityNet, VisDial 등이 있습니다.

이러한 데이터셋들의 새로운 트렌드는 다음과 같습니다:

  1. 데이터셋의 규모가 점점 확장되고 있습니다. 최근 출시된 것 중 일부는 Product1M, Conceptual12M, RUC-CAS-WenLan (30M), HowToVQA69M, HowTo100M, ALT200M, LAION-400M, LAION-5B처럼 수백만에서 수십억 단위에 이르는 규모입니다.

  2. 더 많은 모달리티가 통합되고 있습니다. 시각, 텍스트, 오디오 외에도 Pano-AVQA(360도 비디오에 대한 최초의 대규모 공간 및 시청각 질의응답 데이터셋), YouTube-360 (YT-360)(360도 비디오), AIST++(3D 댄스 동작과 음악으로 구성된 수려한 멀티모달 데이터셋), ArtEmis(시각 예술을 위한 감성 언어) 등 새롭고 다양한 모달리티가 등장하고 있습니다. 놀랍게도 MultiBench는 무려 10개의 모달리티를 포함하는 데이터셋입니다.

  3. 적용 범위가 확대되고 있습니다. 일반적인 캡션 및 QA 데이터셋을 넘어, CIRR(실제 이미지), Bed and Breakfast (BnB)(시각 및 언어 기반 탐색), M3A(금융 데이터셋), X-World(자율 주행) 등 더 많은 애플리케이션과 시나리오가 연구되고 있습니다.

  4. 작업의 난이도가 더욱 높아지고 있습니다. 직관적인 작업 외에도 메타포 이해를 위한 멀티모달 데이터셋인 MultiMET이나 멀티모달 밈 속의 혐오 표현을 판별하는 Hateful Memes와 같이 훨씬 더 추상적인 멀티모달 작업들이 제안되고 있습니다.

  5. 하우투(Instructional) 비디오가 점점 인기를 얻고 있습니다. 대표적으로 YouCook2의 요리 비디오 등이 있습니다. 일련의 지시 사항을 특정 작업을 수행하는 사람의 비디오에 정렬하는 것은 강력한 사전 학습 프레텍스트 작업(pretext task)의 예시입니다(What’s Cookin’? 참고). 프레텍스트 작업은 모델이 이를 해결하는 과정에서 유용한 표현을 자연스럽게 학습하도록 설계된 사전 작업입니다.

트랜스포머는 다른 딥러닝 신경망 아키텍처와 마찬가지로 방대한 데이터를 필요로 합니다. 따라서 대용량 모델과 멀티모달 빅데이터 기반이 결합되어 트랜스포머 기반 멀티모달 머신러닝의 전성기를 함께 이끌어가고 있습니다. 예를 들어, 빅데이터는 VLP 트랜스포머 모델에 제로샷 학습 기능을 불어넣어 줍니다.

4 - 비디오 표현

많은 사용자가 정보를 생성하고 전달하는 수단으로 비디오를 선택하고 있습니다. 이미지, 움직임, 사운드가 결합되어 몰입감 있고 유익한 정보를 제공하는 훌륭한 매체이기 때문입니다. 그러나 비디오 데이터는 이미지, 언어, 오디오를 동시에 처리해야 하므로 작업 관리가 까다로울 수 있습니다(즉, 비디오 자체가 멀티모달입니다). 이에 더불어 고차원의 데이터를 다루고 동적 움직임을 모델링하는 것은 비디오 영역만의 고유한 과제입니다.

비디오 임베딩은 비디오의 시각적, 언어적, 청각적 콘텐츠를 압축적이고 유의미한 방식으로 포착하는 수치적 표현입니다. 자연어 처리에서 단어 임베딩이 단어를 밀집 벡터로 나타내는 것과 마찬가지로, 비디오 임베딩은 비디오의 의미론적이고 문맥적인 정보를 포착하는 것을 목표로 합니다.

비디오 임베딩은 컴퓨터 비전 및 멀티미디어 분석에서 다양하게 활용됩니다. 비디오 분류, 비디오 검색, 비디오 요약, 비디오 추천 등의 작업에 사용할 수 있습니다. 예를 들어, 비디오를 임베딩으로 표현하면 메타데이터나 텍스트 설명에만 진정으로 의존하는 대신 콘텐츠를 바탕으로 유사한 비디오를 비교하고 검색하기가 훨씬 쉬워집니다.

트랜스포머 아키텍처는 유연성이 높아서 다양한 유형의 데이터를 모델링하는 데 사용할 수 있습니다. 최근에는 트랜스포머를 비디오 모델링에 맞게 조정한 많은 비디오 트랜스포머(Video Transformer) 연구가 진행되었습니다. 트랜스포머에 입력하기 전에 비디오는 몇 가지 전처리 과정을 거쳐야 합니다. 이 과정에는 토큰화(tokenization), 임베딩(embedding), 포지셔닝(positioning)이 포함됩니다. 예를 들어 위의 그림은 Video Vision Transformer 논문에서 발췌한 것입니다. 저자들은 비디오를 토큰 시퀀스로 매핑하는 두 가지 단순한 방법(균일 프레임 샘플링 및 튜브릿 임베딩)을 고려하고 고안했습니다. 그런 다음 위치 임베딩(positional embedding)을 추가하고 토큰들의 형태를 변형하여 트랜스포머에 입력될 최종 입력을 얻어냅니다.

토큰화, 임베딩, 포지셔닝에 대한 세부 전략은 해결하려는 비디오 모델링 작업과 사용 가능한 데이터의 특성에 따라 달라질 수 있습니다.

4.1 - 비디오 토큰화 기술

토큰화는 비디오를 트랜스포머 모델의 입력으로 사용할 수 있는 '토큰(token)'이라는 더 작은 단위로 분할하는 과정입니다. 비디오 가공에 흔히 사용되는 토큰화 기술은 다음과 같습니다:

1 - 프레임 수준 토큰화 (Frame-level tokenization)

이 기술에서는 비디오의 각 프레임을 하나의 토큰으로 취급합니다. 프레임들은 순차적으로 인코딩되어 트랜스포머 모델에 입력됩니다. 이 접근 방식을 통해 모델은 프레임 수준에서 시간적 정보를 포착할 수 있습니다.

2 - 클립 수준 토큰화 (Clip-level tokenization)

각 프레임을 개별 토큰으로 다루는 대신, 연속된 프레임들을 하나의 클립으로 그룹화하는 기술입니다. 각 클립은 토큰화되어 하나의 단위로 처리됩니다. 이 접근 방식은 토큰의 수를 줄여주므로 재생 시간이 긴 비디오를 처리할 때 더 효율적입니다.

3 - 공동 토큰화 (Co-tokenization)

이 기술은 비디오와 그에 대응하는 텍스트 설명을 함께 토큰화하는 과정이 수반됩니다. 비디오 토큰과 텍스트 토큰을 융합하여 시각적 및 텍스트 정보를 모두 담은 공동 표현을 생성합니다. 이 접근 방식은 비디오 질의응답 작업에서 효과적인 성능을 보여왔습니다.

4 - 객체 수준 토큰화 (Object-level tokenization)

비디오 내에서 관심 있는 객체나 영역을 탐지하고 세분화하여, 각 객체 또는 영역을 별개의 토큰으로 다루는 기술입니다. 이 접근 방식은 객체 탐지나 행동 인식과 같은 작업에 유용하게 사용될 수 있습니다.

4.2 - 비디오 임베딩 전략

비디오 모델에서 사용되는 서로 다른 임베딩 전략은 성능에 다양한 영향을 미칠 수 있습니다. 대표적인 예는 다음과 같습니다:

1 - 이미지 기반 임베딩 (Image-based embedding)

Inception-V3나 ResNet과 같이 사전 학습된 이미지 모델을 사용하여 비디오의 각 프레임에서 시각적 특징을 추출하는 전략입니다. 그 후 풀링(pooling)이나 전결합층(fully connected layers)과 같은 기술을 통해 이러한 특징들을 임베딩으로 변환합니다. 이미지 기반 임베딩은 상세한 시각적 정보를 훌륭히 포착할 수 있어 객체 탐지나 장면 이해와 같은 작업에 효과적입니다.

2 - 오디오 기반 임베딩 (Audio-based embedding)

시각적 특징 외에도 비디오에서 오디오 특징을 추출할 수 있습니다. 스펙트로그램 분석이나 오디오 임베딩 기술을 사용하여 오디오 신호를 벡터 표현으로 변환할 수 있습니다. 오디오 기반 임베딩은 사운드 관련 정보를 포착하여 시청각 동기화나 사운드 이벤트 탐지 등의 작업에 유용하게 쓰입니다.

3 - 공동 시청각 임베딩 (Joint audio-visual embedding)

시각적 특징과 오디오 특징을 결합하여 공동 임베딩을 구성하는 전략입니다. 두 모달리티 간의 상관관계를 포착할 수 있도록 시각 및 오디오 특징은 일반적으로 모델 아키텍처의 특정 시점에서 융합됩니다. 공동 임베딩은 비디오 캡셔닝이나 비디오 검색과 같은 작업에 유용할 수 있습니다.

4 - 시간적 임베딩 (Temporal embedding)

시간적 임베딩 전략은 비디오의 시간적 동역학(dynamics)을 포착하는 데 중점을 둡니다. 이는 광학 흐름(optical flow)이나 모션 벡터와 같은 시간 정보를 임베딩 프로세스에 통합함으로써 수행됩니다. 시간적 임베딩은 모델이 비디오 속 서로 다른 프레임이나 클립 간의 움직임 및 시간적 관계를 이해하는 데 도움을 줍니다.

5 - 공간적 임베딩 (Spatial embedding)

공간적 임베딩 전략은 비디오 안에서 관심 있는 서로 다른 영역 간의 공간적 관계를 포착하는 것을 목표로 합니다. 이는 영역 기반 임베딩이나 특정 공간적 위치에 주목하는 어텐션 메커니즘을 사용하여 달성할 수 있습니다. 공간적 임베딩은 객체 추적이나 행동 인식 같은 작업에 유용합니다.

4.3 - 위치 임베딩(Positional Embeddings)의 역할

셀프 어텐션(Self-attention)은 트랜스포머의 핵심 연산입니다. 시퀀스 안의 다른 임베딩 정보들로 각 토큰 임베딩을 강화합니다. 셀프 어텐션은 집합 단위로 작동하기 때문에, 비디오의 시공간적 구조를 온전히 활용하려면 위치 정보를 표시해 주는 것이 매우 중요합니다. 이는 트랜스포머 내에서 비디오 프레임이나 클립의 시간적 위치 정보를 인코딩하는 위치 임베딩(positional embeddings, PE)을 사용하여 수행됩니다.

트랜스포머 모델에서 비디오 데이터를 다룰 때 자주 사용되는 포지셔닝 방법은 다음과 같습니다:

1 - 학습된 위치 임베딩 (Learned positional embedding)

트랜스포머 모델을 학습하는 동안 위치 인코딩을 함께 학습하는 방식입니다. 모델은 비디오 시퀀스 내에서 프레임이나 클립의 상대적 위치를 인코딩하는 방법을 학습합니다. 이 방법을 사용하면 모델이 비디오 데이터의 시간적 순서를 자연스럽게 포착할 수 있습니다.

2 - 고정된 위치 인코딩 (Fixed positional encoding)

이 방식에서는 고정된 형태의 위치 인코딩이 비디오 임베딩에 추가됩니다. 이러한 인코딩은 비디오 시퀀스 내 프레임이나 클립의 절대적인 위치 정보를 제공합니다. 고정된 위치 인코딩은 사인 및 코사인 함수 또는 기타 미리 정의된 패턴을 기반으로 할 수 있습니다.

3 - 상대적 위치 인코딩 (Relative positional encoding)

비디오 시퀀스 내 프레임 또는 클립 간의 상대적인 위치 정보를 반영하는 방식입니다. 연속되는 프레임이나 클립 사이의 거리 또는 시간 간격을 고려합니다. 상대적 위치 인코딩은 트랜스포머 모델의 추가 입력으로 전달되거나 셀프 어텐션 메커니즘에 직접 통합될 수 있습니다.

4 - 하이브리드 접근 방식 (Hybrid approaches)

비디오 데이터의 절대적 위치와 상대적 위치를 모두 포착하기 위해 다양한 유형의 위치 인코딩을 결합하는 방법입니다. 여기에는 고정된 위치 인코딩과 학습된 위치 인코딩을 조합하여 사용하거나, 셀프 어텐션 메커니즘에 상대적인 위치 정보를 통합하는 방식 등이 포함될 수 있습니다.

5 - 프로덕션 환경에서의 임베딩

임베딩 기반의 엔지니어링 시스템(예: 파운데이션 모델 구축)은 빌드하고 유지 관리하는 데 컴퓨팅 비용이 많이 들 수 있습니다. 최근 임베딩의 생성, 저장 및 관리 필요성이 대두되면서 관련 제품의 강력한 에코시스템이 폭발적으로 정립되기 시작했습니다. 특히, 머신러닝 시스템에서 최근접 이웃(nearest neighbors) 의미론적 쿼리를 프로덕션 환경에 즉시 사용할 수 있도록 지원하는 벡터 데이터베이스 분야의 눈부신 발전이 주목받고 있습니다.

5.1 - 실무에서의 임베딩

프로덕션 환경에서는 활용 가능한 GPU 자원이 충분하다면 독자적인 임베딩 모델을 직접 학습시켜 모델 내부 동작을 긴밀하게 파악할 수 있습니다. 또는 사전 학습된 임베딩을 가져와 특정 유스케이스에 맞게 조정하여 사용할 수도 있습니다. 오늘날 우수한 역량을 갖춘 많은 기업이 이 두 가지 방식을 모두 활용하여 임베딩을 실무에 적용하고 있습니다. 특히 YouTube는 생산형 추천 시스템 맥락에서 비디오 임베딩 연구를 공식적으로 공유한 최초의 대기업 중 하나로, 당시 "YouTube 추천을 위한 심층 신경망(Deep Neural Networks for YouTube Recommendations)" 논문을 배포했습니다.

YouTube는 8억 개 이상의 콘텐츠(영상)와 26억 명의 활성 사용자를 보유하고 있으므로, 사용자에게 기존 콘텐츠를 빠르고 예리하게 추천하는 동시에 끊임없이 업로드되는 새로운 콘텐츠로도 안정적으로 일반화할 수 있어야 합니다. 이러한 맞춤 추천은 사용자가 새 페이지를 로드하는 추론 시점(inference time)에 지연 시간(latency)을 줄여 실시간으로 신속하게 서빙되어야 합니다.

YouTube는 두 개의 딥러닝 모델을 기반으로 2단계 비디오 추천 시스템을 구축한 노하우를 공유했습니다. 여기서 머신러닝 작업은 YouTube 추천 화면에서 특정 시점에 사용자가 클릭할 만한 가장 적절한 다음 비디오를 예측하는 것입니다. 최종 출력은 다음과 같은 분류 문제로 정의됩니다: 사용자의 입력 특징과 비디오의 입력 특징이 주어졌을 때, 사용자가 특정 비디오를 시청할 것으로 예측되는 시간과 확률을 포함하여 사용자에 대한 클래스를 결정할 수 있는가?

이 모델을 개발하기 위해 두 가지 임베딩 세트를 입력 데이터로 사용합니다: (1) 사용자와 해당 컨텍스트를 특징으로 표현하는 임베딩, (2) 비디오 아이템을 표현하는 임베딩. 이 모델에는 정형 데이터 기반의 특징과 함께 임베딩 기반의 특징을 포함한 수많은 변수가 활용됩니다. 임베딩 기반 특징에는 다음이 포함됩니다:

  • 사용자 시청 기록 - 사용자가 지금까지 어떤 비디오를 시청했는지 보여주는 벡터로, 희소(sparse) 비디오 ID가 밀집(dense) 벡터로 매핑된 형태입니다.

  • 사용자 검색 기록 - 사용자가 특정 검색어를 입력한 후 어떤 비디오를 클릭했는지 나타냅니다. 이 또한 사용자 시청 기록과 동일한 공간에 매핑된 희소 벡터로 표현됩니다.

  • 사용자의 지역, 연령, 성별 - 정형 성격의 테이블 특징으로 표현됩니다.

  • 시간이 경과함에 따라 사용자별로 정규화된, 특정 영상이 이전에 노출된 횟수.

이 모든 특징이 결합되어 하나의 아이템 임베딩(item embedding)을 이룹니다. 사용자 측면에서는 모든 임베딩 성분이 블렌딩되어 하나의 사용자 임베딩(user embedding)이 됩니다. 이 임베딩들은 모델의 소프트맥스(softmax) 레이어로 공급됩니다. 소프트맥스 레이어는 해당 출력값(즉, 사용자가 아이템과 상호작용할 확률)을 실제 정답(ground truth) 아이템 집합과 비교합니다. 정답 아이템은 사용자가 이미 상호작용한 적이 있는 아이템들을 의미합니다. 어떤 아이템의 로그 확률은 질의(query) 임베딩과 아이템 임베딩이라는 두 개의 n차원 벡터의 내적(dot product)으로 정의됩니다.

5.2 - 엔지니어링 관점에서의 임베딩 과제

임베딩을 사용하는 프로덕션 수준의 머신러닝 시스템은 임베딩 생성 및 저장, 개념 드리프트(concept drift) 감지, 추론 및 지연 시간 최적화, 오프라인 및 온라인 시스템 평가 등 수많은 유기적 구성 요소로 이루어져 있습니다. 이 중 임베딩과 가장 직접적으로 연관된 처음 두 단계에 대해 살펴보겠습니다.

임베딩 생성 (Embeddings Generation)

우리는 임베딩이 일반적으로 신경망 모델 학습의 부산물로 생성된다는 점을 살펴보았습니다. 보통 분류나 회귀 분석을 위해 최종 출력 레이어 직전에 위치한 뒤에서 두 번째 레이어가 사용됩니다. 이러한 임베딩을 생성하는 데에는 두 가지 접근 방식이 있습니다. 첫째는 YouTube가 했던 것처럼 스스로 전용 모델을 직접 학습시키는 것입니다.

하지만 딥러닝 모델의 큰 장점 중 하나는 이미 사전 학습된 모델들을 조화롭게 활용할 수 있다는 점입니다. 사전 학습 모델은 우리가 해결하려는 작업과 유사한 종류의 풍부한 데이터셋으로 이미 대규모 학습을 마친 상태로 제공되는 모델을 뜻하며, 미세 조정(fine-tuning)을 거쳐 다운스트림 작업에 즉시 투입될 수 있습니다.

모델을 미세 조정할 때도 처음부터 학습시킬 때와 동일한 단계를 따릅니다. 학습 데이터, 모델, 최소화할 손실 함수(loss function)가 존재합니다. 다만 몇 가지 차이점이 있습니다. 새로운 작업을 해결하기 위해 기존 사전 학습 모델에서 최종 출력 레이어만 작업 성격에 맞춰 새로 초기화한 뒤 복제하여 새 모델을 구성합니다. 학습이 시작되면 이 파라미터들은 임의로 초기화하고 이전 레이어의 파라미터만 조정하여 이 작업에 집중하도록 합니다. 이 방식을 취하면 방대한 리소스를 투입하여 거대한 시스템을 통째로 학습시킬 필요 없이 미세 조정된 모델의 타겟을 효율적으로 재정렬할 수 있습니다.

이렇게 생성된 임베딩은 PCA나 t-SNE 같은 기술을 사용하여 차원을 축소하고, 검색 또는 쿼리 처리 시 빠르고 효율적인 검색이 가능하도록 적절한 데이터 구조를 사용하여 인덱싱함으로써 유용하게 개선할 수 있습니다(자세한 내용은 아래에서 다룹니다).

임베딩 검색 (Embeddings Retrieval)

모델 학습을 완료하면 모델 내부에서 임베딩을 정교하게 추출해야 합니다. 학습된 모델은 가중치, 편향, 레이어, 학습률 등 모델 파라미터에 대한 모든 것을 담고 있는 데이터 구조를 반환합니다. 임베딩은 이 모델 객체에 포함된 레이어 중 하나로, 처음에는 메모리 내(in-memory)에 위치합니다. 모델을 디스크에 저장할 때 이를 모델 객체의 일부로 함께 기록하며, 이후 재학습을 시키거나 추론을 실행할 때 시리얼라이즈하여 메모리에 로드합니다.

모델을 구축할 때 임베딩을 활용하는 방법은 다양합니다. 임베딩을 저장하는 가장 단순한 방법은 인메모리 numpy 배열을 사용하는 것입니다. 하지만 보다 고도화된 작업을 위해서는 다음과 같은 과정이 수행될 수 있습니다:

  • 추론 과정에서 실시간으로 배치 단위 혹은 개별 단위로 추출하기

  • 오프라인으로 임베딩의 성능 지표를 분석하기

  • 임베딩을 변환하여 새로운 피처 컬럼 생성하기

  • 개발된 새로운 모델로 기존 임베딩을 안정적으로 점검 및 업데이트하기

  • 다양하게 파생된 임베딩의 버전 관리 내역을 정밀하게 보존하기

  • 새로운 문서를 입력받아 적합한 임베딩으로 인코딩하기

대부분의 이러한 작업을 매끄럽게 처리할 수 있는 가장 정교하고 맞춤 설정이 가능한 소프트웨어가 바로 벡터 데이터베이스(vector database)입니다. 다만 그 전 단계로 PostgresSQLite 같은 데이터베이스의 벡터 검색 플러그인, 또는 Redis 같은 캐시 메모리를 가볍게 고려해보는 편이 좋습니다.

임베딩을 다룰 때 수행하는 가장 중추적인 작업은 벡터 검색(vector search)입니다. 이는 우리가 보유한 것과 가장 유사한 임베딩을 식별하여 유사도가 높은 아이템들을 원활하게 찾아내도록 돕습니다. 벡터 검색을 정밀하게 수행하기 위해서는 사용 중인 데이터 구조 내에서 효율적으로 탐색하고 이들을 비교하여 가장 일치하는 요소를 검출하는 구조적 장치가 필요합니다.

관계형 데이터베이스는 노드 계층 내에서 아이템을 오름차순으로 정렬하는 b-tree 구조를 활용하므로 읽기 속도가 빠릅니다. 하지만 테이블 열을 기준으로 삼는 방식으로는 다차원 벡터를 실시간 수준으로 신속하게 찾아내기 어렵기 때문에 완전히 구별되는 전용 아키텍처를 도입해야 합니다. 수많은 벡터 저장 장치에서 벡터 검색을 효율적으로 실행하기 위해 채택하고 있는 역색인(inverted indices) 구조가 훌륭한 예시입니다.

표준적인 형태의 임베딩 저장소는 세 가지 코어 파트인 임베딩 자체, 이를 원래의 단어나 그림, 텍스트로 되돌려 매핑해 주는 인덱스, 다양한 최근접 이웃 알고리즘을 사용해 서로 다른 종류의 임베딩 간 유사도를 비교해 주는 정밀한 비교 엔진으로 구성됩니다.

임베딩을 비교하는 대표적이고 친근한 척도 중 하나는 바로 코사인 유사도(cosine similarity)입니다. 그러나 수백만 개 단위의 대규모 벡터 세트를 직접 대조할 때는 연산이 느려지고 효율성이 떨어질 수 있습니다. 이러한 한계를 보완하기 위해 근사 최근접 이웃(approximate nearest neighbor, ANN) 알고리즘이 개발되었으며, 이는 벡터 원소들을 기반으로 유기적인 이웃 영역을 구획하여 주어진 벡터의 k-최근접 이웃을 정교하게 식별해 냅니다. 현대 필드에서 가장 신뢰받고 널리 쓰이는 두 가지 라이브러리는 HNSW(hierarchical navigable small worlds)와 FAISS이며, 이들은 독립 라이브러리로 작동할 뿐만 아니라 기존의 수많은 전문 벡터 저장 장치에 내장되어 견고한 역할을 수행하고 있습니다.

전수 탐색과 최근접 이웃 탐색 간의 트레이드오프(trade-off) 관계에서, 후자는 상대적으로 정확도는 미세하게 양보하되 연산 속도를 큰 폭으로 끌어올릴 수 있습니다. 모델의 정밀도(precision)와 재현율(recall)을 면밀히 평가할 때 이러한 상충 관계를 정량화해 보고, 시스템 연산 부하를 염두에 두면서 사내 비즈니스에서 요구하는 임베딩의 정밀성 수준과 실시간 추론 지연 시간 수준을 확고하게 비교 결정하는 절차가 필요합니다.

6 - 결론

지금까지 벡터 임베딩의 멀티모달 진화 과정과 다양한 애플리케이션에서의 핵심적인 역할에 대해 긴밀하게 살펴보았습니다.

  • 임베딩에 대한 간결한 정의로 시작하여 텍스트, 이미지 및 오디오를 표현할 수 있는 다양한 단일 모달 임베딩의 기틀을 짚어보았습니다.

  • 멀티모달 데이터 표현 방식이 현대적인 발전을 마주하고 트랜스포머 모델의 뛰어난 범용성이 입증됨에 따라 임베딩의 가치는 몰라보게 높아졌습니다. 또한 토큰화 및 임베딩 전략을 통해 비디오 영역의 표현 방식을 구조적으로 함께 탐구해 보았습니다.

  • 마지막으로 임베딩을 정밀하게 생성하고 체계적으로 보관하는 흐름을 포괄하여, 실제 프로덕션 현장에서 임베딩 파이프라인을 엔지니어링하는 생생한 맥락을 파악해 보았습니다.

벡터 임베딩의 발전은 특히 다루기 까다로운 비디오 데이터 영역을 필두로 복잡다단한 비정형 데이터를 한 차원 높게 이해하고 가공할 수 있는 새로운 도약의 기회를 제공했습니다. 관련 연구 및 구현 기술이 점차 고도화되고 성숙해짐에 따라 다가오는 미래에는 훨씬 더 혁신적인 애플리케이션 시나리오를 목격하게 될 것입니다.

Twelve Labs에서는 멀티모달 비디오 이해를 위한 독보적인 비디오 파운데이션 모델을 깊이 있게 고안하고 있습니다. 즉, 가공되지 않은 네이티브 비디오 소스에서 핵심적인 비디오 임베딩을 추출하여 비디오 검색비디오 분류와 같은 다양한 다운스트림 비디오 이해 작업을 유연하게 주도해 나가고 있습니다. 저희의 미션은 전 세계 개발자들이 당사의 가장 혁신적인 비디오 이해 인프라를 활용하여 사람처럼 보고, 듣고, 세상을 온전히 이해할 수 있는 탁월한 차세대 소프트웨어를 매끄럽게 제작해 낼 수 있도록 든든히 뒷받침하는 것입니다.

Twelve Labs의 행보를 더욱 자세히 지켜보고 싶으시다면 https://playground.twelvelabs.io/에 가입하셔서 데모를 사용해 보시고, 당사에서 주도하는 Multimodal Minds 디스코드 커뮤니티에 방문하여 멀티모달 AI에 관한 다채로운 영감을 함께 공유해 보세요!

딥러닝 모델의 구현은 데이터 중심 제품을 구축하려는 기업들에게 점점 더 중요한 머신러닝 전략이 되고 있습니다. 딥러닝 모델을 빌드하고 실행하기 위해 기업들은 수억 테라바이트에 달하는 멀티모달 데이터를 수집하여 딥러닝 모델에 입력합니다. 그 결과, 딥러닝 모델이 입력 데이터를 내부적으로 표현한 형태인 임베딩(embeddings)은 머신러닝 시스템 구축에 있어 빠르게 핵심 구성 요소로 자리 잡고 있습니다.

대표적인 예로, 임베딩은 Spotify의 아이템 추천 시스템, YouTube의 맞춤 동영상 추천, 그리고 Pinterest의 비주얼 검색에서 상당한 비중을 차지합니다. 추천 시스템 UI를 통해 사용자에게 명시적으로 표시되지 않더라도, 임베딩은 Netflix와 같은 곳에서 사용자 선호도의 인기를 기반으로 어떤 프로그램을 제작할지 콘텐츠 관련 의사결정을 내리는 데 내부적으로 사용됩니다.

콘텐츠의 압축되고 문맥에 특화된 표현을 생성하기 위해 임베딩을 사용하는 방식은 Google의 Word2Vec 논문이 발표된 이후 선풍적인 인기를 끌기 시작했습니다. Word2Vec의 개념을 기반으로 이를 확장한 트랜스포머(Transformer) 아키텍처는 셀프 어텐션(self-attention) 메커니즘을 통해 주어진 단어 주변의 문맥을 계산하는 훨씬 더 전문화된 방식을 제공하며, 증가하는 멀티모달 어휘의 표현을 학습하는 표준적인 방법이 되었습니다. 학계와 산업계 모두에서 트랜스포머의 인기가 높아짐에 따라 임베딩은 딥러닝 워크플로우의 필수 요소가 되었습니다.

하지만 임베딩은 데이터 흐름의 입력도 출력 결과도 아닌, 모델을 미세 조정하기 위해 머신러닝 서비스 내에 존재하는 중간 요소이기 때문에 그 개념이 모호하게 느껴질 수 있습니다. 따라서 처음부터 임베딩을 명확하게 정의하는 것이 도움이 됩니다.

1 - 임베딩이란 무엇인가요?

밀집 임베딩(dense embedding)은 하나의 개념과 관련된 정보를 여러 요소에 분산시키는 벡터로, 각 요소를 개별적으로 조정할 수 있어 상대적으로 저차원 공간에서 더 많은 개념을 효율적으로 인코딩할 수 있음을 의미합니다. 이러한 표현 방식은 로컬에서 개념의 존재 여부를 1의 값으로 나타내고 다른 요소는 0의 값으로 나타내는 원핫 인코딩(one-hot encoding)과 같은 심볼릭 표현 방식과 비교할 수 있습니다.

딥러닝에서 '임베딩'이라는 용어는 흔히 단어나 이미지 카테고리를 나타내는 원핫 벡터를 실수 값으로 이루어진 분산 표현으로 매핑하는 것을 의미합니다. 구체적으로 임베딩 프로세스는 다음 세 단계를 포함합니다:

  1. 멀티모달 입력을 점진적인 연산을 수행하기 더 쉬운 형태인 벡터, 텐서 또는 그래프의 표현으로 변환합니다.

  2. 블로그 게시물 요약이나 대규모 비디오 코퍼스에 대한 의미론적 검색(semantic search)과 같은 머신러닝 작업을 위해 입력 정보를 압축합니다. 압축 프로세스는 가변적인 특징 차원을 고정된 입력으로 변경하여 머신러닝 시스템의 다운스트림 구성 요소로 효율적으로 전달될 수 있도록 합니다.

  3. 임베딩이 학습된 데이터에 특화된 임베딩 공간을 생성하지만, 딥러닝 표현의 경우에는 전이 학습(transfer learning)을 통해 다른 작업 및 도메인으로도 일반화될 수 있습니다.

단어, 이미지 또는 비디오에 대한 임베딩을 생성하여 다차원 공간에 아티팩트를 표현하는 것은 우리에게 많은 가능성을 열어줍니다. 예를 들어, 비디오 추천 시스템에서 콘텐츠 이해에 집중하는 작업의 경우, 주어진 두 아이템을 비교하여 유사도를 평가하고자 할 때가 많습니다. 비디오를 벡터로 변환하고 공유된 임베딩 공간에서 비디오 프레임을 비교함으로써 수학적으로 매우 정밀하게 이 작업을 수행할 수 있습니다.

2 - 단일 모달(Unimodal) 임베딩

2.1 - 언어 표현

텍스트 임베딩은 단어나 구절을 저차원 공간의 실수형 벡터로 매핑하는 텍스트 데이터의 표현 방식입니다. 이러한 벡터는 텍스트의 의미와 문맥을 포착하여 다양한 자연어 처리(NLP) 작업을 가능하게 합니다. 검색 엔진, 제품 추천, 소셜 미디어 콘텐츠 모더레이션, 이메일 스팸 필터링, 고객 지원 챗봇 등 많은 NLP 애플리케이션에서 활용되고 있습니다.

텍스트 임베딩은 텍스트에서 고차원 특징을 추출하여 고정된 크기의 차원 벡터(예: 1,500차원)로 변환하는 신경망을 사용하여 생성할 수 있습니다. 이러한 임베딩은 텍스트 데이터를 비교하고 분석하는 데 사용되어 텍스트 분류, 텍스트 검색, 텍스트 요약과 같은 작업을 수행할 수 있게 해줍니다.

과거에는 LSTM(long short-term memory) 또는 GRU(gated recurrent unit) 언어 모델과 같은 순환 신경망이 현재 단어를 예측할 때 고정 길이의 순환 벡터에 저장된 모든 과거 단어의 정보를 통합했습니다. 워드 임베딩을 생성하기 위해 흔히 사용되는 다른 방법으로는 CBOW(continuous bag-of-words) 모델, skip-grams, GloVe(global vectors) 등이 있습니다.

2017년 이후로 트랜스포머는 텍스트 임베딩을 학습하는 데 집중적으로 사용되어 왔습니다. 바닐라 트랜스포머(Vanilla Transformer)는 원래 NLP를 위해 제안된 모델로, 셀프 어텐션 메커니즘을 사용하여 다양한 NLP 작업에서 최고 수준의 성능(state-of-the-art)을 달성했습니다. 바닐라 트랜스포머의 성공 이후 BERT, BART, GPT, Longformer, Transformer-XL, XLNet 등 수많은 파생 모델이 제안되었습니다. 사전 학습된 트랜스포머 모델은 강력한 텍스트 임베딩 생성기가 될 수 있습니다.

2.2 - 시각적 표현

이미지 임베딩은 이미지를 저차원 공간의 실수형 벡터로 표현하는 방법입니다. 이러한 벡터는 이미지의 시각적 콘텐츠를 포착하며, 이미지 검색, 객체 탐지, 얼굴 인식, 콘텐츠 기반 이미지 검색과 같은 다양한 컴퓨터 비전 작업에 사용될 수 있습니다.

이미지 분류 모델(AlexNet, VGGNet, GoogLeNet, ResNet 등)의 최종 레이어 출력값을 사용하여 이미지 임베딩을 얻을 수 있습니다. 이 모델들은 2012년, 2014년, 2015년에 ImageNet 이미지 분류 경진대회(ILSVRC)에서 우승을 차지했습니다. 이미지 임베딩은 이미지 데이터를 비교하고 분석하는 데 사용되어 이미지 분류, 이미지 검색, 이미지 유사도 검색 등의 작업을 가능하게 합니다.

또는 객체 탐지 모델이 식별한 선택적 영역의 컨볼루션 특징 및 관련 클래스 라벨과 같이 더 직접적인 특징을 시각적 임베딩으로 사용할 수도 있습니다. 이러한 접근 방식을 사용하는 모델로는 R-CNN(region-based CNN), Fast R-CNN, Faster R-CNN 등이 있습니다.

트랜스포머는 현재 NLP에서 가장 인기 있는 도구이며, 연구자들은 이제 이를 시각 도메인과 같은 다른 영역에서 어떻게 활용할 수 있을지 탐색하고 있습니다. 그러한 영역 중 하나로 트랜스포머의 인코더를 이미지에 적용하는 비전 트랜스포머(Vision Transformer, ViT)의 사용이 있습니다. ViT와 그 변형 모델들은 저수준 작업(low-level tasks), 인식, 탐지, 세분화(segmentation)를 포함한 다양한 컴퓨터 비전 작업에 성공적으로 사용되어 왔습니다. 이들은 지도 학습과 자기지도 시각 학습(self-supervised visual learning) 모두에서 우수한 성능을 발휘합니다. 최근 연구들은 내부 표현의 견고함(robustness) 및 잠재 표현 전파의 연속적인 동작 등 ViT에 대한 추가적인 이해를 제공하고 있습니다. 사전 학습된 ViT 모델은 강력한 이미지 임베딩 생성기가 될 수 있습니다.

2.3 - 오디오 표현

오디오 임베딩은 오디오 신호의 음향적 콘텐츠를 조밀하고 의미 있는 방식으로 포착하는 오디오 신호의 수치적 표현입니다. 이러한 벡터는 오디오 신호의 의미론적 및 문맥적 정보를 포착하는 것을 목표로 합니다. 오디오 처리, 특히 오디오 분류, 오디오 검색, 화자 인식, 음악 추천과 같은 작업에서 다양하게 응용됩니다.

이러한 오디오 임베딩을 생성하기 위해 AudioSet 또는 UrbanSound와 같은 대규모 오디오 데이터셋으로 학습된 VGGish 또는 SoundNet 같은 사전 학습 모델을 사용할 수 있습니다. 이러한 모델들은 오디오 신호에서 스펙트로그램 또는 멜 주파수 케프스트럼 계수(MFCCs)와 같은 고차원 특징을 추출하고 이를 임베딩으로 인코딩할 수 있습니다.

언어 및 시각 도메인과 마찬가지로, 트랜스포머 아키텍처를 활용하여 오디오 임베딩을 생성할 수도 있습니다. 대표적인 예로는 PaSST, Audio Transformer, CTAL, SSAST, Audio Spectrogram Transformer 등이 있습니다.

3 - 멀티모달(Multimodal) 임베딩

시각, 언어 또는 음성을 표현하는 데 있어 상당한 진전이 있었지만, 단 하나의 모달리티만 사용하여 인간의 개념 전체를 모델링하는 것은 이론적으로 불충분합니다. 예를 들어 '아름다운 그림'이라는 아이디어는 시각적 표현에 기반을 두고 있기 때문에 자연어나 다른 비시각적 방식으로 설명하기 어렵습니다. 그렇기 때문에 이러한 개념을 더 잘 표현하기 위해 여러 모달리티를 사용하는 공동 임베딩(joint embeddings)을 학습하는 것이 중요합니다. 일반적으로 멀티모달 AI 분야는 멀티모달 데이터에서 에센셜한 임베딩을 추출할 수 있는 AI 시스템 구축을 목표로 합니다.

3.1 - 멀티모달 AI에 관한 간단한 노트

멀티모달 AI는 최근 수십 년 동안 중대한 연구 분야였습니다. 우리가 살고 있는 세상은 멀티모달 환경이며, 우리의 관찰과 행동 모두 멀티모달적입니다. 예를 들어, AI 자율주행 로봇은 실제 환경을 인지하기 위해 멀티모달 센서가 필요합니다. 이러한 센서에는 카메라, LiDAR, 레이더, 초음파, GNSS, 고정밀 지도(HD Map), 오도메터 등이 포함됩니다. 또한, 인간의 행동, 감정, 이벤트, 행동 및 유머 역시 멀티모달적입니다. 결과적으로 멀티모달 감정 인식, 멀티모달 이벤트 표현, 멀티모달 유머 이해, 얼굴-신체-음성 기반 비디오 인물 클러스터링 등 인간 중심의 다양한 멀티모달 AI 작업이 활발히 연구되고 있습니다.

인터넷 기술의 발전과 스마트 기기의 보급 덕분에 웹을 통해 전송되는 멀티모달 데이터의 양은 계속해서 증가하고 있습니다. 이는 수많은 멀티모달 애플리케이션 시나리오의 발전을 가져왔습니다. 오늘날 우리는 상업적 서비스(이커머스 검색, 시각-언어 탐색, 시각-청각 탐색 등), 커뮤니케이션 방법(구독(lip-reading)수어 번역), 인간-컴퓨터 상호작용, 의료 AI, 보안 관제 AI 등 광범위한 영역에서 이러한 애플리케이션을 접하고 있습니다.

딥러닝 시대에 멀티모달 AI는 심층 신경망 덕분에 획기적인 발전을 이루었습니다. 가장 경쟁력 있는 아키텍처 중 하나는 트랜스포머로, 이는 멀티모달 AI에 새로운 도전과 기회를 제공하고 있습니다. 거대 언어 모델과 Frozen, VL-Adapter, Flamingo, BEiT, PaLI 등 멀티모달 파생 모델들의 최근 성공은 트랜스포머가 멀티모달 AI를 위한 파운데이션 모델을 생성하는 데 있어 핵심적인 잠재력을 가지고 있음을 보여줍니다.

3.2 - 멀티모달 사전 학습

2021년, CLIP이 제안되면서 새로운 이정표가 세워졌습니다. CLIP은 멀티모달 사전 학습을 사용하여 분류 문제를 검색 작업으로 변환하며, 이를 통해 사전 학습된 모델이 제로샷(zero-shot) 인식 작업을 해결할 수 있도록 합니다. 이처럼 CLIP은 대규모 멀티모달 사전 학습을 완전하게 활용하여 제로샷 학습을 가능하게 한 성공적인 프랙티스입니다. 이는 많은 멀티모달 작업의 주요 돌파구가 되었습니다. 최근에는 CLIP 사전 학습 모델 기반 제로샷 시맨틱 세그멘테이션, ALIGN, MAD, ALBEF, CoCa 등의 다른 연구들에서 CLIP의 아이디어가 더욱 깊이 있게 탐구되고 있습니다.

3.3 - 멀티모달 빅데이터 트렌드

최근 몇 년 동안 소셜 미디어 및 온라인 쇼핑과 같은 새로운 애플리케이션의 등장과 함께 인터넷이 급속도로 발전했습니다. 이에 따라 많은 새로운 멀티모달 데이터셋이 생성되었습니다. 가장 잘 알려진 것들로는 Conceptual Captions, COCO, VQA, Visual Genome, SBU Captions, Cooking312K, LAIT, e-SNLI-VE, ARCH, Adversarial VQA, OTT-QA, MultiModalQA, VALUE, Fashion IQ, LRS2-BBC, ActivityNet, VisDial 등이 있습니다.

이러한 데이터셋들의 새로운 트렌드는 다음과 같습니다:

  1. 데이터셋의 규모가 점점 확장되고 있습니다. 최근 출시된 것 중 일부는 Product1M, Conceptual12M, RUC-CAS-WenLan (30M), HowToVQA69M, HowTo100M, ALT200M, LAION-400M, LAION-5B처럼 수백만에서 수십억 단위에 이르는 규모입니다.

  2. 더 많은 모달리티가 통합되고 있습니다. 시각, 텍스트, 오디오 외에도 Pano-AVQA(360도 비디오에 대한 최초의 대규모 공간 및 시청각 질의응답 데이터셋), YouTube-360 (YT-360)(360도 비디오), AIST++(3D 댄스 동작과 음악으로 구성된 수려한 멀티모달 데이터셋), ArtEmis(시각 예술을 위한 감성 언어) 등 새롭고 다양한 모달리티가 등장하고 있습니다. 놀랍게도 MultiBench는 무려 10개의 모달리티를 포함하는 데이터셋입니다.

  3. 적용 범위가 확대되고 있습니다. 일반적인 캡션 및 QA 데이터셋을 넘어, CIRR(실제 이미지), Bed and Breakfast (BnB)(시각 및 언어 기반 탐색), M3A(금융 데이터셋), X-World(자율 주행) 등 더 많은 애플리케이션과 시나리오가 연구되고 있습니다.

  4. 작업의 난이도가 더욱 높아지고 있습니다. 직관적인 작업 외에도 메타포 이해를 위한 멀티모달 데이터셋인 MultiMET이나 멀티모달 밈 속의 혐오 표현을 판별하는 Hateful Memes와 같이 훨씬 더 추상적인 멀티모달 작업들이 제안되고 있습니다.

  5. 하우투(Instructional) 비디오가 점점 인기를 얻고 있습니다. 대표적으로 YouCook2의 요리 비디오 등이 있습니다. 일련의 지시 사항을 특정 작업을 수행하는 사람의 비디오에 정렬하는 것은 강력한 사전 학습 프레텍스트 작업(pretext task)의 예시입니다(What’s Cookin’? 참고). 프레텍스트 작업은 모델이 이를 해결하는 과정에서 유용한 표현을 자연스럽게 학습하도록 설계된 사전 작업입니다.

트랜스포머는 다른 딥러닝 신경망 아키텍처와 마찬가지로 방대한 데이터를 필요로 합니다. 따라서 대용량 모델과 멀티모달 빅데이터 기반이 결합되어 트랜스포머 기반 멀티모달 머신러닝의 전성기를 함께 이끌어가고 있습니다. 예를 들어, 빅데이터는 VLP 트랜스포머 모델에 제로샷 학습 기능을 불어넣어 줍니다.

4 - 비디오 표현

많은 사용자가 정보를 생성하고 전달하는 수단으로 비디오를 선택하고 있습니다. 이미지, 움직임, 사운드가 결합되어 몰입감 있고 유익한 정보를 제공하는 훌륭한 매체이기 때문입니다. 그러나 비디오 데이터는 이미지, 언어, 오디오를 동시에 처리해야 하므로 작업 관리가 까다로울 수 있습니다(즉, 비디오 자체가 멀티모달입니다). 이에 더불어 고차원의 데이터를 다루고 동적 움직임을 모델링하는 것은 비디오 영역만의 고유한 과제입니다.

비디오 임베딩은 비디오의 시각적, 언어적, 청각적 콘텐츠를 압축적이고 유의미한 방식으로 포착하는 수치적 표현입니다. 자연어 처리에서 단어 임베딩이 단어를 밀집 벡터로 나타내는 것과 마찬가지로, 비디오 임베딩은 비디오의 의미론적이고 문맥적인 정보를 포착하는 것을 목표로 합니다.

비디오 임베딩은 컴퓨터 비전 및 멀티미디어 분석에서 다양하게 활용됩니다. 비디오 분류, 비디오 검색, 비디오 요약, 비디오 추천 등의 작업에 사용할 수 있습니다. 예를 들어, 비디오를 임베딩으로 표현하면 메타데이터나 텍스트 설명에만 진정으로 의존하는 대신 콘텐츠를 바탕으로 유사한 비디오를 비교하고 검색하기가 훨씬 쉬워집니다.

트랜스포머 아키텍처는 유연성이 높아서 다양한 유형의 데이터를 모델링하는 데 사용할 수 있습니다. 최근에는 트랜스포머를 비디오 모델링에 맞게 조정한 많은 비디오 트랜스포머(Video Transformer) 연구가 진행되었습니다. 트랜스포머에 입력하기 전에 비디오는 몇 가지 전처리 과정을 거쳐야 합니다. 이 과정에는 토큰화(tokenization), 임베딩(embedding), 포지셔닝(positioning)이 포함됩니다. 예를 들어 위의 그림은 Video Vision Transformer 논문에서 발췌한 것입니다. 저자들은 비디오를 토큰 시퀀스로 매핑하는 두 가지 단순한 방법(균일 프레임 샘플링 및 튜브릿 임베딩)을 고려하고 고안했습니다. 그런 다음 위치 임베딩(positional embedding)을 추가하고 토큰들의 형태를 변형하여 트랜스포머에 입력될 최종 입력을 얻어냅니다.

토큰화, 임베딩, 포지셔닝에 대한 세부 전략은 해결하려는 비디오 모델링 작업과 사용 가능한 데이터의 특성에 따라 달라질 수 있습니다.

4.1 - 비디오 토큰화 기술

토큰화는 비디오를 트랜스포머 모델의 입력으로 사용할 수 있는 '토큰(token)'이라는 더 작은 단위로 분할하는 과정입니다. 비디오 가공에 흔히 사용되는 토큰화 기술은 다음과 같습니다:

1 - 프레임 수준 토큰화 (Frame-level tokenization)

이 기술에서는 비디오의 각 프레임을 하나의 토큰으로 취급합니다. 프레임들은 순차적으로 인코딩되어 트랜스포머 모델에 입력됩니다. 이 접근 방식을 통해 모델은 프레임 수준에서 시간적 정보를 포착할 수 있습니다.

2 - 클립 수준 토큰화 (Clip-level tokenization)

각 프레임을 개별 토큰으로 다루는 대신, 연속된 프레임들을 하나의 클립으로 그룹화하는 기술입니다. 각 클립은 토큰화되어 하나의 단위로 처리됩니다. 이 접근 방식은 토큰의 수를 줄여주므로 재생 시간이 긴 비디오를 처리할 때 더 효율적입니다.

3 - 공동 토큰화 (Co-tokenization)

이 기술은 비디오와 그에 대응하는 텍스트 설명을 함께 토큰화하는 과정이 수반됩니다. 비디오 토큰과 텍스트 토큰을 융합하여 시각적 및 텍스트 정보를 모두 담은 공동 표현을 생성합니다. 이 접근 방식은 비디오 질의응답 작업에서 효과적인 성능을 보여왔습니다.

4 - 객체 수준 토큰화 (Object-level tokenization)

비디오 내에서 관심 있는 객체나 영역을 탐지하고 세분화하여, 각 객체 또는 영역을 별개의 토큰으로 다루는 기술입니다. 이 접근 방식은 객체 탐지나 행동 인식과 같은 작업에 유용하게 사용될 수 있습니다.

4.2 - 비디오 임베딩 전략

비디오 모델에서 사용되는 서로 다른 임베딩 전략은 성능에 다양한 영향을 미칠 수 있습니다. 대표적인 예는 다음과 같습니다:

1 - 이미지 기반 임베딩 (Image-based embedding)

Inception-V3나 ResNet과 같이 사전 학습된 이미지 모델을 사용하여 비디오의 각 프레임에서 시각적 특징을 추출하는 전략입니다. 그 후 풀링(pooling)이나 전결합층(fully connected layers)과 같은 기술을 통해 이러한 특징들을 임베딩으로 변환합니다. 이미지 기반 임베딩은 상세한 시각적 정보를 훌륭히 포착할 수 있어 객체 탐지나 장면 이해와 같은 작업에 효과적입니다.

2 - 오디오 기반 임베딩 (Audio-based embedding)

시각적 특징 외에도 비디오에서 오디오 특징을 추출할 수 있습니다. 스펙트로그램 분석이나 오디오 임베딩 기술을 사용하여 오디오 신호를 벡터 표현으로 변환할 수 있습니다. 오디오 기반 임베딩은 사운드 관련 정보를 포착하여 시청각 동기화나 사운드 이벤트 탐지 등의 작업에 유용하게 쓰입니다.

3 - 공동 시청각 임베딩 (Joint audio-visual embedding)

시각적 특징과 오디오 특징을 결합하여 공동 임베딩을 구성하는 전략입니다. 두 모달리티 간의 상관관계를 포착할 수 있도록 시각 및 오디오 특징은 일반적으로 모델 아키텍처의 특정 시점에서 융합됩니다. 공동 임베딩은 비디오 캡셔닝이나 비디오 검색과 같은 작업에 유용할 수 있습니다.

4 - 시간적 임베딩 (Temporal embedding)

시간적 임베딩 전략은 비디오의 시간적 동역학(dynamics)을 포착하는 데 중점을 둡니다. 이는 광학 흐름(optical flow)이나 모션 벡터와 같은 시간 정보를 임베딩 프로세스에 통합함으로써 수행됩니다. 시간적 임베딩은 모델이 비디오 속 서로 다른 프레임이나 클립 간의 움직임 및 시간적 관계를 이해하는 데 도움을 줍니다.

5 - 공간적 임베딩 (Spatial embedding)

공간적 임베딩 전략은 비디오 안에서 관심 있는 서로 다른 영역 간의 공간적 관계를 포착하는 것을 목표로 합니다. 이는 영역 기반 임베딩이나 특정 공간적 위치에 주목하는 어텐션 메커니즘을 사용하여 달성할 수 있습니다. 공간적 임베딩은 객체 추적이나 행동 인식 같은 작업에 유용합니다.

4.3 - 위치 임베딩(Positional Embeddings)의 역할

셀프 어텐션(Self-attention)은 트랜스포머의 핵심 연산입니다. 시퀀스 안의 다른 임베딩 정보들로 각 토큰 임베딩을 강화합니다. 셀프 어텐션은 집합 단위로 작동하기 때문에, 비디오의 시공간적 구조를 온전히 활용하려면 위치 정보를 표시해 주는 것이 매우 중요합니다. 이는 트랜스포머 내에서 비디오 프레임이나 클립의 시간적 위치 정보를 인코딩하는 위치 임베딩(positional embeddings, PE)을 사용하여 수행됩니다.

트랜스포머 모델에서 비디오 데이터를 다룰 때 자주 사용되는 포지셔닝 방법은 다음과 같습니다:

1 - 학습된 위치 임베딩 (Learned positional embedding)

트랜스포머 모델을 학습하는 동안 위치 인코딩을 함께 학습하는 방식입니다. 모델은 비디오 시퀀스 내에서 프레임이나 클립의 상대적 위치를 인코딩하는 방법을 학습합니다. 이 방법을 사용하면 모델이 비디오 데이터의 시간적 순서를 자연스럽게 포착할 수 있습니다.

2 - 고정된 위치 인코딩 (Fixed positional encoding)

이 방식에서는 고정된 형태의 위치 인코딩이 비디오 임베딩에 추가됩니다. 이러한 인코딩은 비디오 시퀀스 내 프레임이나 클립의 절대적인 위치 정보를 제공합니다. 고정된 위치 인코딩은 사인 및 코사인 함수 또는 기타 미리 정의된 패턴을 기반으로 할 수 있습니다.

3 - 상대적 위치 인코딩 (Relative positional encoding)

비디오 시퀀스 내 프레임 또는 클립 간의 상대적인 위치 정보를 반영하는 방식입니다. 연속되는 프레임이나 클립 사이의 거리 또는 시간 간격을 고려합니다. 상대적 위치 인코딩은 트랜스포머 모델의 추가 입력으로 전달되거나 셀프 어텐션 메커니즘에 직접 통합될 수 있습니다.

4 - 하이브리드 접근 방식 (Hybrid approaches)

비디오 데이터의 절대적 위치와 상대적 위치를 모두 포착하기 위해 다양한 유형의 위치 인코딩을 결합하는 방법입니다. 여기에는 고정된 위치 인코딩과 학습된 위치 인코딩을 조합하여 사용하거나, 셀프 어텐션 메커니즘에 상대적인 위치 정보를 통합하는 방식 등이 포함될 수 있습니다.

5 - 프로덕션 환경에서의 임베딩

임베딩 기반의 엔지니어링 시스템(예: 파운데이션 모델 구축)은 빌드하고 유지 관리하는 데 컴퓨팅 비용이 많이 들 수 있습니다. 최근 임베딩의 생성, 저장 및 관리 필요성이 대두되면서 관련 제품의 강력한 에코시스템이 폭발적으로 정립되기 시작했습니다. 특히, 머신러닝 시스템에서 최근접 이웃(nearest neighbors) 의미론적 쿼리를 프로덕션 환경에 즉시 사용할 수 있도록 지원하는 벡터 데이터베이스 분야의 눈부신 발전이 주목받고 있습니다.

5.1 - 실무에서의 임베딩

프로덕션 환경에서는 활용 가능한 GPU 자원이 충분하다면 독자적인 임베딩 모델을 직접 학습시켜 모델 내부 동작을 긴밀하게 파악할 수 있습니다. 또는 사전 학습된 임베딩을 가져와 특정 유스케이스에 맞게 조정하여 사용할 수도 있습니다. 오늘날 우수한 역량을 갖춘 많은 기업이 이 두 가지 방식을 모두 활용하여 임베딩을 실무에 적용하고 있습니다. 특히 YouTube는 생산형 추천 시스템 맥락에서 비디오 임베딩 연구를 공식적으로 공유한 최초의 대기업 중 하나로, 당시 "YouTube 추천을 위한 심층 신경망(Deep Neural Networks for YouTube Recommendations)" 논문을 배포했습니다.

YouTube는 8억 개 이상의 콘텐츠(영상)와 26억 명의 활성 사용자를 보유하고 있으므로, 사용자에게 기존 콘텐츠를 빠르고 예리하게 추천하는 동시에 끊임없이 업로드되는 새로운 콘텐츠로도 안정적으로 일반화할 수 있어야 합니다. 이러한 맞춤 추천은 사용자가 새 페이지를 로드하는 추론 시점(inference time)에 지연 시간(latency)을 줄여 실시간으로 신속하게 서빙되어야 합니다.

YouTube는 두 개의 딥러닝 모델을 기반으로 2단계 비디오 추천 시스템을 구축한 노하우를 공유했습니다. 여기서 머신러닝 작업은 YouTube 추천 화면에서 특정 시점에 사용자가 클릭할 만한 가장 적절한 다음 비디오를 예측하는 것입니다. 최종 출력은 다음과 같은 분류 문제로 정의됩니다: 사용자의 입력 특징과 비디오의 입력 특징이 주어졌을 때, 사용자가 특정 비디오를 시청할 것으로 예측되는 시간과 확률을 포함하여 사용자에 대한 클래스를 결정할 수 있는가?

이 모델을 개발하기 위해 두 가지 임베딩 세트를 입력 데이터로 사용합니다: (1) 사용자와 해당 컨텍스트를 특징으로 표현하는 임베딩, (2) 비디오 아이템을 표현하는 임베딩. 이 모델에는 정형 데이터 기반의 특징과 함께 임베딩 기반의 특징을 포함한 수많은 변수가 활용됩니다. 임베딩 기반 특징에는 다음이 포함됩니다:

  • 사용자 시청 기록 - 사용자가 지금까지 어떤 비디오를 시청했는지 보여주는 벡터로, 희소(sparse) 비디오 ID가 밀집(dense) 벡터로 매핑된 형태입니다.

  • 사용자 검색 기록 - 사용자가 특정 검색어를 입력한 후 어떤 비디오를 클릭했는지 나타냅니다. 이 또한 사용자 시청 기록과 동일한 공간에 매핑된 희소 벡터로 표현됩니다.

  • 사용자의 지역, 연령, 성별 - 정형 성격의 테이블 특징으로 표현됩니다.

  • 시간이 경과함에 따라 사용자별로 정규화된, 특정 영상이 이전에 노출된 횟수.

이 모든 특징이 결합되어 하나의 아이템 임베딩(item embedding)을 이룹니다. 사용자 측면에서는 모든 임베딩 성분이 블렌딩되어 하나의 사용자 임베딩(user embedding)이 됩니다. 이 임베딩들은 모델의 소프트맥스(softmax) 레이어로 공급됩니다. 소프트맥스 레이어는 해당 출력값(즉, 사용자가 아이템과 상호작용할 확률)을 실제 정답(ground truth) 아이템 집합과 비교합니다. 정답 아이템은 사용자가 이미 상호작용한 적이 있는 아이템들을 의미합니다. 어떤 아이템의 로그 확률은 질의(query) 임베딩과 아이템 임베딩이라는 두 개의 n차원 벡터의 내적(dot product)으로 정의됩니다.

5.2 - 엔지니어링 관점에서의 임베딩 과제

임베딩을 사용하는 프로덕션 수준의 머신러닝 시스템은 임베딩 생성 및 저장, 개념 드리프트(concept drift) 감지, 추론 및 지연 시간 최적화, 오프라인 및 온라인 시스템 평가 등 수많은 유기적 구성 요소로 이루어져 있습니다. 이 중 임베딩과 가장 직접적으로 연관된 처음 두 단계에 대해 살펴보겠습니다.

임베딩 생성 (Embeddings Generation)

우리는 임베딩이 일반적으로 신경망 모델 학습의 부산물로 생성된다는 점을 살펴보았습니다. 보통 분류나 회귀 분석을 위해 최종 출력 레이어 직전에 위치한 뒤에서 두 번째 레이어가 사용됩니다. 이러한 임베딩을 생성하는 데에는 두 가지 접근 방식이 있습니다. 첫째는 YouTube가 했던 것처럼 스스로 전용 모델을 직접 학습시키는 것입니다.

하지만 딥러닝 모델의 큰 장점 중 하나는 이미 사전 학습된 모델들을 조화롭게 활용할 수 있다는 점입니다. 사전 학습 모델은 우리가 해결하려는 작업과 유사한 종류의 풍부한 데이터셋으로 이미 대규모 학습을 마친 상태로 제공되는 모델을 뜻하며, 미세 조정(fine-tuning)을 거쳐 다운스트림 작업에 즉시 투입될 수 있습니다.

모델을 미세 조정할 때도 처음부터 학습시킬 때와 동일한 단계를 따릅니다. 학습 데이터, 모델, 최소화할 손실 함수(loss function)가 존재합니다. 다만 몇 가지 차이점이 있습니다. 새로운 작업을 해결하기 위해 기존 사전 학습 모델에서 최종 출력 레이어만 작업 성격에 맞춰 새로 초기화한 뒤 복제하여 새 모델을 구성합니다. 학습이 시작되면 이 파라미터들은 임의로 초기화하고 이전 레이어의 파라미터만 조정하여 이 작업에 집중하도록 합니다. 이 방식을 취하면 방대한 리소스를 투입하여 거대한 시스템을 통째로 학습시킬 필요 없이 미세 조정된 모델의 타겟을 효율적으로 재정렬할 수 있습니다.

이렇게 생성된 임베딩은 PCA나 t-SNE 같은 기술을 사용하여 차원을 축소하고, 검색 또는 쿼리 처리 시 빠르고 효율적인 검색이 가능하도록 적절한 데이터 구조를 사용하여 인덱싱함으로써 유용하게 개선할 수 있습니다(자세한 내용은 아래에서 다룹니다).

임베딩 검색 (Embeddings Retrieval)

모델 학습을 완료하면 모델 내부에서 임베딩을 정교하게 추출해야 합니다. 학습된 모델은 가중치, 편향, 레이어, 학습률 등 모델 파라미터에 대한 모든 것을 담고 있는 데이터 구조를 반환합니다. 임베딩은 이 모델 객체에 포함된 레이어 중 하나로, 처음에는 메모리 내(in-memory)에 위치합니다. 모델을 디스크에 저장할 때 이를 모델 객체의 일부로 함께 기록하며, 이후 재학습을 시키거나 추론을 실행할 때 시리얼라이즈하여 메모리에 로드합니다.

모델을 구축할 때 임베딩을 활용하는 방법은 다양합니다. 임베딩을 저장하는 가장 단순한 방법은 인메모리 numpy 배열을 사용하는 것입니다. 하지만 보다 고도화된 작업을 위해서는 다음과 같은 과정이 수행될 수 있습니다:

  • 추론 과정에서 실시간으로 배치 단위 혹은 개별 단위로 추출하기

  • 오프라인으로 임베딩의 성능 지표를 분석하기

  • 임베딩을 변환하여 새로운 피처 컬럼 생성하기

  • 개발된 새로운 모델로 기존 임베딩을 안정적으로 점검 및 업데이트하기

  • 다양하게 파생된 임베딩의 버전 관리 내역을 정밀하게 보존하기

  • 새로운 문서를 입력받아 적합한 임베딩으로 인코딩하기

대부분의 이러한 작업을 매끄럽게 처리할 수 있는 가장 정교하고 맞춤 설정이 가능한 소프트웨어가 바로 벡터 데이터베이스(vector database)입니다. 다만 그 전 단계로 PostgresSQLite 같은 데이터베이스의 벡터 검색 플러그인, 또는 Redis 같은 캐시 메모리를 가볍게 고려해보는 편이 좋습니다.

임베딩을 다룰 때 수행하는 가장 중추적인 작업은 벡터 검색(vector search)입니다. 이는 우리가 보유한 것과 가장 유사한 임베딩을 식별하여 유사도가 높은 아이템들을 원활하게 찾아내도록 돕습니다. 벡터 검색을 정밀하게 수행하기 위해서는 사용 중인 데이터 구조 내에서 효율적으로 탐색하고 이들을 비교하여 가장 일치하는 요소를 검출하는 구조적 장치가 필요합니다.

관계형 데이터베이스는 노드 계층 내에서 아이템을 오름차순으로 정렬하는 b-tree 구조를 활용하므로 읽기 속도가 빠릅니다. 하지만 테이블 열을 기준으로 삼는 방식으로는 다차원 벡터를 실시간 수준으로 신속하게 찾아내기 어렵기 때문에 완전히 구별되는 전용 아키텍처를 도입해야 합니다. 수많은 벡터 저장 장치에서 벡터 검색을 효율적으로 실행하기 위해 채택하고 있는 역색인(inverted indices) 구조가 훌륭한 예시입니다.

표준적인 형태의 임베딩 저장소는 세 가지 코어 파트인 임베딩 자체, 이를 원래의 단어나 그림, 텍스트로 되돌려 매핑해 주는 인덱스, 다양한 최근접 이웃 알고리즘을 사용해 서로 다른 종류의 임베딩 간 유사도를 비교해 주는 정밀한 비교 엔진으로 구성됩니다.

임베딩을 비교하는 대표적이고 친근한 척도 중 하나는 바로 코사인 유사도(cosine similarity)입니다. 그러나 수백만 개 단위의 대규모 벡터 세트를 직접 대조할 때는 연산이 느려지고 효율성이 떨어질 수 있습니다. 이러한 한계를 보완하기 위해 근사 최근접 이웃(approximate nearest neighbor, ANN) 알고리즘이 개발되었으며, 이는 벡터 원소들을 기반으로 유기적인 이웃 영역을 구획하여 주어진 벡터의 k-최근접 이웃을 정교하게 식별해 냅니다. 현대 필드에서 가장 신뢰받고 널리 쓰이는 두 가지 라이브러리는 HNSW(hierarchical navigable small worlds)와 FAISS이며, 이들은 독립 라이브러리로 작동할 뿐만 아니라 기존의 수많은 전문 벡터 저장 장치에 내장되어 견고한 역할을 수행하고 있습니다.

전수 탐색과 최근접 이웃 탐색 간의 트레이드오프(trade-off) 관계에서, 후자는 상대적으로 정확도는 미세하게 양보하되 연산 속도를 큰 폭으로 끌어올릴 수 있습니다. 모델의 정밀도(precision)와 재현율(recall)을 면밀히 평가할 때 이러한 상충 관계를 정량화해 보고, 시스템 연산 부하를 염두에 두면서 사내 비즈니스에서 요구하는 임베딩의 정밀성 수준과 실시간 추론 지연 시간 수준을 확고하게 비교 결정하는 절차가 필요합니다.

6 - 결론

지금까지 벡터 임베딩의 멀티모달 진화 과정과 다양한 애플리케이션에서의 핵심적인 역할에 대해 긴밀하게 살펴보았습니다.

  • 임베딩에 대한 간결한 정의로 시작하여 텍스트, 이미지 및 오디오를 표현할 수 있는 다양한 단일 모달 임베딩의 기틀을 짚어보았습니다.

  • 멀티모달 데이터 표현 방식이 현대적인 발전을 마주하고 트랜스포머 모델의 뛰어난 범용성이 입증됨에 따라 임베딩의 가치는 몰라보게 높아졌습니다. 또한 토큰화 및 임베딩 전략을 통해 비디오 영역의 표현 방식을 구조적으로 함께 탐구해 보았습니다.

  • 마지막으로 임베딩을 정밀하게 생성하고 체계적으로 보관하는 흐름을 포괄하여, 실제 프로덕션 현장에서 임베딩 파이프라인을 엔지니어링하는 생생한 맥락을 파악해 보았습니다.

벡터 임베딩의 발전은 특히 다루기 까다로운 비디오 데이터 영역을 필두로 복잡다단한 비정형 데이터를 한 차원 높게 이해하고 가공할 수 있는 새로운 도약의 기회를 제공했습니다. 관련 연구 및 구현 기술이 점차 고도화되고 성숙해짐에 따라 다가오는 미래에는 훨씬 더 혁신적인 애플리케이션 시나리오를 목격하게 될 것입니다.

Twelve Labs에서는 멀티모달 비디오 이해를 위한 독보적인 비디오 파운데이션 모델을 깊이 있게 고안하고 있습니다. 즉, 가공되지 않은 네이티브 비디오 소스에서 핵심적인 비디오 임베딩을 추출하여 비디오 검색비디오 분류와 같은 다양한 다운스트림 비디오 이해 작업을 유연하게 주도해 나가고 있습니다. 저희의 미션은 전 세계 개발자들이 당사의 가장 혁신적인 비디오 이해 인프라를 활용하여 사람처럼 보고, 듣고, 세상을 온전히 이해할 수 있는 탁월한 차세대 소프트웨어를 매끄럽게 제작해 낼 수 있도록 든든히 뒷받침하는 것입니다.

Twelve Labs의 행보를 더욱 자세히 지켜보고 싶으시다면 https://playground.twelvelabs.io/에 가입하셔서 데모를 사용해 보시고, 당사에서 주도하는 Multimodal Minds 디스코드 커뮤니티에 방문하여 멀티모달 AI에 관한 다채로운 영감을 함께 공유해 보세요!

딥러닝 모델의 구현은 데이터 중심 제품을 구축하려는 기업들에게 점점 더 중요한 머신러닝 전략이 되고 있습니다. 딥러닝 모델을 빌드하고 실행하기 위해 기업들은 수억 테라바이트에 달하는 멀티모달 데이터를 수집하여 딥러닝 모델에 입력합니다. 그 결과, 딥러닝 모델이 입력 데이터를 내부적으로 표현한 형태인 임베딩(embeddings)은 머신러닝 시스템 구축에 있어 빠르게 핵심 구성 요소로 자리 잡고 있습니다.

대표적인 예로, 임베딩은 Spotify의 아이템 추천 시스템, YouTube의 맞춤 동영상 추천, 그리고 Pinterest의 비주얼 검색에서 상당한 비중을 차지합니다. 추천 시스템 UI를 통해 사용자에게 명시적으로 표시되지 않더라도, 임베딩은 Netflix와 같은 곳에서 사용자 선호도의 인기를 기반으로 어떤 프로그램을 제작할지 콘텐츠 관련 의사결정을 내리는 데 내부적으로 사용됩니다.

콘텐츠의 압축되고 문맥에 특화된 표현을 생성하기 위해 임베딩을 사용하는 방식은 Google의 Word2Vec 논문이 발표된 이후 선풍적인 인기를 끌기 시작했습니다. Word2Vec의 개념을 기반으로 이를 확장한 트랜스포머(Transformer) 아키텍처는 셀프 어텐션(self-attention) 메커니즘을 통해 주어진 단어 주변의 문맥을 계산하는 훨씬 더 전문화된 방식을 제공하며, 증가하는 멀티모달 어휘의 표현을 학습하는 표준적인 방법이 되었습니다. 학계와 산업계 모두에서 트랜스포머의 인기가 높아짐에 따라 임베딩은 딥러닝 워크플로우의 필수 요소가 되었습니다.

하지만 임베딩은 데이터 흐름의 입력도 출력 결과도 아닌, 모델을 미세 조정하기 위해 머신러닝 서비스 내에 존재하는 중간 요소이기 때문에 그 개념이 모호하게 느껴질 수 있습니다. 따라서 처음부터 임베딩을 명확하게 정의하는 것이 도움이 됩니다.

1 - 임베딩이란 무엇인가요?

밀집 임베딩(dense embedding)은 하나의 개념과 관련된 정보를 여러 요소에 분산시키는 벡터로, 각 요소를 개별적으로 조정할 수 있어 상대적으로 저차원 공간에서 더 많은 개념을 효율적으로 인코딩할 수 있음을 의미합니다. 이러한 표현 방식은 로컬에서 개념의 존재 여부를 1의 값으로 나타내고 다른 요소는 0의 값으로 나타내는 원핫 인코딩(one-hot encoding)과 같은 심볼릭 표현 방식과 비교할 수 있습니다.

딥러닝에서 '임베딩'이라는 용어는 흔히 단어나 이미지 카테고리를 나타내는 원핫 벡터를 실수 값으로 이루어진 분산 표현으로 매핑하는 것을 의미합니다. 구체적으로 임베딩 프로세스는 다음 세 단계를 포함합니다:

  1. 멀티모달 입력을 점진적인 연산을 수행하기 더 쉬운 형태인 벡터, 텐서 또는 그래프의 표현으로 변환합니다.

  2. 블로그 게시물 요약이나 대규모 비디오 코퍼스에 대한 의미론적 검색(semantic search)과 같은 머신러닝 작업을 위해 입력 정보를 압축합니다. 압축 프로세스는 가변적인 특징 차원을 고정된 입력으로 변경하여 머신러닝 시스템의 다운스트림 구성 요소로 효율적으로 전달될 수 있도록 합니다.

  3. 임베딩이 학습된 데이터에 특화된 임베딩 공간을 생성하지만, 딥러닝 표현의 경우에는 전이 학습(transfer learning)을 통해 다른 작업 및 도메인으로도 일반화될 수 있습니다.

단어, 이미지 또는 비디오에 대한 임베딩을 생성하여 다차원 공간에 아티팩트를 표현하는 것은 우리에게 많은 가능성을 열어줍니다. 예를 들어, 비디오 추천 시스템에서 콘텐츠 이해에 집중하는 작업의 경우, 주어진 두 아이템을 비교하여 유사도를 평가하고자 할 때가 많습니다. 비디오를 벡터로 변환하고 공유된 임베딩 공간에서 비디오 프레임을 비교함으로써 수학적으로 매우 정밀하게 이 작업을 수행할 수 있습니다.

2 - 단일 모달(Unimodal) 임베딩

2.1 - 언어 표현

텍스트 임베딩은 단어나 구절을 저차원 공간의 실수형 벡터로 매핑하는 텍스트 데이터의 표현 방식입니다. 이러한 벡터는 텍스트의 의미와 문맥을 포착하여 다양한 자연어 처리(NLP) 작업을 가능하게 합니다. 검색 엔진, 제품 추천, 소셜 미디어 콘텐츠 모더레이션, 이메일 스팸 필터링, 고객 지원 챗봇 등 많은 NLP 애플리케이션에서 활용되고 있습니다.

텍스트 임베딩은 텍스트에서 고차원 특징을 추출하여 고정된 크기의 차원 벡터(예: 1,500차원)로 변환하는 신경망을 사용하여 생성할 수 있습니다. 이러한 임베딩은 텍스트 데이터를 비교하고 분석하는 데 사용되어 텍스트 분류, 텍스트 검색, 텍스트 요약과 같은 작업을 수행할 수 있게 해줍니다.

과거에는 LSTM(long short-term memory) 또는 GRU(gated recurrent unit) 언어 모델과 같은 순환 신경망이 현재 단어를 예측할 때 고정 길이의 순환 벡터에 저장된 모든 과거 단어의 정보를 통합했습니다. 워드 임베딩을 생성하기 위해 흔히 사용되는 다른 방법으로는 CBOW(continuous bag-of-words) 모델, skip-grams, GloVe(global vectors) 등이 있습니다.

2017년 이후로 트랜스포머는 텍스트 임베딩을 학습하는 데 집중적으로 사용되어 왔습니다. 바닐라 트랜스포머(Vanilla Transformer)는 원래 NLP를 위해 제안된 모델로, 셀프 어텐션 메커니즘을 사용하여 다양한 NLP 작업에서 최고 수준의 성능(state-of-the-art)을 달성했습니다. 바닐라 트랜스포머의 성공 이후 BERT, BART, GPT, Longformer, Transformer-XL, XLNet 등 수많은 파생 모델이 제안되었습니다. 사전 학습된 트랜스포머 모델은 강력한 텍스트 임베딩 생성기가 될 수 있습니다.

2.2 - 시각적 표현

이미지 임베딩은 이미지를 저차원 공간의 실수형 벡터로 표현하는 방법입니다. 이러한 벡터는 이미지의 시각적 콘텐츠를 포착하며, 이미지 검색, 객체 탐지, 얼굴 인식, 콘텐츠 기반 이미지 검색과 같은 다양한 컴퓨터 비전 작업에 사용될 수 있습니다.

이미지 분류 모델(AlexNet, VGGNet, GoogLeNet, ResNet 등)의 최종 레이어 출력값을 사용하여 이미지 임베딩을 얻을 수 있습니다. 이 모델들은 2012년, 2014년, 2015년에 ImageNet 이미지 분류 경진대회(ILSVRC)에서 우승을 차지했습니다. 이미지 임베딩은 이미지 데이터를 비교하고 분석하는 데 사용되어 이미지 분류, 이미지 검색, 이미지 유사도 검색 등의 작업을 가능하게 합니다.

또는 객체 탐지 모델이 식별한 선택적 영역의 컨볼루션 특징 및 관련 클래스 라벨과 같이 더 직접적인 특징을 시각적 임베딩으로 사용할 수도 있습니다. 이러한 접근 방식을 사용하는 모델로는 R-CNN(region-based CNN), Fast R-CNN, Faster R-CNN 등이 있습니다.

트랜스포머는 현재 NLP에서 가장 인기 있는 도구이며, 연구자들은 이제 이를 시각 도메인과 같은 다른 영역에서 어떻게 활용할 수 있을지 탐색하고 있습니다. 그러한 영역 중 하나로 트랜스포머의 인코더를 이미지에 적용하는 비전 트랜스포머(Vision Transformer, ViT)의 사용이 있습니다. ViT와 그 변형 모델들은 저수준 작업(low-level tasks), 인식, 탐지, 세분화(segmentation)를 포함한 다양한 컴퓨터 비전 작업에 성공적으로 사용되어 왔습니다. 이들은 지도 학습과 자기지도 시각 학습(self-supervised visual learning) 모두에서 우수한 성능을 발휘합니다. 최근 연구들은 내부 표현의 견고함(robustness) 및 잠재 표현 전파의 연속적인 동작 등 ViT에 대한 추가적인 이해를 제공하고 있습니다. 사전 학습된 ViT 모델은 강력한 이미지 임베딩 생성기가 될 수 있습니다.

2.3 - 오디오 표현

오디오 임베딩은 오디오 신호의 음향적 콘텐츠를 조밀하고 의미 있는 방식으로 포착하는 오디오 신호의 수치적 표현입니다. 이러한 벡터는 오디오 신호의 의미론적 및 문맥적 정보를 포착하는 것을 목표로 합니다. 오디오 처리, 특히 오디오 분류, 오디오 검색, 화자 인식, 음악 추천과 같은 작업에서 다양하게 응용됩니다.

이러한 오디오 임베딩을 생성하기 위해 AudioSet 또는 UrbanSound와 같은 대규모 오디오 데이터셋으로 학습된 VGGish 또는 SoundNet 같은 사전 학습 모델을 사용할 수 있습니다. 이러한 모델들은 오디오 신호에서 스펙트로그램 또는 멜 주파수 케프스트럼 계수(MFCCs)와 같은 고차원 특징을 추출하고 이를 임베딩으로 인코딩할 수 있습니다.

언어 및 시각 도메인과 마찬가지로, 트랜스포머 아키텍처를 활용하여 오디오 임베딩을 생성할 수도 있습니다. 대표적인 예로는 PaSST, Audio Transformer, CTAL, SSAST, Audio Spectrogram Transformer 등이 있습니다.

3 - 멀티모달(Multimodal) 임베딩

시각, 언어 또는 음성을 표현하는 데 있어 상당한 진전이 있었지만, 단 하나의 모달리티만 사용하여 인간의 개념 전체를 모델링하는 것은 이론적으로 불충분합니다. 예를 들어 '아름다운 그림'이라는 아이디어는 시각적 표현에 기반을 두고 있기 때문에 자연어나 다른 비시각적 방식으로 설명하기 어렵습니다. 그렇기 때문에 이러한 개념을 더 잘 표현하기 위해 여러 모달리티를 사용하는 공동 임베딩(joint embeddings)을 학습하는 것이 중요합니다. 일반적으로 멀티모달 AI 분야는 멀티모달 데이터에서 에센셜한 임베딩을 추출할 수 있는 AI 시스템 구축을 목표로 합니다.

3.1 - 멀티모달 AI에 관한 간단한 노트

멀티모달 AI는 최근 수십 년 동안 중대한 연구 분야였습니다. 우리가 살고 있는 세상은 멀티모달 환경이며, 우리의 관찰과 행동 모두 멀티모달적입니다. 예를 들어, AI 자율주행 로봇은 실제 환경을 인지하기 위해 멀티모달 센서가 필요합니다. 이러한 센서에는 카메라, LiDAR, 레이더, 초음파, GNSS, 고정밀 지도(HD Map), 오도메터 등이 포함됩니다. 또한, 인간의 행동, 감정, 이벤트, 행동 및 유머 역시 멀티모달적입니다. 결과적으로 멀티모달 감정 인식, 멀티모달 이벤트 표현, 멀티모달 유머 이해, 얼굴-신체-음성 기반 비디오 인물 클러스터링 등 인간 중심의 다양한 멀티모달 AI 작업이 활발히 연구되고 있습니다.

인터넷 기술의 발전과 스마트 기기의 보급 덕분에 웹을 통해 전송되는 멀티모달 데이터의 양은 계속해서 증가하고 있습니다. 이는 수많은 멀티모달 애플리케이션 시나리오의 발전을 가져왔습니다. 오늘날 우리는 상업적 서비스(이커머스 검색, 시각-언어 탐색, 시각-청각 탐색 등), 커뮤니케이션 방법(구독(lip-reading)수어 번역), 인간-컴퓨터 상호작용, 의료 AI, 보안 관제 AI 등 광범위한 영역에서 이러한 애플리케이션을 접하고 있습니다.

딥러닝 시대에 멀티모달 AI는 심층 신경망 덕분에 획기적인 발전을 이루었습니다. 가장 경쟁력 있는 아키텍처 중 하나는 트랜스포머로, 이는 멀티모달 AI에 새로운 도전과 기회를 제공하고 있습니다. 거대 언어 모델과 Frozen, VL-Adapter, Flamingo, BEiT, PaLI 등 멀티모달 파생 모델들의 최근 성공은 트랜스포머가 멀티모달 AI를 위한 파운데이션 모델을 생성하는 데 있어 핵심적인 잠재력을 가지고 있음을 보여줍니다.

3.2 - 멀티모달 사전 학습

2021년, CLIP이 제안되면서 새로운 이정표가 세워졌습니다. CLIP은 멀티모달 사전 학습을 사용하여 분류 문제를 검색 작업으로 변환하며, 이를 통해 사전 학습된 모델이 제로샷(zero-shot) 인식 작업을 해결할 수 있도록 합니다. 이처럼 CLIP은 대규모 멀티모달 사전 학습을 완전하게 활용하여 제로샷 학습을 가능하게 한 성공적인 프랙티스입니다. 이는 많은 멀티모달 작업의 주요 돌파구가 되었습니다. 최근에는 CLIP 사전 학습 모델 기반 제로샷 시맨틱 세그멘테이션, ALIGN, MAD, ALBEF, CoCa 등의 다른 연구들에서 CLIP의 아이디어가 더욱 깊이 있게 탐구되고 있습니다.

3.3 - 멀티모달 빅데이터 트렌드

최근 몇 년 동안 소셜 미디어 및 온라인 쇼핑과 같은 새로운 애플리케이션의 등장과 함께 인터넷이 급속도로 발전했습니다. 이에 따라 많은 새로운 멀티모달 데이터셋이 생성되었습니다. 가장 잘 알려진 것들로는 Conceptual Captions, COCO, VQA, Visual Genome, SBU Captions, Cooking312K, LAIT, e-SNLI-VE, ARCH, Adversarial VQA, OTT-QA, MultiModalQA, VALUE, Fashion IQ, LRS2-BBC, ActivityNet, VisDial 등이 있습니다.

이러한 데이터셋들의 새로운 트렌드는 다음과 같습니다:

  1. 데이터셋의 규모가 점점 확장되고 있습니다. 최근 출시된 것 중 일부는 Product1M, Conceptual12M, RUC-CAS-WenLan (30M), HowToVQA69M, HowTo100M, ALT200M, LAION-400M, LAION-5B처럼 수백만에서 수십억 단위에 이르는 규모입니다.

  2. 더 많은 모달리티가 통합되고 있습니다. 시각, 텍스트, 오디오 외에도 Pano-AVQA(360도 비디오에 대한 최초의 대규모 공간 및 시청각 질의응답 데이터셋), YouTube-360 (YT-360)(360도 비디오), AIST++(3D 댄스 동작과 음악으로 구성된 수려한 멀티모달 데이터셋), ArtEmis(시각 예술을 위한 감성 언어) 등 새롭고 다양한 모달리티가 등장하고 있습니다. 놀랍게도 MultiBench는 무려 10개의 모달리티를 포함하는 데이터셋입니다.

  3. 적용 범위가 확대되고 있습니다. 일반적인 캡션 및 QA 데이터셋을 넘어, CIRR(실제 이미지), Bed and Breakfast (BnB)(시각 및 언어 기반 탐색), M3A(금융 데이터셋), X-World(자율 주행) 등 더 많은 애플리케이션과 시나리오가 연구되고 있습니다.

  4. 작업의 난이도가 더욱 높아지고 있습니다. 직관적인 작업 외에도 메타포 이해를 위한 멀티모달 데이터셋인 MultiMET이나 멀티모달 밈 속의 혐오 표현을 판별하는 Hateful Memes와 같이 훨씬 더 추상적인 멀티모달 작업들이 제안되고 있습니다.

  5. 하우투(Instructional) 비디오가 점점 인기를 얻고 있습니다. 대표적으로 YouCook2의 요리 비디오 등이 있습니다. 일련의 지시 사항을 특정 작업을 수행하는 사람의 비디오에 정렬하는 것은 강력한 사전 학습 프레텍스트 작업(pretext task)의 예시입니다(What’s Cookin’? 참고). 프레텍스트 작업은 모델이 이를 해결하는 과정에서 유용한 표현을 자연스럽게 학습하도록 설계된 사전 작업입니다.

트랜스포머는 다른 딥러닝 신경망 아키텍처와 마찬가지로 방대한 데이터를 필요로 합니다. 따라서 대용량 모델과 멀티모달 빅데이터 기반이 결합되어 트랜스포머 기반 멀티모달 머신러닝의 전성기를 함께 이끌어가고 있습니다. 예를 들어, 빅데이터는 VLP 트랜스포머 모델에 제로샷 학습 기능을 불어넣어 줍니다.

4 - 비디오 표현

많은 사용자가 정보를 생성하고 전달하는 수단으로 비디오를 선택하고 있습니다. 이미지, 움직임, 사운드가 결합되어 몰입감 있고 유익한 정보를 제공하는 훌륭한 매체이기 때문입니다. 그러나 비디오 데이터는 이미지, 언어, 오디오를 동시에 처리해야 하므로 작업 관리가 까다로울 수 있습니다(즉, 비디오 자체가 멀티모달입니다). 이에 더불어 고차원의 데이터를 다루고 동적 움직임을 모델링하는 것은 비디오 영역만의 고유한 과제입니다.

비디오 임베딩은 비디오의 시각적, 언어적, 청각적 콘텐츠를 압축적이고 유의미한 방식으로 포착하는 수치적 표현입니다. 자연어 처리에서 단어 임베딩이 단어를 밀집 벡터로 나타내는 것과 마찬가지로, 비디오 임베딩은 비디오의 의미론적이고 문맥적인 정보를 포착하는 것을 목표로 합니다.

비디오 임베딩은 컴퓨터 비전 및 멀티미디어 분석에서 다양하게 활용됩니다. 비디오 분류, 비디오 검색, 비디오 요약, 비디오 추천 등의 작업에 사용할 수 있습니다. 예를 들어, 비디오를 임베딩으로 표현하면 메타데이터나 텍스트 설명에만 진정으로 의존하는 대신 콘텐츠를 바탕으로 유사한 비디오를 비교하고 검색하기가 훨씬 쉬워집니다.

트랜스포머 아키텍처는 유연성이 높아서 다양한 유형의 데이터를 모델링하는 데 사용할 수 있습니다. 최근에는 트랜스포머를 비디오 모델링에 맞게 조정한 많은 비디오 트랜스포머(Video Transformer) 연구가 진행되었습니다. 트랜스포머에 입력하기 전에 비디오는 몇 가지 전처리 과정을 거쳐야 합니다. 이 과정에는 토큰화(tokenization), 임베딩(embedding), 포지셔닝(positioning)이 포함됩니다. 예를 들어 위의 그림은 Video Vision Transformer 논문에서 발췌한 것입니다. 저자들은 비디오를 토큰 시퀀스로 매핑하는 두 가지 단순한 방법(균일 프레임 샘플링 및 튜브릿 임베딩)을 고려하고 고안했습니다. 그런 다음 위치 임베딩(positional embedding)을 추가하고 토큰들의 형태를 변형하여 트랜스포머에 입력될 최종 입력을 얻어냅니다.

토큰화, 임베딩, 포지셔닝에 대한 세부 전략은 해결하려는 비디오 모델링 작업과 사용 가능한 데이터의 특성에 따라 달라질 수 있습니다.

4.1 - 비디오 토큰화 기술

토큰화는 비디오를 트랜스포머 모델의 입력으로 사용할 수 있는 '토큰(token)'이라는 더 작은 단위로 분할하는 과정입니다. 비디오 가공에 흔히 사용되는 토큰화 기술은 다음과 같습니다:

1 - 프레임 수준 토큰화 (Frame-level tokenization)

이 기술에서는 비디오의 각 프레임을 하나의 토큰으로 취급합니다. 프레임들은 순차적으로 인코딩되어 트랜스포머 모델에 입력됩니다. 이 접근 방식을 통해 모델은 프레임 수준에서 시간적 정보를 포착할 수 있습니다.

2 - 클립 수준 토큰화 (Clip-level tokenization)

각 프레임을 개별 토큰으로 다루는 대신, 연속된 프레임들을 하나의 클립으로 그룹화하는 기술입니다. 각 클립은 토큰화되어 하나의 단위로 처리됩니다. 이 접근 방식은 토큰의 수를 줄여주므로 재생 시간이 긴 비디오를 처리할 때 더 효율적입니다.

3 - 공동 토큰화 (Co-tokenization)

이 기술은 비디오와 그에 대응하는 텍스트 설명을 함께 토큰화하는 과정이 수반됩니다. 비디오 토큰과 텍스트 토큰을 융합하여 시각적 및 텍스트 정보를 모두 담은 공동 표현을 생성합니다. 이 접근 방식은 비디오 질의응답 작업에서 효과적인 성능을 보여왔습니다.

4 - 객체 수준 토큰화 (Object-level tokenization)

비디오 내에서 관심 있는 객체나 영역을 탐지하고 세분화하여, 각 객체 또는 영역을 별개의 토큰으로 다루는 기술입니다. 이 접근 방식은 객체 탐지나 행동 인식과 같은 작업에 유용하게 사용될 수 있습니다.

4.2 - 비디오 임베딩 전략

비디오 모델에서 사용되는 서로 다른 임베딩 전략은 성능에 다양한 영향을 미칠 수 있습니다. 대표적인 예는 다음과 같습니다:

1 - 이미지 기반 임베딩 (Image-based embedding)

Inception-V3나 ResNet과 같이 사전 학습된 이미지 모델을 사용하여 비디오의 각 프레임에서 시각적 특징을 추출하는 전략입니다. 그 후 풀링(pooling)이나 전결합층(fully connected layers)과 같은 기술을 통해 이러한 특징들을 임베딩으로 변환합니다. 이미지 기반 임베딩은 상세한 시각적 정보를 훌륭히 포착할 수 있어 객체 탐지나 장면 이해와 같은 작업에 효과적입니다.

2 - 오디오 기반 임베딩 (Audio-based embedding)

시각적 특징 외에도 비디오에서 오디오 특징을 추출할 수 있습니다. 스펙트로그램 분석이나 오디오 임베딩 기술을 사용하여 오디오 신호를 벡터 표현으로 변환할 수 있습니다. 오디오 기반 임베딩은 사운드 관련 정보를 포착하여 시청각 동기화나 사운드 이벤트 탐지 등의 작업에 유용하게 쓰입니다.

3 - 공동 시청각 임베딩 (Joint audio-visual embedding)

시각적 특징과 오디오 특징을 결합하여 공동 임베딩을 구성하는 전략입니다. 두 모달리티 간의 상관관계를 포착할 수 있도록 시각 및 오디오 특징은 일반적으로 모델 아키텍처의 특정 시점에서 융합됩니다. 공동 임베딩은 비디오 캡셔닝이나 비디오 검색과 같은 작업에 유용할 수 있습니다.

4 - 시간적 임베딩 (Temporal embedding)

시간적 임베딩 전략은 비디오의 시간적 동역학(dynamics)을 포착하는 데 중점을 둡니다. 이는 광학 흐름(optical flow)이나 모션 벡터와 같은 시간 정보를 임베딩 프로세스에 통합함으로써 수행됩니다. 시간적 임베딩은 모델이 비디오 속 서로 다른 프레임이나 클립 간의 움직임 및 시간적 관계를 이해하는 데 도움을 줍니다.

5 - 공간적 임베딩 (Spatial embedding)

공간적 임베딩 전략은 비디오 안에서 관심 있는 서로 다른 영역 간의 공간적 관계를 포착하는 것을 목표로 합니다. 이는 영역 기반 임베딩이나 특정 공간적 위치에 주목하는 어텐션 메커니즘을 사용하여 달성할 수 있습니다. 공간적 임베딩은 객체 추적이나 행동 인식 같은 작업에 유용합니다.

4.3 - 위치 임베딩(Positional Embeddings)의 역할

셀프 어텐션(Self-attention)은 트랜스포머의 핵심 연산입니다. 시퀀스 안의 다른 임베딩 정보들로 각 토큰 임베딩을 강화합니다. 셀프 어텐션은 집합 단위로 작동하기 때문에, 비디오의 시공간적 구조를 온전히 활용하려면 위치 정보를 표시해 주는 것이 매우 중요합니다. 이는 트랜스포머 내에서 비디오 프레임이나 클립의 시간적 위치 정보를 인코딩하는 위치 임베딩(positional embeddings, PE)을 사용하여 수행됩니다.

트랜스포머 모델에서 비디오 데이터를 다룰 때 자주 사용되는 포지셔닝 방법은 다음과 같습니다:

1 - 학습된 위치 임베딩 (Learned positional embedding)

트랜스포머 모델을 학습하는 동안 위치 인코딩을 함께 학습하는 방식입니다. 모델은 비디오 시퀀스 내에서 프레임이나 클립의 상대적 위치를 인코딩하는 방법을 학습합니다. 이 방법을 사용하면 모델이 비디오 데이터의 시간적 순서를 자연스럽게 포착할 수 있습니다.

2 - 고정된 위치 인코딩 (Fixed positional encoding)

이 방식에서는 고정된 형태의 위치 인코딩이 비디오 임베딩에 추가됩니다. 이러한 인코딩은 비디오 시퀀스 내 프레임이나 클립의 절대적인 위치 정보를 제공합니다. 고정된 위치 인코딩은 사인 및 코사인 함수 또는 기타 미리 정의된 패턴을 기반으로 할 수 있습니다.

3 - 상대적 위치 인코딩 (Relative positional encoding)

비디오 시퀀스 내 프레임 또는 클립 간의 상대적인 위치 정보를 반영하는 방식입니다. 연속되는 프레임이나 클립 사이의 거리 또는 시간 간격을 고려합니다. 상대적 위치 인코딩은 트랜스포머 모델의 추가 입력으로 전달되거나 셀프 어텐션 메커니즘에 직접 통합될 수 있습니다.

4 - 하이브리드 접근 방식 (Hybrid approaches)

비디오 데이터의 절대적 위치와 상대적 위치를 모두 포착하기 위해 다양한 유형의 위치 인코딩을 결합하는 방법입니다. 여기에는 고정된 위치 인코딩과 학습된 위치 인코딩을 조합하여 사용하거나, 셀프 어텐션 메커니즘에 상대적인 위치 정보를 통합하는 방식 등이 포함될 수 있습니다.

5 - 프로덕션 환경에서의 임베딩

임베딩 기반의 엔지니어링 시스템(예: 파운데이션 모델 구축)은 빌드하고 유지 관리하는 데 컴퓨팅 비용이 많이 들 수 있습니다. 최근 임베딩의 생성, 저장 및 관리 필요성이 대두되면서 관련 제품의 강력한 에코시스템이 폭발적으로 정립되기 시작했습니다. 특히, 머신러닝 시스템에서 최근접 이웃(nearest neighbors) 의미론적 쿼리를 프로덕션 환경에 즉시 사용할 수 있도록 지원하는 벡터 데이터베이스 분야의 눈부신 발전이 주목받고 있습니다.

5.1 - 실무에서의 임베딩

프로덕션 환경에서는 활용 가능한 GPU 자원이 충분하다면 독자적인 임베딩 모델을 직접 학습시켜 모델 내부 동작을 긴밀하게 파악할 수 있습니다. 또는 사전 학습된 임베딩을 가져와 특정 유스케이스에 맞게 조정하여 사용할 수도 있습니다. 오늘날 우수한 역량을 갖춘 많은 기업이 이 두 가지 방식을 모두 활용하여 임베딩을 실무에 적용하고 있습니다. 특히 YouTube는 생산형 추천 시스템 맥락에서 비디오 임베딩 연구를 공식적으로 공유한 최초의 대기업 중 하나로, 당시 "YouTube 추천을 위한 심층 신경망(Deep Neural Networks for YouTube Recommendations)" 논문을 배포했습니다.

YouTube는 8억 개 이상의 콘텐츠(영상)와 26억 명의 활성 사용자를 보유하고 있으므로, 사용자에게 기존 콘텐츠를 빠르고 예리하게 추천하는 동시에 끊임없이 업로드되는 새로운 콘텐츠로도 안정적으로 일반화할 수 있어야 합니다. 이러한 맞춤 추천은 사용자가 새 페이지를 로드하는 추론 시점(inference time)에 지연 시간(latency)을 줄여 실시간으로 신속하게 서빙되어야 합니다.

YouTube는 두 개의 딥러닝 모델을 기반으로 2단계 비디오 추천 시스템을 구축한 노하우를 공유했습니다. 여기서 머신러닝 작업은 YouTube 추천 화면에서 특정 시점에 사용자가 클릭할 만한 가장 적절한 다음 비디오를 예측하는 것입니다. 최종 출력은 다음과 같은 분류 문제로 정의됩니다: 사용자의 입력 특징과 비디오의 입력 특징이 주어졌을 때, 사용자가 특정 비디오를 시청할 것으로 예측되는 시간과 확률을 포함하여 사용자에 대한 클래스를 결정할 수 있는가?

이 모델을 개발하기 위해 두 가지 임베딩 세트를 입력 데이터로 사용합니다: (1) 사용자와 해당 컨텍스트를 특징으로 표현하는 임베딩, (2) 비디오 아이템을 표현하는 임베딩. 이 모델에는 정형 데이터 기반의 특징과 함께 임베딩 기반의 특징을 포함한 수많은 변수가 활용됩니다. 임베딩 기반 특징에는 다음이 포함됩니다:

  • 사용자 시청 기록 - 사용자가 지금까지 어떤 비디오를 시청했는지 보여주는 벡터로, 희소(sparse) 비디오 ID가 밀집(dense) 벡터로 매핑된 형태입니다.

  • 사용자 검색 기록 - 사용자가 특정 검색어를 입력한 후 어떤 비디오를 클릭했는지 나타냅니다. 이 또한 사용자 시청 기록과 동일한 공간에 매핑된 희소 벡터로 표현됩니다.

  • 사용자의 지역, 연령, 성별 - 정형 성격의 테이블 특징으로 표현됩니다.

  • 시간이 경과함에 따라 사용자별로 정규화된, 특정 영상이 이전에 노출된 횟수.

이 모든 특징이 결합되어 하나의 아이템 임베딩(item embedding)을 이룹니다. 사용자 측면에서는 모든 임베딩 성분이 블렌딩되어 하나의 사용자 임베딩(user embedding)이 됩니다. 이 임베딩들은 모델의 소프트맥스(softmax) 레이어로 공급됩니다. 소프트맥스 레이어는 해당 출력값(즉, 사용자가 아이템과 상호작용할 확률)을 실제 정답(ground truth) 아이템 집합과 비교합니다. 정답 아이템은 사용자가 이미 상호작용한 적이 있는 아이템들을 의미합니다. 어떤 아이템의 로그 확률은 질의(query) 임베딩과 아이템 임베딩이라는 두 개의 n차원 벡터의 내적(dot product)으로 정의됩니다.

5.2 - 엔지니어링 관점에서의 임베딩 과제

임베딩을 사용하는 프로덕션 수준의 머신러닝 시스템은 임베딩 생성 및 저장, 개념 드리프트(concept drift) 감지, 추론 및 지연 시간 최적화, 오프라인 및 온라인 시스템 평가 등 수많은 유기적 구성 요소로 이루어져 있습니다. 이 중 임베딩과 가장 직접적으로 연관된 처음 두 단계에 대해 살펴보겠습니다.

임베딩 생성 (Embeddings Generation)

우리는 임베딩이 일반적으로 신경망 모델 학습의 부산물로 생성된다는 점을 살펴보았습니다. 보통 분류나 회귀 분석을 위해 최종 출력 레이어 직전에 위치한 뒤에서 두 번째 레이어가 사용됩니다. 이러한 임베딩을 생성하는 데에는 두 가지 접근 방식이 있습니다. 첫째는 YouTube가 했던 것처럼 스스로 전용 모델을 직접 학습시키는 것입니다.

하지만 딥러닝 모델의 큰 장점 중 하나는 이미 사전 학습된 모델들을 조화롭게 활용할 수 있다는 점입니다. 사전 학습 모델은 우리가 해결하려는 작업과 유사한 종류의 풍부한 데이터셋으로 이미 대규모 학습을 마친 상태로 제공되는 모델을 뜻하며, 미세 조정(fine-tuning)을 거쳐 다운스트림 작업에 즉시 투입될 수 있습니다.

모델을 미세 조정할 때도 처음부터 학습시킬 때와 동일한 단계를 따릅니다. 학습 데이터, 모델, 최소화할 손실 함수(loss function)가 존재합니다. 다만 몇 가지 차이점이 있습니다. 새로운 작업을 해결하기 위해 기존 사전 학습 모델에서 최종 출력 레이어만 작업 성격에 맞춰 새로 초기화한 뒤 복제하여 새 모델을 구성합니다. 학습이 시작되면 이 파라미터들은 임의로 초기화하고 이전 레이어의 파라미터만 조정하여 이 작업에 집중하도록 합니다. 이 방식을 취하면 방대한 리소스를 투입하여 거대한 시스템을 통째로 학습시킬 필요 없이 미세 조정된 모델의 타겟을 효율적으로 재정렬할 수 있습니다.

이렇게 생성된 임베딩은 PCA나 t-SNE 같은 기술을 사용하여 차원을 축소하고, 검색 또는 쿼리 처리 시 빠르고 효율적인 검색이 가능하도록 적절한 데이터 구조를 사용하여 인덱싱함으로써 유용하게 개선할 수 있습니다(자세한 내용은 아래에서 다룹니다).

임베딩 검색 (Embeddings Retrieval)

모델 학습을 완료하면 모델 내부에서 임베딩을 정교하게 추출해야 합니다. 학습된 모델은 가중치, 편향, 레이어, 학습률 등 모델 파라미터에 대한 모든 것을 담고 있는 데이터 구조를 반환합니다. 임베딩은 이 모델 객체에 포함된 레이어 중 하나로, 처음에는 메모리 내(in-memory)에 위치합니다. 모델을 디스크에 저장할 때 이를 모델 객체의 일부로 함께 기록하며, 이후 재학습을 시키거나 추론을 실행할 때 시리얼라이즈하여 메모리에 로드합니다.

모델을 구축할 때 임베딩을 활용하는 방법은 다양합니다. 임베딩을 저장하는 가장 단순한 방법은 인메모리 numpy 배열을 사용하는 것입니다. 하지만 보다 고도화된 작업을 위해서는 다음과 같은 과정이 수행될 수 있습니다:

  • 추론 과정에서 실시간으로 배치 단위 혹은 개별 단위로 추출하기

  • 오프라인으로 임베딩의 성능 지표를 분석하기

  • 임베딩을 변환하여 새로운 피처 컬럼 생성하기

  • 개발된 새로운 모델로 기존 임베딩을 안정적으로 점검 및 업데이트하기

  • 다양하게 파생된 임베딩의 버전 관리 내역을 정밀하게 보존하기

  • 새로운 문서를 입력받아 적합한 임베딩으로 인코딩하기

대부분의 이러한 작업을 매끄럽게 처리할 수 있는 가장 정교하고 맞춤 설정이 가능한 소프트웨어가 바로 벡터 데이터베이스(vector database)입니다. 다만 그 전 단계로 PostgresSQLite 같은 데이터베이스의 벡터 검색 플러그인, 또는 Redis 같은 캐시 메모리를 가볍게 고려해보는 편이 좋습니다.

임베딩을 다룰 때 수행하는 가장 중추적인 작업은 벡터 검색(vector search)입니다. 이는 우리가 보유한 것과 가장 유사한 임베딩을 식별하여 유사도가 높은 아이템들을 원활하게 찾아내도록 돕습니다. 벡터 검색을 정밀하게 수행하기 위해서는 사용 중인 데이터 구조 내에서 효율적으로 탐색하고 이들을 비교하여 가장 일치하는 요소를 검출하는 구조적 장치가 필요합니다.

관계형 데이터베이스는 노드 계층 내에서 아이템을 오름차순으로 정렬하는 b-tree 구조를 활용하므로 읽기 속도가 빠릅니다. 하지만 테이블 열을 기준으로 삼는 방식으로는 다차원 벡터를 실시간 수준으로 신속하게 찾아내기 어렵기 때문에 완전히 구별되는 전용 아키텍처를 도입해야 합니다. 수많은 벡터 저장 장치에서 벡터 검색을 효율적으로 실행하기 위해 채택하고 있는 역색인(inverted indices) 구조가 훌륭한 예시입니다.

표준적인 형태의 임베딩 저장소는 세 가지 코어 파트인 임베딩 자체, 이를 원래의 단어나 그림, 텍스트로 되돌려 매핑해 주는 인덱스, 다양한 최근접 이웃 알고리즘을 사용해 서로 다른 종류의 임베딩 간 유사도를 비교해 주는 정밀한 비교 엔진으로 구성됩니다.

임베딩을 비교하는 대표적이고 친근한 척도 중 하나는 바로 코사인 유사도(cosine similarity)입니다. 그러나 수백만 개 단위의 대규모 벡터 세트를 직접 대조할 때는 연산이 느려지고 효율성이 떨어질 수 있습니다. 이러한 한계를 보완하기 위해 근사 최근접 이웃(approximate nearest neighbor, ANN) 알고리즘이 개발되었으며, 이는 벡터 원소들을 기반으로 유기적인 이웃 영역을 구획하여 주어진 벡터의 k-최근접 이웃을 정교하게 식별해 냅니다. 현대 필드에서 가장 신뢰받고 널리 쓰이는 두 가지 라이브러리는 HNSW(hierarchical navigable small worlds)와 FAISS이며, 이들은 독립 라이브러리로 작동할 뿐만 아니라 기존의 수많은 전문 벡터 저장 장치에 내장되어 견고한 역할을 수행하고 있습니다.

전수 탐색과 최근접 이웃 탐색 간의 트레이드오프(trade-off) 관계에서, 후자는 상대적으로 정확도는 미세하게 양보하되 연산 속도를 큰 폭으로 끌어올릴 수 있습니다. 모델의 정밀도(precision)와 재현율(recall)을 면밀히 평가할 때 이러한 상충 관계를 정량화해 보고, 시스템 연산 부하를 염두에 두면서 사내 비즈니스에서 요구하는 임베딩의 정밀성 수준과 실시간 추론 지연 시간 수준을 확고하게 비교 결정하는 절차가 필요합니다.

6 - 결론

지금까지 벡터 임베딩의 멀티모달 진화 과정과 다양한 애플리케이션에서의 핵심적인 역할에 대해 긴밀하게 살펴보았습니다.

  • 임베딩에 대한 간결한 정의로 시작하여 텍스트, 이미지 및 오디오를 표현할 수 있는 다양한 단일 모달 임베딩의 기틀을 짚어보았습니다.

  • 멀티모달 데이터 표현 방식이 현대적인 발전을 마주하고 트랜스포머 모델의 뛰어난 범용성이 입증됨에 따라 임베딩의 가치는 몰라보게 높아졌습니다. 또한 토큰화 및 임베딩 전략을 통해 비디오 영역의 표현 방식을 구조적으로 함께 탐구해 보았습니다.

  • 마지막으로 임베딩을 정밀하게 생성하고 체계적으로 보관하는 흐름을 포괄하여, 실제 프로덕션 현장에서 임베딩 파이프라인을 엔지니어링하는 생생한 맥락을 파악해 보았습니다.

벡터 임베딩의 발전은 특히 다루기 까다로운 비디오 데이터 영역을 필두로 복잡다단한 비정형 데이터를 한 차원 높게 이해하고 가공할 수 있는 새로운 도약의 기회를 제공했습니다. 관련 연구 및 구현 기술이 점차 고도화되고 성숙해짐에 따라 다가오는 미래에는 훨씬 더 혁신적인 애플리케이션 시나리오를 목격하게 될 것입니다.

Twelve Labs에서는 멀티모달 비디오 이해를 위한 독보적인 비디오 파운데이션 모델을 깊이 있게 고안하고 있습니다. 즉, 가공되지 않은 네이티브 비디오 소스에서 핵심적인 비디오 임베딩을 추출하여 비디오 검색비디오 분류와 같은 다양한 다운스트림 비디오 이해 작업을 유연하게 주도해 나가고 있습니다. 저희의 미션은 전 세계 개발자들이 당사의 가장 혁신적인 비디오 이해 인프라를 활용하여 사람처럼 보고, 듣고, 세상을 온전히 이해할 수 있는 탁월한 차세대 소프트웨어를 매끄럽게 제작해 낼 수 있도록 든든히 뒷받침하는 것입니다.

Twelve Labs의 행보를 더욱 자세히 지켜보고 싶으시다면 https://playground.twelvelabs.io/에 가입하셔서 데모를 사용해 보시고, 당사에서 주도하는 Multimodal Minds 디스코드 커뮤니티에 방문하여 멀티모달 AI에 관한 다채로운 영감을 함께 공유해 보세요!