Ultralytics YOLO27: 대기자 명단에 등록하세요.
YOLO 라이선스 받기
Ultralytics 용어집으로 돌아가기

Deformable Attention

변형 어텐션은 특성 맵의 모든 위치 대신 각 쿼리가 기준 위치 주변에서 학습된 소수의 샘플링 지점에 어텐션을 적용하도록 합니다.

변형 가능한 어텐션은 컴퓨터 비전을 위한 어텐션 메커니즘으로, 각 쿼리가 특징 맵의 모든 위치가 아니라 기준 위치 주변의 고정된 소수 샘플링 지점에 어텐션합니다. 쿼리 자체가 기준점으로부터의 오프셋으로 각 지점의 위치를 예측하고, 각 지점의 가중치도 결정하므로 비용은 이미지 해상도가 아니라 쿼리와 지점의 수에 따라 증가합니다. SenseTime, 중국과학기술대학교, 홍콩중문대학교의 Xizhou Zhu, Jifeng Dai와 동료들은 ICLR 2021 구두 발표 논문인 Deformable DETR에서 이 방식을 소개했습니다. 이 방식은 기존 DETR 감지 트랜스포머의 두 가지 약점을 해결했습니다. 완전한 어텐션은 저해상도 특징으로 제한했고 학습에는 500 에포크가 필요했습니다. Deformable DETR은 에포크 수를 10분의 1로 줄였으며 작은 객체를 더 잘 감지했습니다.

변형 가능한 어텐션의 작동 방식#

이 개념은 Dai도 공동 개발한 변형 가능한 합성곱을 확장한 것으로, 합성곱 커널의 탭에 대한 오프셋을 학습합니다. 기준점이 있는 각 쿼리에서 모든 어텐션 헤드는 쿼리 특징에 두 개의 선형 레이어를 적용합니다. 하나는 K개의 샘플링 오프셋을 예측하고 다른 하나는 소프트맥스로 정규화된 K개의 어텐션 가중치를 예측합니다. 오프셋은 소수점 단위이므로 이동된 각 지점의 값 특징은 쌍선형 보간으로 읽고, 헤드는 가중합을 반환합니다. 논문은 헤드 8개와 K = 4개 지점을 사용하므로, 쿼리 하나가 각 특징 맵에서 32개 위치를 읽습니다. 반면 표준 셀프 어텐션은 모든 픽셀에 점수를 매깁니다. 단일 헤드, 단일 스케일 버전은 PyTorch 코드 몇 줄로 구현할 수 있습니다.

import torch
import torch.nn.functional as F

torch.manual_seed(0)
dim, n_points, n_queries = 32, 4, 100
value = torch.randn(1, dim, 64, 64)  # a 64x64 feature map: 4,096 positions
query = torch.randn(n_queries, dim)
ref = torch.rand(n_queries, 2) * 2 - 1  # reference points in grid_sample's [-1, 1] coordinates

# Each query predicts where to look (offsets) and how much each sample counts (weights)
to_offsets, to_weights = torch.nn.Linear(dim, n_points * 2), torch.nn.Linear(dim, n_points)
offsets = 0.1 * to_offsets(query).view(n_queries, n_points, 2)
weights = to_weights(query).softmax(dim=-1)

# Bilinearly sample the value map at reference + offset, then take the weighted sum
grid = (ref[:, None] + offsets)[None]  # (1, n_queries, n_points, 2)
sampled = F.grid_sample(value, grid, align_corners=False)[0]  # (dim, n_queries, n_points)
out = (sampled * weights).sum(dim=-1).T  # (n_queries, dim)
print(f"Output {tuple(out.shape)} from {n_queries * n_points} samples, not {n_queries * 64 * 64:,} dense scores")

Output (100, 32) from 400 samples, not 409,600 dense scores을 출력합니다. 쿼리 100개 각각이 위치 4,096개 중 4개를 읽습니다. 학습 과정에서 오프셋 및 가중치 레이어를 조정하므로, 태스크에 도움이 되는 이미지 영역을 향해 지점이 이동합니다.

멀티스케일 변형 가능 어텐션#

객체의 크기는 크게 다르므로 Deformable DETR은 여러 특징 맵에서 지점을 동시에 샘플링합니다. L개 레벨에서 각 헤드는 모든 레벨마다 K개의 지점을 가져오고 L × K개 지점 전체에 걸쳐 가중치를 함께 정규화합니다. 이로써 세밀한 특징과 거친 특징을 한 번에 혼합하고, 인코더에서 특징 피라미드 네트워크(FPN)를 대체했습니다. 인코더는 모든 레벨의 모든 픽셀을 쿼리로 사용해 셀프 어텐션으로 적용하고, 디코더는 객체 쿼리에서 이미지 특징으로 크로스 어텐션을 적용합니다.

