AI바라기의 인공지능

Vision : 논문리뷰 : Visual Concepts Tokenization 본문

논문리뷰

Vision : 논문리뷰 : Visual Concepts Tokenization

AI바라기 2024. 10. 9. 17:42

Abstract

 

기계 학습 분야에서 시각 개념을 구체적인 픽셀에서 추상화하는 인간과 유사한 인식 능력을 얻는 것은 항상 기본적이고 중요한 목표였다. 이 목표를 달성하기 위해, 우리는 비지도 학습 기반의 transformer 기반 시각 개념 토큰화 프레임워크인 VCT를 제안한다. VCT는 이미지를 각각 하나의 유형의 독립적인 시각 개념에 대응하는 일련의 분리된 시각 개념 토큰으로 인식한다. 특히, 이러한 개념 토큰을 얻기 위해, 우리는 개념 토큰 간의 자기 주의 없이 이미지 토큰 계층에서 시각 정보를 추출하기 위해 오직 교차 주의만을 사용하여 개념 토큰 간의 정보 유출을 방지한다. 또한, 우리는 다른 개념 토큰이 독립적인 시각 개념을 나타내도록 촉진하기 위해 개념 분리 손실을 제안한다. 교차 주의와 분리 손실은 각각 개념 토큰에 대한 유도와 상호 배타의 역할을 한다. 여러 인기 있는 데이터 세트에 대한 광범위한 실험은 분리된 표현 학습 및 장면 분해 작업에서 VCT의 효과를 입증한다. VCT는 큰 차이로 최첨단 결과를 달성한다.

 

 

Introduction

 

딥 러닝이 분류, 검출, 분할과 같은 다양한 비전 작업에서 괄목할 만한 성공을 거두었지만, 여전히 막대한 양의 학습 데이터를 요구하고, 낮은 견고성과 일반화 능력, 그리고 해석성 부족이라는 문제점을 가지고 있습니다. 기존의 비전 작업은 의미론이나 객체 위치와 같은 시각적 개념을 인위적으로 사전 정의된 지도에서 학습합니다. 반면, 인간은 구체적인 시각 신호에서 추상적인 개념을 추출하여 이를 바탕으로 세계를 포괄적으로 이해하고 묘사할 수 있습니다.

 

관찰에서 시각적 개념을 학습하기 위해, Bengio 등은 관측된 데이터에 숨겨진 설명적 요인으로 시각적 개념을 발견하기 위해 분리된 표현 학습을 제안했습니다. 분리된 표현을 달성하기 위해, VAE나 GAN을 기반으로 하는 기존 연구들은 잠재 공간의 확률 기반 정규화에 의존했지만, 확률 제약만으로는 근본적으로 불가능하다는 것이 증명되었습니다. 식별 문제를 해결하기 위해 유도적 편향을 도입하는 것이 필요합니다. 또한, 이러한 방법은 여러 객체가 있는 복잡한 장면에서 실패하는 경우가 많습니다. 이러한 복잡한 장면을 해결하기 위해, 시각적 개념을 학습하는 또 다른 분야는 장면 이미지를 다른 객체 영역으로 공간적으로 분해하는 것을 목표로 합니다. 일반적으로 이러한 방법은 명시적인 공간적 분해에 의존하며 전역 시각적 개념을 학습할 수 없습니다. 본 논문에서는 특히, 시각적 개념을 픽셀에서 학습하는 일반적인 방법을 찾는 데 관심이 있으며, 이는 분리된 표현 학습과 장면 분해라는 두 가지 분야를 모두 포함합니다.

 

자연어 처리에서 유래한 토큰화는 입력 문자열을 토큰이라는 섹션으로 구분하는 과정을 의미합니다. 시각적 신호에 대해, 우리는 시각 개념 토큰화(VCT)라는 비지도 학습 기반의 transformer 접근법을 제안하여 주어진 이미지 내부의 시각적 개념을 토큰 집합으로 추출하여 시각 개념 학습을 위한 일반적인 해결책으로 활용합니다. 예를 들어, 3D 장면의 이미지가 주어지면, 우리의 VCT는 이를 객체 모양 토큰, 객체 색상 토큰, 객체 크기 토큰, 배경 색상 토큰, 바닥 색상 토큰 및 자세 토큰으로 나타낼 수 있습니다. VCT의 세부 사항을 소개하기 전에, 먼저 이미지에 포함된 시각적 개념의 좋은 표현을 달성하기 위해 토큰이 충족해야 하는 요구 사항에 대해 논의하고자 합니다. 이러한 토큰은 완전성(이러한 토큰으로 이미지를 재구성할 수 있어야 함), 분리(다른 토큰은 독립적인 시각적 개념을 나타내야 하며, 각 토큰은 한 종류의 시각적 개념 변형만을 반영해야 함), 무질서(개념의 무질서한 특성을 고려할 때, 토큰의 순위 순서는 어떠한 정보도 전달하지 않아야 함)의 세 가지 조건을 충족해야 합니다. 위의 세 가지 조건을 만족하는 경우 토큰을 개념 토큰이라고 합니다. 개념 토큰은 이미지 토큰(CNN 백본 또는 선형 투영 계층에서 얻은 그리드 특징)과 다르며, 일반적으로 추상적인 정보와 위치에 민감한 측면에서 얽혀 있습니다.

 

