늦깎이 공대생의 인공지능 연구실

xT로 초대형 이미지 모델링하기(Modeling Extremely Large Images with xT) 본문

BAIR

xT로 초대형 이미지 모델링하기(Modeling Extremely Large Images with xT)

Justin T. 2024. 4. 14. 10:42

 

 

 저는 컴퓨터 비전 연구자로서 모든 픽셀 하나하나가 하나의 이야기를 담고 있다고 믿습니다. 그러나 큰 이미지를 처리하는 데 있어서는 이 분야에 장애물이 있는 것 같습니다. 우리가 주머니에 넣고 다니는 카메라와 지구 궤도를 도는 카메라가 너무 크고 세밀한 사진을 찍어 현재 최고의 모델과 하드웨어가 처리할 수 있는 한계에 도달할 정도로 큰 이미지가 널리 사용되고 있습니다. 일반적으로 이미지 크기에 따라 메모리 사용량이 4배로 증가합니다.

 

 오늘날 우리는 대용량 이미지를 처리할 때 다운샘플링 또는 크롭이라는 두 가지 차선책 중 하나를 선택합니다. 이러한 두 가지 방법은 이미지에 존재하는 정보와 컨텍스트의 양에 상당한 손실을 초래합니다. 이러한 접근 방식을 다시 한 번 살펴보고 최신 GPU에서 대규모 이미지를 엔드 투 엔드 모델링하는 동시에 전체적인 배경 정보와 부분적인 세부 정보를 효과적으로 통합하는 새로운 프레임워크인 \(x\)T를 소개합니다.

 

\(x\)T 프레임워크 구조

 

 

굳이 큰 이미지를 사용하는 이유는?

 어째서 이렇게 큰 이미지를 처리해야 할까요? TV 앞에서 좋아하는 축구팀을 시청하고 있는 자신을 상상해 보세요. 경기장에는 선수들의 움직임이 화면의 작은 부분에만 나타나고, 경기장 전체에 선수들이 여기저기 흩어져 있습니다. 만약 여러분이 공이 현재 있는 곳 주변의 아주 일부분만 볼 수 있다면 여러분은 만족할 수 있을까요? 반대로 경기를 저해상도로 시청해도 만족할 수 있을까요? 아무리 멀리 떨어져 있더라도 모든 픽셀은 각각의 이야기를 전달합니다. 이는 우리가 시청하는 TV 화면이나 기가픽셀 슬라이드를 보며 암의 작은 부분을 진단하는 병리학자 같은 다양한 분야에서 동일하게 적용됩니다. 이와 같이 이미지 데이터는 엄청난 양의 정보를 담고 있습니다. 하지만 우리가 사용하는 기술이 이미지를 제대로 해석하지 못해 그 풍부한 정보를 제대로 활용할 수 없다면 무슨 의미가 있겠습니까?

스포츠는 상황을 파악할 때 더욱 흥미로워집니다.

바로 이러한 점이 현재의 문제점입니다. 이미지가 커질수록 전체 그림을 보려면 축소하고 핵심적인 세부 사항을 보려면 확대해야 하므로 숲과 나무를 동시에 파악하기가 어렵습니다. 현재 대부분의 방법은 숲을 놓치거나 나무를 놓치거나 둘 중 하나를 선택해야 하는데, 어느 쪽도 좋은 방법은 아닙니다.

 

\(x\)T가 이 문제를 해결하는 방법

여러분이 거대한 직소 퍼즐을 풀려고 한다고 상상해 봅시다. 한 번에 전체를 해결하려고 하면 부담스러울 수 있으므로 작은 부분부터 시작하여 각 조각을 잘 살펴본 다음 큰 그림에 어떻게 들어맞는지 파악하는 것이 좋습니다. 이것이 바로 \(x\)T를 사용해 큰 이미지를 처리하는 기본 방식입니다.

 

