ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • VisionLLM: Large Language Model is alsoan Open-Ended Decoder for Vision-Centric Tasks
    논문 2023. 12. 12. 21:12

    https://arxiv.org/abs/2305.11175

     

    VisionLLM: Large Language Model is also an Open-Ended Decoder for Vision-Centric Tasks

    Large language models (LLMs) have notably accelerated progress towards artificial general intelligence (AGI), with their impressive zero-shot capacity for user-tailored tasks, endowing them with immense potential across a range of applications. However, in

    arxiv.org

     

    이 업계의 최신 기술은 빠르게 변화한다는 게 피부로 와 닿는다. ChatGPT가 나온 후 많은 LLM 모델이 쏟아져 나왔다. 그리고 이제는 Vision 영역에까지 LLM이 손을 뻗치려 한다.

     

    Introduction 

    ChatGPT와 같은 LLM은 다양한 NLP 과제에서 뛰어난 Zero-shot 성능을 보여주었다. 그러나 자연어와 비전 데이터의 내재적 차이로 인해서 LLM의 장점이 Vision 영역에 바로 적용되지는 못했다. 한편, 기존의 Vision 영역은 다음과 같은 패러다임을 가지고 발전해 왔다.

    1. pre-training -> fine-tuning
      사전 학습된 모델을 용도에 맞게 가져와 파인 튜닝한 후 사용하는 방법이다. 다양한 과제를 처리하는 모델을 개발하는 것이 불가능하다.
    2. Visual prompt tuning
      프롬프트의 형식이 일반적인 언어 지시와 매우 동떨어져 있어 사용하기가 어렵다.
    3. VisionLLM
      다양한 작업을 일반적인 언어 지시를 통해 수행할 수 있다.

     

    Vision LLM

    Vision LLM은 3개의 구성요소로 나누어 볼 수 있다.

    1. 단일화된 언어 지시를 통해 Vision 과제를 처리하는 일관적인 인터페이스를 제공한다.
    2. 언어 지시에 따른 이미지 토크나이저로 주어진 언어 프롬프트에 따라 시각 정보를 인코딩한다.
    3. 다양한 과제를 처리하는(open-task) LLM 기반 디코더로 언어 지시와 인코딩된 시각 정보를 활용하여 결과를 산출한다.

     

    Unified Language Instruction

    Vision Tasks는 두 종류로 나눌 수 있다. 하나는 Vision-Language Task이고 다른 하나는 Vision-Only Task이다. 각 과제의 세부 과제의 언어 지시 형식은 다음과 같다.

    1. Vision-Language Task

    분야 언어 지시 형식
    image captioning The image is <image>Please generate a caption for the image: 
    visual question answering The image is <image>Please generate an answer for the image according to the question: <question>

    여기서 <image>는 이미지 토큰을 <question>은 실제 질문을 의미한다.

     

    2. Vision-Only Task

    분야 언어 지시 형식
    object detection
    instance segmentation
    pose estimation
    Segment all the objects of category set <class> within the <range> of the image
    and generate a list of the format (c, x1, y1, x2, y2, ..., x8, y8).

    여기서 <class>는 category set을, <range>는 연속적인 점들의 좌표를 몇 등분할 것인지를 나타낸다.

     

     

    Language-Guided Image Tokenizer

    이미지는 다음과 같은 과정을 거쳐 토큰화된다.

    재료 함수 결과물
    image backbone
    (e.g. ResNet)
    Visual Features $F_v$ 
    of four different scales
    prompt text encoder
    (e.g. BERT)
    Language Featrues $F_i$
    $F_v$, $F_l$ cross attention multi-scale language-aware
    visual features
    multi-scale language-aware
    visual features
    transformer-based network
    (e.g. Deformable DETR)
    image tokens

     

    LLM-based Open-Ended Task Decoder

    디코더로는 LLM 모델인 LLaMA를 사용하였다.그러나  LLaMA는 비전 중심 과제를 수행에 적합하지 않은 몇몇 내재적 단점을 가지고 있었으며, 다음과 같은 방법을 통해 내재적 단점을 보완하고자 하였다.

    1. LLaMA는 0~9까지의 숫자 토큰밖에 가지고 있지 않다. 이는 위치를 통해 물체를 찾는 것을 제한한다. 이를 해결하기 위해서 1023개의 위치 토큰을{<p-512>, ..., <p0>, ..., <p512>} 추가했다. 
    2. LLaMA는 특정 범주를 나타내기 위해 여러 개의 토큰을 사용한다. 이는 물체 분류에 비효율적이다. 범주 이름 토큰을 대체하기 위해서 512개의 분류 토큰을{<c0><c1>, ..., <c511>} 추가했다. 각 토큰이 특정 범주를 나타내지 않기 때문에(semantics-agnostic) 언어 지시를 통해{"person":<c0>,"car":<c1>,"black cat":<c2>,...} 사용자가 범주를 구체화할 수 있다.
    3. LLaMA는 시지각 과제를 수행하기에는 너무 평범(casual)하다. 이를 해결하기 위해서 "output-format-as-query decoding"이라는 방법을 사용했다. 이는 단순히 언어 지시에서 output format(e.g.<cls> <x1> <y1> <x2> <y2>”)을 추출한 후, 해당 토큰을 쿼리로서 디코더에 제공하여, 디코더가 그 쿼리 형태에 맞춰 결과물을 산출하게 한 것이다.

    결과적으로  Vision-Language Task뿐만 아니라 Vision-Only Task도 언어 과제와 마찬가지로 크로스 엔트로피를 통해 지도(supervise)할 수 있게 된다. 또한 효율적인 학습을 위해 본 연구진은 Low-Rank Adaptation (LoRA) 접근법을 사용하였다.

     

    Experiments

    Task-Level Customization

    • Object Detection: 60.2% mAP(InternImage-H)로 높은 성능을 보여준다. 이는 당시(23년 5월) SOTA 모델에 근접한 수치이다.
    • Visual Grounding: 80.6 P@0.5(ResNet-50), 86.7 P@0.5(InternImage-H)로 준수한 성능을 보여준다. visual grounding 과제와 object detection 과제가 충동을 일으킬 수 있지만, 단일화된 언어 지시와 LLM의 높은 언어 지시 이해력으로 성능을 확보한 것으로 추측된다.
    • Instance Segmentation: AP50(61.2% with InternImage-H)은 준수한 성능을 보였으나, AP75(27.6% with InternImage-H)는 낮은 성능을 보였다. 다음과 같은 세 가지 요인으로 AP50과 AP75 성능 사이의 간격을 설명할 수 있다.
      • 연속된 점들을 X(X: 제한된 정수, i.e., 8~24)등분함으로 정보 손실이 발생할 수 있다.
      • 메모리와 계산상의 제약으로 인해 모델 내 사용 가능한 점의 개수가 제한되었는데, 이로 인해 성능이 감소할 수 있다.
      • 점 기반 방법은 통상적으로 직접적인 마스크 예측 방법(i.e., Mask R-CNN)보다 낮은 성능을 보인다.
    • Image Captioning: InternImage-H를 사용했을 때 BLEU-4 점수가 32.1, CIDEr 점수가 114.2로 준수한 성능을 보였다.

     

     

    Object-Level & Output Format Customization

    COCO 데이터셋에 다음과 같은 두 가지 변수의 변경(customization)을 통해 성능 변화를 야기할 수 있었다.

    1. 언어 지시에서 인지 가능한 <class> 개수
    2. 결과 포맷에서 지정하는 점 개수

     

    Ablation Study

    Vision LLM의 몇몇 중요 요소 및 hyper-parameter의 효과를 분석한 결과는 다음과 같다.

    • Single Task vs. Multiple Tasks: 단일 과제를 수행하도록 훈련된 모델이 다중 과제를 수행하도록 훈련된 모델보다 성능이 약간 더 좋았다. (Table 1 참조)
    • Text Encoder in Language-Guided Image Tokenizer
      • Text Encoder로 BERT를 사용하는 것이 Visual Grounding 과제(COCO 데이터셋)에서는 중요하지 않지만[44.7 vs 44.8] Object Detection 과제(RefCOCO 데이터셋)에서는 중요하다[48.1 vs 84.1].
      • 학습 시 Text Encoder를 얼리는 것이 Visual Grounding 과제와 Object Detection 과제에서 모두 모델 성능을 매우 악화하는 것으로 나타났다. 이는 Text Encoder가 비전과 언어 양상(modalities)을 조율하는 역할을 맡고 있음을 보여준다.
    • Image Tokenization Method: Vison LLM에서 사용한 이미지 토큰화 방법과 feature maps에 대해 average pooling을 이용한 방법을 비교한 결과 Vision LLM에서 사용한 방법의 성능이 더 높았다. 이는, 다양한 물체 크기에서 정보를 얻었기 때문으로 보인다.
    • Number of Localization Tokens: 시지각 과제에서 사용하는 위치 토큰의 개수를 257개부터 2049개까지 늘려본 결과 특정 지점에 도달하기까지 성능이 정적으로 증가하는 것으로 확인되었다.

     

    감상

    각 Vision 과제에서의 SOTA 모델 방법론 및 성능에 대해 잘 알지 못해 Vision LLM의 위대함에 대해 잘 알기 어려웠다. 참고로 GPT 시리즈는 더 충격적인 성능을 보였던 것으로 기억한다. 그러나 프롬프트가 일반인들도 금방 숙지하고 사용할 수 있는 수준으로 보여, 비전 데이터 처리의 간편함이 대중에게 풀리기까지 얼마 남지 않은 것 같다는 생각이 든다. 한편, Vison LLM을 기본 모델로 내세우고 있는만큼 성능을 개선시킬 수 있는 적용 가능한 방법이 다수 있을 것으로 예상된다. Vision LLM 논문 내에서도 Backbone 모델의 변경, Customization, Ablation Study를 통해 모델의 성능이 변화함을 확인할 수 있었다.

    댓글

Designed by Tistory.