이미지에서 개념 토큰을 얻기 위해, 우리는 개념 토큰화기와 개념 역토큰화기로 구성된 새로운 transformer 기반 아키텍처를 구축합니다. 개념 토큰화기는 이미지 토큰에서 시각적 개념을 추상화하고, 개념 역토큰화기는 완전성 조건을 충족하기 위해 이미지 토큰을 재구성합니다. 개념 토큰화기에서 학습 가능한 개념 프로토타입을 쿼리로 사용하여, 개념 부분의 토큰 간의 간섭 없이 독립적으로 이미지 토큰에서 계층별로 정보를 유도하기 위해 교차 주의를 사용하여 분리 요구 사항을 충족시킵니다. 유의할 점은, 개념 프로토타입은 데이터 세트 수준에서 공유되지만, 다른 작업과 달리, 우리의 개념 쿼리 또는 토큰 간에 자기 주의가 없다는 것입니다. 마지막으로, 무질서를 고려할 때, 개념 토큰 간의 간섭이 없기 때문에 토큰의 순서는 토큰화 과정에서 정보를 전달하지 않습니다. 또한, 개념 역토큰화기를 위해 이러한 무질서한 특성을 유지하기 위해 개념 토큰에 위치 임베딩이 추가되지 않습니다.

 

개념 토큰의 분리를 더욱 촉진하기 위해, 우리는 개념 분리 손실을 제안하여 다른 개념 토큰을 수정함으로써 발생하는 시각적 변형 간의 상호 배타성을 장려합니다. 구체적으로, 개념 토큰을 수정하여 이미지 변형을 초래합니다. 개념 토큰화기에 공급한 후, 개념 분리 손실을 최소화함으로써, 이미지 변형은 수정된 개념 토큰에만 영향을 미쳐야 합니다.

우리는 분리와 장면 분해 작업에서 VCT의 효과를 검증하며, 둘 모두 큰 개선과 함께 최첨단 성능을 달성합니다. 놀랍게도, 우리는 시각적 개념 토큰이 CLIP 이미지 인코더를 이미지 토큰화기로 채택함으로써 언어 표현과 잘 정렬된다는 것을 발견했습니다. 따라서, 우리는 텍스트 입력을 사용하여 이미지 콘텐츠를 제어할 수 있습니다.

 

주요 기여:

  • 구체적인 픽셀에서 시각적 개념을 추출하는 일반적인 해결책 제시
  • 개념 토큰화기와 역토큰화기를 포함하는 비지도 학습 프레임워크 구축
  • 개념 분리 손실 제안

 

 

요약본 올립니다.

더보기

1. 연구 목적

  • research purpose: 이 연구는 시각적인 개념을 인간처럼 추상화하는 기계 학습 모델을 개발하는 데 목적을 두고 있습니다. 이를 위해, 이미지에서 독립적인 시각 개념을 추출하는 Visual Concept Tokenization (VCT)라는 비지도 학습 기반 프레임워크를 제안하였습니다.

2. 기여

  • academic contribution: VCT는 시각적 개념을 분리하여 학습할 수 있는 일반적인 방법을 제시하며, 분리 표현 학습과 장면 분해 분야에서 뛰어난 성능을 입증했습니다.
  • industrial contribution: 이미지 분해와 시각적 요소 추출을 통해 다양한 시각 데이터 처리 작업에 더 효율적인 솔루션을 제공할 수 있습니다. 또한, VCT는 이미지와 텍스트를 연결할 수 있어 비전 기반 텍스트 편집 및 생성 작업에서 유용하게 사용될 수 있습니다.

3. 사용된 방법론

  • Visual Concept Tokenization: Transformer 기반 모델로, 이미지에서 독립적인 시각적 개념을 추출하는 개념 토크나이저를 사용함.
  • Concept Disentangling Loss: 개념 토큰들이 독립적으로 시각 개념을 표현하도록 손실 함수를 제안함.
  • Cross-Attention: 이미지 토큰과 개념 토큰 사이에 교차 주의를 사용하여 정보 유도.