\(x\)T는 이러한 거대한 이미지를 계층적으로 더 작고 이해하기 쉬운 조각으로 잘라냅니다. 하지만 단순히 작게 만드는 것만이 능사가 아닙니다. 각 조각을 그 자체로 이해한 다음 몇 가지 기막힌 기법을 사용하여 이 조각들이 더 큰 규모에서 어떻게 연결되는지 파악하는 것입니다. 마치 이미지의 각 부분들과 서로 대화를 나누며 스토리를 파악한 다음, 그 스토리를 다른 부분들과 공유하여 전체 이야기를 파악하는 것과 같습니다.

중첩 토큰화(Nested Tokenization)

 \(x\)T의 핵심은 중첩 토큰화라는 개념입니다. 간단히 말해, 컴퓨터 비전 영역에서의 토큰화는 이미지를 모델이 소화하고 분석할 수 있는 조각(토큰)으로 잘게 자르는 것과 비슷합니다. 그러나 \(x\)T는 이 프로세스에 계층 구조를 도입하여 한 단계 더 발전한 중첩형 토큰화를 구현합니다.

 

상세한 도시 지도를 분석해야 한다고 가정해 보겠습니다. 전체 지도를 한 번에 살펴보는 대신 지구, 지구 내의 동네, 마지막으로 동네 내의 거리로 세분화한다고 가정해 봅시다. 이러한 계층적 분류를 통해 지도의 세부 사항을 더 쉽게 관리하고 이해할 수 있으며, 모든 것이 큰 그림에서 어디에 맞는지 추적할 수 있습니다. 중첩 토큰화의 핵심은 이미지를 영역으로 분할하고, 각 영역은 Vision Backbone(Region Encoder)이 예상하는 입력 크기에 따라 다시 하위 영역으로 분할한 다음 해당 Region Encoder에서 처리하도록 패치하는 것입니다. 이러한 중첩된 접근 방식을 통해 지역 수준에서 다양한 스케일의 특징을 추출할 수 있습니다.

 

Region 및 Context 인코더 조정(Coordinating Region and Context Encoders)

이미지가 토큰으로 깔끔하게 분할되면 \(\x\)T는 Region Encoder와 Context Encoder라는 두 가지 유형의 인코더를 사용하여 이러한 조각들을 이해합니다. 각 인코더는 이미지의 전체 스토리를 파악하는 데 각기 다른 역할을 합니다.

 

 Region Encoder는 독립적인 영역을 세부적인 표현으로 변환하는 독립형 "지역 전문가"입니다. 그러나 각 영역은 독립적으로 처리되므로 이미지 전체에 걸쳐 정보가 공유되지 않습니다. Region Encoder는 모든 최신 Vision Backbone이 될 수 있습니다. 본 실험에서는 SwinHiera와 같은 계층적 비전 트랜스포머와 ConvNeXt와 같은 CNN을 활용했습니다!

 

 Context Encoder는 큰 그림을 그리는 전문가입니다. Context Encoder의 역할은 Region Encoder의 세부 표현을 가져와서 서로 연결하여 한 토큰의 인사이트가 다른 토큰의 컨텍스트에서 고려되도록 하는 것입니다. Context Encoder는 일반적으로 긴 시퀀스 모델입니다. 우리는 Transformer-XL (그리고 그 변형인 Hyper)과 Mamba를 실험하고 있지만, 이 분야에서는 Longormer와 다른 새로운 발전된 모델을 사용할 수도 있습니다. 이러한 긴 시퀀스 모델은 일반적으로 언어용으로 만들어졌지만 비전 작업에도 효과적으로 사용할 수 있다는 것을 보여줍니다.

 

\(x\)T의 마법은 중첩 토큰화, Region Encoder, Context Encoder 등 이러한 구성 요소들이 어떻게 결합되는지에 있습니다. 먼저 이미지를 관리 가능한 조각으로 분류한 다음 이러한 조각을 개별적으로 또는 함께 체계적으로 분석함으로써 \(x\)T는 원본 이미지의 디테일의 Fidelity(모델의 예측 결과가 실제 결과와 얼마나 일치하는지를 나타내는 지표)를 유지하면서 장기적인 컨텍스트를 통합하는 동시에 대규모 이미지를 최신 GPU에 End-to-End로 맞출 수 있습니다.

