Index
2026-05-11 — Analysis

DA3 Phase B Loss Ablation — LossV1 발산 vs LossV2 수렴

VGGRPO | lgm_robocasa_da3_v0_lossv1/v2_0511_0254 parallel 학습 비교

TL;DR

45.1
V1 final loss (step 10419)
0.21
V2 final loss (step 7815)
2.23
V2 초기 loss (step 0)
5-term
V2 loss 구성

1 배경 / 목적

DA3 Phase B(geometry supervision)에서 loss 설계가 학습 안정성을 결정한다. DA3 backbone 전환(260430) 직후 자체 설계한 v1 loss와, 260501에 논문 §3.2를 완전 구현한 v2 loss를 동일 조건에서 parallel 학습하여 어느 쪽이 수렴하는지 확인.

두 실험 디렉토리: experiments/lgm_robocasa_da3_v0_lossv1_0511_0254, experiments/lgm_robocasa_da3_v0_lossv2_0511_0254

2 작업 내용

❌ LossV1 — 자체 설계 (phase_b_loss_da3.py)
L = depth_loss + ray_origin_loss + ray_dir_loss + rot_loss + trans_loss + scale_loss

6개 term 단순 합산. 각 term에 confidence weighting 없음. scale이 scalar로 단독 term.

✅ LossV2 — 논문 §3.2 완전 구현 (phase_b_loss_da3_v2.py)
L = L_D # conf-weighted depth + L_M # mask loss + L_P # 3D point projection + L_C # 9-DoF camera (pose+intrinsic) + L_grad # gradient sharpness

confidence map으로 아웃라이어 억제. L_P는 3D 포인트를 다른 view로 투영해 일관성 강제.

공통 설정

backbone: DA3 vitl, stitch layer 6, conv3d_init_layer6.pt data: RoboCasa v0.1 24-task sealed (216×384 depth) optimizer: AdamW, warmup cosine LR batch_size: 동일 GPU: 4× (4-way DDP) script: scripts/train_lgm_robocasa_da3_v0.sh

3 결과

학습 궤적 비교

Step V1 total loss V1 depth V1 scale V2 total loss V2 L_D V2 L_P
0 1.846 0.253 1.039 2.234 0.533 0.654
10 2.231 0.097 1.373 1.879 0.230 0.512
100 ~2.0 ~1.2
5000 ~15+ 발산 중 급증 ~0.5 ~0.12 ~0.10
10419 45.1 0.165 37.0
7815~7816 0.147~0.374 0.021~0.102 0.029~0.100
V1 발산 패턴: step ~100 이후부터 scale term이 1.0 → 5.0 → 30+ 로 지수 증가. 다른 term들(depth, ray_origin/dir, rot, trans)은 계속 감소하는데 scale만 폭발. step 10419에서 total loss 45.1, scale term이 37.0으로 전체의 82%를 차지.
V2 수렴 패턴: step 7815 기준 loss 0.147 (L_D 0.027 + L_M 0.055 + L_P 0.029 + L_C 0.034 + L_grad 0.003). 5개 term이 균형 있게 감소. scale term이 별도로 분리되지 않고 L_C(9-DoF camera) 안에 정규화되어 있어 발산 없음.

V2 Loss 각 term 수렴 상태 (step 7815)

Term의미step 0step 7815감소율
L_Dconf-weighted depth0.5330.027−95%
L_Mmask0.6180.055−91%
L_P3D point projection0.6540.029−96%
L_C9-DoF camera (pose+intrinsic)0.4240.034−92%
L_gradgradient sharpness0.0040.003−25%
Total2.2340.147−93%

4 Takeaway

V1 발산 원인 분석

(1) Scale term 비정규화: V1에서 scale을 독립 term으로 두면서 다른 loss term과 magnitude 불균형이 생겼다. depth/ray 등이 0으로 수렴하면 scale gradient만 남아 발산.

(2) Confidence weighting 부재: 아웃라이어 픽셀(오클루전 경계, 반사면)이 depth loss에 동등한 가중치로 들어가 gradient를 오염. V2의 L_D는 confidence map으로 이를 억제.

(3) 3D consistency 강제 없음: V1은 각 view를 독립적으로 처리. L_P처럼 3D 포인트를 다른 view로 투영해 일관성을 강제하는 메커니즘이 없어 view 간 pose가 발산 방향으로 학습될 수 있음.

프로젝트 의미: V2(논문 §3.2 완전 구현)가 올바른 선택임이 확인됐다. V1 ablation을 통해 confidence weighting과 L_P의 역할이 단순 "논문 따라하기" 이상임을 실증. Phase B 학습은 V2 loss로만 진행.

5 Next Steps