4. 독창성

  • Unsupervised Learning Framework: 비지도 학습으로 시각적 개념을 추출할 수 있는 일반적인 방법론을 제안.
  • Disentangled Tokens:토큰이 독립적인 시각 개념을 반영하도록 구성.
  • No Self-attention Between Concept Tokens: 개념 토큰 간 상호작용을 배제하여 정보 간섭을 방지함.

5. 한계

  • 복잡한 장면에서의 한계: 여러 객체가 포함된 복잡한 장면에서는 개념 분리의 정확성이 떨어질 수 있음.
  • 데이터 크기의 제약: 본 연구는 작은 데이터셋을 사용하였으며, 대규모 데이터셋에서의 성능은 확인되지 않음.

6. 추가 연구 제안

  • 대규모 데이터셋으로 확장: 대규모 시각적 개념 학습을 목표로 연구 확장을 제안.
  • 다양한 시각적 개념 학습: 더 많은 시각적 개념을 학습할 수 있도록 모델의 범용성을 높이는 연구.

 

 

 

 각 메서드 자세히 요약

1. Visual Concept Tokenization (VCT)

설명: VCT는 이미지를 시각적인 개념으로 분리하여 각각의 개념을 토큰화하는 방법입니다. 이 방법은 비지도 학습을 기반으로 하며, 이미지의 픽셀 단위 정보를 받아서 각 토큰이 독립적인 시각적 개념(예: 물체의 색상, 형태 등)을 표현하도록 학습합니다.

  • 핵심 개념:
    • 이미지 전체를 표현하는 것이 아니라, 시각적 개념을 여러 개의 토큰으로 나누어 표현.
    • 각 토큰은 이미지의 한 가지 속성(예: 빨간 색상, 둥근 모양)을 나타냄.
  • 구조:
    • Concept Tokenizer: 이미지 토큰에서 정보를 추출하여 개념 토큰으로 변환하는 역할을 합니다. 교차 주의 메커니즘을 사용해 이미지에서 정보를 받아들이고, 각 개념 토큰 간에는 상호작용이 없도록 설계되었습니다.
    • Concept Detokenizer: 추출된 개념 토큰을 다시 이미지 토큰으로 변환하여, 원래 이미지와 유사한 형태로 재구성할 수 있습니다.

2. Concept Disentangling Loss

설명: 서로 다른 개념 토큰이 독립적인 시각적 개념을 나타내도록 돕는 손실 함수입니다. 이 손실 함수는 개념 토큰 간의 정보 누출을 방지하고, 한 토큰의 변화가 다른 토큰에 영향을 미치지 않도록 설계되었습니다.

  • 작동 방식:
    • 하나의 개념 토큰을 변경하여 이미지에서 특정 시각적 변화를 유도하고, 그 변화가 오직 해당 토큰에만 영향을 미치도록 학습.
    • 이를 통해 개념 토큰 간의 상호작용을 배제하고, 각 토큰이 독립적으로 이미지를 표현할 수 있도록 만듦.

3. Cross-Attention (교차 주의)

설명: 교차 주의는 이미지 토큰과 개념 토큰 간의 정보를 교환하는 메커니즘으로, 이미지 토큰에서 정보를 추출하여 개념 토큰으로 전달하는 역할을 합니다.

  • 자세한 설명:
    • Query (질의): 개념 토큰이 이미지로부터 정보를 요청하는 역할.
    • Key, Value (키, 값): 이미지 토큰이 질의에 응답하는 형태로, 이미지의 시각적 정보가 Key와 Value로 사용됨.
    • 이를 통해 개념 토큰은 서로 간섭 없이, 이미지의 다른 부분들에서 독립적인 정보를 받아들임.

4. Self-Attention (자기 주의) - 이미지 토큰 처리에만 사용

설명: 이미지 토큰 간의 관계를 학습하는 데 사용되는 방법으로, 이미지의 픽셀 간 정보 흐름을 학습하여 전반적인 시각 정보를 파악할 수 있습니다. 하지만, 개념 토큰들 간의 간섭을 막기 위해 개념 토큰 간에는 Self-Attention을 사용하지 않았습니다.

  • 역할: 이미지 토큰들 간의 상호작용을 통해, 이미지에서 전반적인 정보를 수집하고 처리하는 데 사용됨.

5. Concept Tokenizer

