SigLIP(Sigmoid Loss for Language Image Pre-training)은 구글에서 제안한 비전-언어 모델 학습 방식으로, 기존의 CLIP(Contrastive Language-Image Pre-training) 학습법을 개선함

기존의 CLIP은 Softmax 기반의 손실 함수를 사용합니다.

방식: 배치(Batch) 내의 모든 이미지와 텍스트 쌍을 모아놓고, ‘이 이미지가 정확히 어떤 텍스트와 짝인가?’를 확률적으로 계산합니다.

문제점: 모든 쌍을 고려해야 하므로 배치가 커질수록 계산이 무거워지고, 각 쌍이 서로 간섭(Global normalization)을 받게 됩니다.

반면, SigLIP은 Sigmoid 기반의 손실 함수를 도입했습니다.

방식: 배치 내의 모든 쌍을 하나씩 독립적으로 ‘이 둘이 맞는가/아닌가’를 판단하는 이진 분류(Binary Classification) 문제로 바꿉니다.

장점: 다른 쌍들과의 확률 분포를 계산할 필요가 없어 계산이 훨씬 간결하고, 배치 사이즈를 훨씬 더 크게 키울 수 있어 학습 효율이 극대화됩니다.

인간-로봇 형태학적 정렬 매커니즘 3개

  1. 인간 쪽: “표준 손(Average Hand)”으로 통일 (Standardization)세상 모든 사람의 손 크기는 다 다르지만, 모델이 이를 일일이 배우게 하면 너무 복잡해집니다.해결책: 논문은 MANO 모델의 평균 손 모양(Average Human Hand Shape, (\beta=0))을 기준으로 삼았습니다. (Page 15 부록)방법: 학습에 사용된 다양한 인간 비디오 데이터셋(HOI4D, HOT3D 등)의 각기 다른 손 크기를 무시하고, 모든 움직임을 ‘표준 크기의 MANO 손’의 포즈 파라미터((\theta))로 변환하여 학습시켰습니다. 즉, “손 크기가 아니라 움직임의 패턴”만 배우도록 강제한 것입니다.
  2. 로봇 쪽: “손목 중심 좌표계”로 변환 (Normalization)로봇 팔과 사람 팔의 길이는 다를 수밖에 없습니다.해결책: 모든 계산을 손목(Wrist)을 원점(0,0,0)으로 하는 상대 좌표계로 바꿨습니다.방법: 로봇의 손가락 끝 위치((J_{obs}))와 MANO의 손가락 끝 위치((J_{pred}))를 비교할 때, 팔 전체의 길이는 무시하고 손목에서 손가락 끝까지의 상대적 거리만 맞춥니다. 이렇게 하면 팔이 아무리 길어도 손 부분의 조작은 일정하게 유지됩니다.
  3. 크기 차이 해결사: “리타겟팅 MLP” (Implicit Scaling)이 부분이 질문자님이 궁금해하시는 “길이 차이를 어떻게 보정하는가”의 핵심입니다.문제: 로봇 손가락은 10cm인데 사람 손가락은 8cm라면, 단순히 각도만 복사하면 물체를 놓칩니다.해결책: MLP(다층 퍼셉트론)가 이 차이를 비선형적으로 보정(Calibration)하도록 학습시킵니다.학습 데이터 생성: 로봇의 손가락 끝이 특정 위치((X, Y, Z))에 있을 때, 로봇의 실제 관절값((Q))이 무엇인지 데이터를 모읍니다.MLP의 역할: “손가락 끝의 3D 좌표” (\rightarrow) “로봇의 관절 제어값”으로 매핑하는 함수를 배웁니다.보정 원리: 만약 로봇 손가락이 더 길다면, MLP는 같은 목표 지점에 도달하기 위해 관절을 더 많이 굽히도록 알아서 학습됩니다. 즉, 손가락 길이 차이에 따른 기하학적 보정 값이 MLP의 가중치(Weight) 안에 녹아들어 가는 것입니다.

이미지, 액션 토큰 등 입력내용 및 출력내용 상세

  1. 입력의 저빈도 (Observation: (5\text{ Hz}))모델이 세상을 보는 빈도는 상당히 낮습니다.입력 데이터: 현재 프레임을 포함하여 과거 1초 동안의 이미지 6장을 입력받습니다.샘플링 간격: 각 이미지 사이의 간격은 (0.2)초입니다 ((1 / 0.2 = 5\text{ Hz})).이유: VLM(Vision-Language Model) 백본은 연산량이 매우 크기 때문에, 매 프레임((30\text{ Hz}))마다 이미지를 처리하면 실시간 제어가 불가능하기 때문입니다.2. 출력의 고빈도 (Action: (30\text{ Hz}))이미지는 가끔 보지만, 로봇에게 내리는 명령은 매우 촘촘합니다.예측 범위(Horizon): 한 번의 추론(Inference)으로 미래 1초 동안의 행동을 한꺼번에 예측합니다.행동 단계 수: 1초를 30단계로 쪼개어 예측합니다 ((30\text{ Hz})).출력 형태: (A_t = [a_t, a_{t+1}, \dots, a_{t+29}]) (총 30개의 연속된 동작 궤적).3. 구체적인 구현 방법: Action Query Tokens어떻게 이미지 6장으로 행동 30개를 동시에 만들까요? 논문은 트랜스포머의 Query 개념을 사용합니다.Action Head: 6층의 트랜스포머 인코더로 구성된 액션 헤드가 있습니다.Query 토큰: 모델 입력 시 30개의 특수 ‘행동 쿼리 토큰(Action Query Tokens)’을 함께 넣습니다.메커니즘: VLM이 이미지 6장을 보고 문맥(Context)을 파악합니다.30개의 쿼리 토큰이 이 문맥 정보를 참조(Attention)합니다.첫 번째 쿼리는 (0.03)초 후의 동작을, 두 번째 쿼리는 (0.06)초 후의 동작을… 이런 식으로 시간 순서대로 30개의 동작을 병렬로 생성해냅니다.4. 실행 단계의 정교함: Action Chunking & Smoothing (부록 18페이지)단순히 30개를 예측하는 데서 그치지 않고, 로봇이 부드럽게 움직이도록 중첩(Overlapping) 기법을 씁니다.중첩 예측: 로봇은 (30\text{ Hz})로 계속 추론을 시도합니다. 즉, (t) 시점에 예측한 미래 30개와 (t+1) 시점에 예측한 미래 30개가 서로 겹치게 됩니다.지수 평균(Exponential Smoothing): 새로 예측된 값과 이전 단계에서 예측했던 값을 (0.8)의 가중치로 섞어줍니다.결과: 시각 입력이 (5\text{ Hz})로 띄엄띄엄 들어와도, 로봇의 관절은 (30\text{ Hz})의 고해상도 궤적을 따라 끊김 없이(Smoothly) 움직이게 됩니다.