Ultralytics 패키지에서 사용할 수 있는 Baidu의 실시간 감지 트랜스포머 RT-DETR은 6개 디코더 레이어의 크로스 어텐션에 멀티스케일 변형 가능 어텐션을 사용합니다. 객체 쿼리 300개 각각은 스트라이드 8, 16, 32 특징 맵에서 헤드 8개마다 지점 4개씩, 총 96개 위치를 샘플링합니다. 640픽셀 이미지의 해당 맵 전체에 완전한 크로스 어텐션을 적용하면 8,400개 위치에 점수를 매겨야 합니다.

응용 분야#

  • 객체 감지: DINO와 RT-DETR을 포함한 Deformable DETR의 후속 모델은 디코더에서 변형 가능한 크로스 어텐션을 유지하므로 작은 객체를 위한 고해상도 특징을 읽을 수 있습니다.
  • 자율주행차: BEVFormer는 여러 차량 카메라의 이미지를 조감도 그리드로 투영하며, 각 그리드 셀은 자신이 보이는 카메라 뷰에서 변형 가능한 지점을 샘플링합니다.
  • 파놉틱 세그멘테이션: Mask2Former는 마스크를 예측하기 전에 변형 가능한 어텐션으로 멀티스케일 픽셀 특징을 구성합니다.
  • 슬라이딩 윈도 어텐션: 위치에 따라 정해지는 고정된 주변 영역에 어텐션하며, 모든 입력에 동일하게 적용됩니다.
  • 희소 어텐션: 미리 선택한 토큰 쌍의 고정된 부분 집합에 점수를 매깁니다.
  • Flash attention: 온칩 GPU 메모리에서 타일 단위로 처리해 일반적인 조밀 어텐션을 더 빠르게 계산하며 표준 어텐션과 동일한 결과를 냅니다.
  • 비전 트랜스포머(ViT) 어텐션: 모든 이미지 패치를 서로 비교하므로 비용은 패치 수의 제곱에 비례해 증가합니다.

솔루션 살펴보기

스포츠 분야의 컴퓨터 비전

스포츠 분야의 컴퓨터 비전

Ultralytics YOLO가 선수 및 공 추적, 경기력 분석, 코칭 인사이트, 선수 재활을 통해 스포츠 비전을 구현하는 방법을 알아보세요.
자세히 알아보기
항공 이미지 컴퓨터 비전

항공 이미지 컴퓨터 비전

Ultralytics YOLO를 활용해 드론 및 항공 이미지를 농업, 양식업, 보전, 지리 공간 분석을 위한 실시간 인사이트로 전환하세요.
자세히 알아보기
항공우주 분야의 컴퓨터 비전

항공우주 분야의 컴퓨터 비전

Ultralytics YOLO를 활용해 항공기 검사, 활주로 FOD 감지, 공항 지상 운영, 복합재 결함 감지 등 항공우주 분야에 컴퓨터 비전을 적용하세요.
자세히 알아보기
보안 분야의 컴퓨터 비전

보안 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 모든 시설을 보호하세요. Vision AI는 경계 모니터링, 위협 감지, 번호판 인식, 작업장 안전을 지원합니다.
자세히 알아보기
로보틱스 분야의 컴퓨터 비전

로보틱스 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 더 스마트한 머신을 구현하세요. 로보틱스 분야의 Vision AI는 자율 주행, 인식, 객체 추적, 실시간 제어를 지원합니다.
자세히 알아보기
물류 분야의 컴퓨터 비전

물류 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 물류를 간소화하세요. 비전 AI는 화물 검사, 분류, 차량 추적, 실시간 창고 안전 모니터링을 지원합니다.
자세히 알아보기
리테일 분야의 컴퓨터 비전

리테일 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 리테일의 새로운 가능성을 열어 보세요. 비전 AI는 재고 추적, 선반 모니터링, 대기열 관리, 더욱 심층적인 고객 인사이트를 지원합니다.
자세히 알아보기
의료 분야의 컴퓨터 비전

의료 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 의료 솔루션을 구축하세요. 의료 분야의 비전 AI는 의료 영상 판독을 가속화하고, 진단을 개선하며, 환자 모니터링을 지원합니다.
자세히 알아보기
제조 분야의 컴퓨터 비전

제조 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 제조 공정을 최적화하세요. 비전 AI는 품질 관리, 결함 탐지, PPE 규정 준수, 조립 라인 자동화를 지원합니다.
자세히 알아보기
자동차 분야의 컴퓨터 비전

자동차 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 자동차 분야에 컴퓨터 비전을 적용하세요. 비전 AI는 도로 안전, 운전자 지원, 차량 자동화를 개선해 더 스마트한 도로를 구현합니다.
자세히 알아보기
농업 분야의 컴퓨터 비전

농업 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 스마트 농업에 비전 AI를 도입하세요. 작물 모니터링, 가축 추적, 정밀 농업을 지원하여 더 높은 수확량과 더 스마트한 농업을 실현합니다.
자세히 알아보기

함께 AI의 미래를 만들어 가세요!

머신러닝의 미래와 함께 여정을 시작하세요