설명: 이미지 토큰에서 시각적 개념을 추출하는 모듈입니다. 학습 가능한 개념 프로토타입(Concept Prototypes)을 Query로 사용하여, 이미지 토큰에서 정보를 교차 주의를 통해 받아들입니다. 이 과정에서 각 개념 토큰은 서로 간섭하지 않으며, 독립적인 정보를 학습하게 됩니다.

  • 구조:
    • 교차 주의와 FFN (Feed-Forward Network)을 반복적으로 사용하여, 이미지 토큰에서 점진적으로 개념 토큰을 추출.
    • 각 레이어는 이미지의 다른 시각적 정보를 추출하는 역할을 합니다.

6. Concept Detokenizer

설명: 추출된 개념 토큰을 다시 이미지 토큰으로 변환하는 모듈입니다. 이 과정에서는 이미지의 전반적인 정보를 재구성하기 위해 개념 토큰을 합성합니다. 이를 통해 원래 이미지를 복원할 수 있게 됩니다.

  • 자세한 설명:
    • Image Queries: 이미지를 복원하기 위한 쿼리로, 개념 토큰에서 얻은 정보를 다시 이미지 토큰으로 변환하는 역할을 합니다.
    • Self-Attention을 사용하여 개념 토큰 간의 정보를 결합하고, 이미지 토큰을 재구성하는 과정을 거칩니다.

 

 

 

어떻게 비지도 학습인지?

 

비지도 학습에서 VCT의 학습 방법

VCT(Visual Concept Tokenization)는 비지도 학습을 기반으로 이미지를 시각적 개념으로 분해하여 각각의 독립적인 개념을 학습하는 방법입니다. 지도 학습과 달리, 비지도 학습에서는 라벨이 제공되지 않으며, 데이터 자체에서 패턴이나 구조를 학습해야 합니다. VCT는 이 과정을 수행하기 위해 다양한 손실 함수(Loss)를 설계하고, 그 손실을 최소화하는 방향으로 모델을 훈련시킵니다.

1. Concept Disentangling Loss (개념 분리 손실)

목적: 개념 토큰들이 서로 독립적인 시각 개념을 나타내도록 유도하는 것이 목적입니다.

작동 방식:

  • 개념 토큰 교체: 주어진 이미지의 개념 토큰 중 하나를 다른 이미지의 동일한 개념 토큰으로 교체합니다. 예를 들어, 이미지에서 색상을 나타내는 토큰을 다른 이미지의 색상 토큰으로 바꿉니다.
  • 변화 탐지: 교체된 개념 토큰이 이미지에 어떤 변화를 일으켰는지 평가합니다. 이때, 변경된 개념 토큰만 변화에 영향을 미치고, 다른 토큰에는 영향을 미치지 않도록 학습합니다.
  • Loss 계산: 이 과정에서 생성된 이미지 변화에 따라 손실을 계산하고, 모델이 독립적인 개념을 더 잘 분리하도록 학습합니다. 손실 함수는 교체된 토큰과 해당 변화의 관계를 기반으로 Cross-Entropy Loss를 사용하여 계산됩니다.

핵심 학습 내용: 개별 토큰이 독립적인 시각 정보를 담도록 하고, 서로 다른 개념 간에 간섭이 없도록 학습합니다.

2. Reconstruction Loss (재구성 손실)

목적: 추출된 개념 토큰을 다시 이미지로 변환하여 원본 이미지와 유사한 형태로 복원되도록 학습하는 것이 목적입니다.

작동 방식:

  • 이미지 복원: 추출된 개념 토큰을 다시 이미지 토큰으로 변환하고, 이를 통해 원본 이미지를 복원합니다. 이때 재구성된 이미지가 원본 이미지와 얼마나 유사한지를 평가하여 손실을 계산합니다.
  • Loss 계산: 일반적으로 Mean Squared Error (MSE) 또는 VQ-VAE 구조를 사용하는 경우 Cross-Entropy를 사용하여 재구성된 이미지와 원본 이미지 간의 차이를 계산합니다.

핵심 학습 내용: 개념 토큰을 정확하게 추출하고, 이를 다시 이미지를 재구성할 수 있도록 학습합니다.

비지도 학습의 과정 요약

  1. 입력: 이미지를 입력받아, 이를 토큰화하여 각 토큰이 독립적인 시각적 개념을 나타내도록 처리합니다.
  2. 개념 토큰 추출: Concept Tokenizer가 이미지를 분해하여 개별 개념 토큰을 추출합니다.
  3. 개념 토큰 간 독립성 학습: Concept Disentangling Loss를 통해 각 토큰이 독립적인 개념을 나타내도록 학습합니다.
  4. 이미지 복원: Concept Detokenizer를 사용하여 추출된 개념 토큰을 다시 원본 이미지로 복원하며, 재구성 손실을 최소화하는 방향으로 학습합니다.