3 분 소요

강의 6

  • Multi-modal learning overview

    • Multi-modal => 여러 종류의 데이터 사용

    • Challenges in multi-modal learning

      • modalities 데이터 구조가 서로 굉장히 다름 (Audio = 1D wave form, Image = matrix, Text = vector)

      • 아키텍처의 설계 구조의 설계가 중요해짐

      • 데이터 구조안에 들어있는 정보량도 다름

        • ex.) Test space 한줄 문장 => N개의 이미지 1:N 의 매칭관계를 가짐

        • 1대 다의 경우 regression task로는 해결되지 않는 어려움이 있다

      • 여러개의 모델 사용시 모델이 특정 modality에 편향될 수 있음

        => 하나의 모달리티를 썼을 때보다 두개를 섞었을 때 성능이 더 떨어지는 현상

        • 두 modality의 dimension 차이가 날 경우 가중치 또한 차이가 커 상대적으로 작은 차원의 모달리티는 y에 기여할 수 있는 확률이 적어짐
      • 그럼에도 multi-modal learning is fruiful and important

    • 우리의 뇌 => 다양한 모달리티 정보들을 하나의 컨셉 space에 매핑해서 하나의 공통 컨셉을 학습하는 방식

    • 멀티모달 개발할 때도 이러한 방식으로 나아감

  • Multi-modal - Data representation

    • Visual data

      • image data => 행렬 구조, 3D tensor구조(RGB)
      • Video data => stack of image frames (4D)
      • 3D data structure
        • Multi-view images, Volumetric, Part assembly, Point cloud, Mesh, Implicit shape
    • Text embedding

      • 문자을 잘게 쪼개는 것 => Tokenization
      • 단어 단위 subword단위로 쪼갬
      • Token ID to embedding => 텍스트의 토큰이 단순한 숫자에서 의미를 담은 벡터로 변환되는 과정
      • Word2Vec - skip-gram model
    • Sound representation

      • waveform => Power spectrum => Spectrogram

      • waveform => x축은 시간 y축은 신호의 진폭

      • Power spectrum=> x축 주파수, y축 해당 주파수의 강도

        • Fourier transform 을 통해 파형에서 변환함
      • Spectogram => 시간에 따라 신호의 주파수 성분이 어떻게 변화하는지 보여주는 2차원 그래프

        • x축은 시간, y축은 주파수, 색깔 또는 명암 => 해당 주파수 성분의 강도
      • Waveform: 시간에 따른 신호의 변화(진폭)를 보여줌

        Power Spectrum: 신호를 주파수 성분으로 분해하여 각 주파수의 강도를 보여줌

        Spectrogram: 신호의 주파수 성분이 시간에 따라 어떻게 변하는지를 시각적으로 표현함

  • Multi-modal alignment

    • Joint embedding space를 학습한다

    • 다른 modality를 동일한 feature 벡터 스페이스 상에 옮겨서 매칭이 가능하도록 하는데 맹점

    • image tagging

    • CLIP

      • 이 세상의 모든 데이터를 기억할 수 있다면? => classification을 search로 해결할 수 있다!

      • 이는 불가능이기 때문에 compression 이용해서 간단하게 모델화하는 것이 머신러닝의 핵심

      • natural language와 image data가 페어가 되어있으면 두개의 관계를 joint embeddig을 학습함으로써 관계성 학습

      • 다양한 도메인에서 일관되게 높은 성능을 발휘

      • Contracstive learning => 매칭 이미지는 당기고 non-matching 이미지는 밀어내는 형태로 학습

      • text embedding과 image embedding으로 변환을 하고 각각의 cosine similarity를 계산하여 n x n 매트릭스를 구성

      • 서로 페어가 되는 것끼리는 maximize, 페어가 아닌 애들끼리는 minimize하는 방식으로 학습이 진행됨

        • 이때 학습 코드에서 cosine similarities 계산에 np.exp(t)는 temperature를 조절하기 위해서 있는데
        • 이는 cross_entroy_loss를 어느정도 민감도로 학습할지 결정하는 중요한 파라미터
      • image captioning, image stylization with language, text-to image generation 등 폭넓은 어플리케이션 사용가능

      • Image captioning with pre-trained CLIP

        • ZeroCap
          • Image captioning => 이미지의 내용을 설명하는 텍스트를 자동으로 생성하는 기술
          • 일반적으론 이미지와 이미지에 대한 설명이 함께 주어진 데이터셋으로 학습
          • ZeroCap => Zero-shot학습으로 또 다른 훈련을 하지 않고 단지 하나의 샘플에 대해 최적화 것만으로 caption을 찾아냄
          • Context feature만 업데이트하는 방식으로 하나의 이미지에 대해 최적화를 하는 방식
          • Language fluency를 유지하는 cross-entropy loss와 이미지와 출력된 텍스트 간의 alignment를 잘 맞추는 loss function 두개로 구성되어 caption을 찾는 형태
        • StyleCLIP
          • text는 고정하고 image를 optimization하는 방법으로 응용
          • L_clip은 manipulated image와 text prompt간에 얼마나 일치하는지 Loss로 표현해서 backpropagation
          • residual 파트 하나만 학습이 되도록 유도
        • 3D avatar with pre-trained CLIP
          • 3D는 이미지로 구성이 되어있지 않기 때문에 Rendering techinique 사용함 => 이미지 형태로 converting한 뒤
          • CLIP에 입력으로 넣고 text와의 alignment를 측정하는 방식으로 LOSS를 만들고 backpropagation흐름 만듦
        • ImageBIND
          • Merging image, video, text, audio, depth, thermal, IMU 를 하나의 SPACE에 올려놓는 시도
  • Cross-modal Translation

    • 하나의 modality에서 다른 modality로 번역하는 형태의 애플리케이션
    • input과 output의 modality가 변환되는 모델들을 Cross-modal Translation이라고 함
    • TEXT to image generation
      • DALL-E 2
      • 먼저 CLIP을 학습해놓고 이미지를 생성하는 diffusion model을 별도로 생성해서 연결하는 모듈방식으로 접근
    • Sound to image synthesis
      • modality gap
      • Outlier 문제 때문에 sound-to-image는 어려운 문제
      • Video로부터 input frame을 뽑고 그에 해당하는 audio를 뽑아 Spectrogram형태로 가지고 있음
      • self-supervised learning이나 pretrained model을 이용하여 Image encoder와 Image generator를 학습진행함
      • image generator를 strong하게 학습시켜놓음 그 뒤 encoder와 generator를 fix시킴
      • strong한 visual feature에다가 잘 align되는 형태로 audio가 학습이 됨
      • audio가 noisy하고 background소음이 있는 input이 들어오더라도 그 내에서 visual feature와 연관된 부분들을 잘 추출하는 strong한 audio encoder가 학습이 될 수 있음
      • 각각의 module별로 단계에 맞춰서 학습을 진행하여 모듈 구성
    • Speech to Face synthesis
    • Image to speech synthesis
    • Cross-modal 모델을 구현을 할 때 한번에 end-to-end training을 하기보다는 작은 문제로 break down하자는게 핵심
    • Strong한 Decoder를 학습을 잘 시켜놓고 input modality와 decoder 사이의 bridging부분을 잘 학습하는 module approach가 효과적이다

업데이트:

댓글남기기