결과

기존의 컴퓨터 비전을 기반으로 하는 간단한 수준의 영상 처리에서부터 까다로운 대형 이미지 처리까지 다양한 벤치마크 작업에서 \(x\)T를 평가했습니다. 특히 세분화된 분류 작업에 iNaturalist 2018, 컨텍스트에 따른 세분화를 위한 xView3-SAR, 탐지를 위한 MS-COCO를 사용해 실험했습니다.

\(x\)T와 함께 사용되는 강력한 비전 모델은 세분화된 분류와 같은 다운스트림 작업의 새로운 지평을 열었다.

 

실험 결과, \(x\)T는 최첨단 기술*보다 영역당 훨씬 적은 메모리를 사용하면서도 더 적은 수의 파라미터로 모든 다운스트림 작업에서 더 높은 정확도를 달성할 수 있는 것으로 나타났습니다. 40GB A100으로 29,000 x 25,000픽셀 크기의 이미지를 모델링할 수 있는 반면, 동급 기술은 2,800 x 2,800픽셀로 메모리가 부족합니다.

 

* Transformer-XL 등 선택한 컨텍스트 모델에 따라 다름.

 

이 문제가 생각보다 중요한 이유

 이 접근 방식은 단지 근사한 정도가 아니라 필수적인 방식입니다. 기후 변화를 추적하는 과학자들이나 질병을 진단하는 의사들에게는 획기적인 방법입니다. 즉, 단편적인 정보가 아닌 전체 스토리를 이해하는 모델을 만들어야 한다는 뜻입니다. 예를 들어 환경 모니터링에서는 광활한 지형에 걸친 광범위한 변화와 특정 지역의 세부 사항을 모두 볼 수 있어야 기후 영향에 대한 큰 그림을 이해하는 데 도움이 될 수 있습니다. 의료 분야에서는 질병을 조기에 발견할 수 있느냐 없느냐의 차이를 의미할 수 있습니다.

 

 우리는 세상의 모든 문제들을 한 번에 해결하였다고 말하지 않겠습니다. 다만 우리가 만든 새로운 기술 \(x\)T가 새로운 가능성의 문을 열었기를 바랄 뿐입니다. 우리는 시야의 선명도나 폭을 타협할 필요가 없는 새로운 시대로 나아가고 있습니다. \(x\)T는 대규모 이미지의 복잡한 작업들을 손쉽게 처리할 수 있는 모델을 향한 큰 발걸음입니다.

 

여전히 더 많은 연구가 필요합니다. 연구는 계속 발전하고 있으며, 더 크고 복잡한 이미지를 처리할 수 있는 성능도 향상될 것입니다. 실제로 우리는 이 영역을 더욱 확장할 수 있는 xT의 후속 기술을 개발 중에 있습니다.

결론

 이 작업에 대한 자세한 내용은 arXiv에서 논문을 확인하시기 바랍니다. 프로젝트 페이지에서 공개된 코드와 가중치에 대한 링크를 확인할 수 있습니다.

 

@article{xTLargeImageModeling,
  title={xT: Nested Tokenization for Larger Context in Large Images},
  author={Gupta, Ritwik and Li, Shufan and Zhu, Tyler and Malik, Jitendra and Darrell, Trevor and Mangalam, Karttikeya},
  journal={arXiv preprint arXiv:2403.01915},
  year={2024}
}

 

참고자료: https://arxiv.org/abs/2403.01915

 

xT: Nested Tokenization for Larger Context in Large Images

Modern computer vision pipelines handle large images in one of two sub-optimal ways: down-sampling or cropping. These two methods incur significant losses in the amount of information and context present in an image. There are many downstream applications

arxiv.org

 

반응형