Cerberus / docs /experiment-roadmap.md
backseollgi's picture
Upload docs/experiment-roadmap.md with huggingface_hub
20e9382 verified
|
Raw
History Blame Contribute Delete
10.3 kB

CERBERUS ์‹คํ—˜ ๋กœ๋“œ๋งต โ€” ๋ฌด์—‡์„, ์™œ, ์–ด๋–ค ์ˆœ์„œ๋กœ

์ด ๋ฌธ์„œ ํ•˜๋‚˜๋งŒ ์ฝ์œผ๋ฉด ๋‹ค๋ฅธ ์„œ๋ฒ„์˜ ์—์ด์ „ํŠธ๋„ ์ด์–ด์„œ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ์“ด๋‹ค. ํ˜„ํ™ฉยท๊ทผ๊ฑฐยท๋‹ค์Œ ๋ช…๋ นยทํŒ๋‹จ ๊ธฐ์ค€์„ ํ•œ๊ณณ์— ๋ชจ์€๋‹ค.

  • ์„ธ์…˜ ๋ณต๊ตฌ ์ ˆ์ฐจ: ../../CLAUDE.md (๋ณผ๋ฅจ ๋ฃจํŠธ) ๋˜๋Š” session-recovery.md
  • ํ•™์Šต ์ด๋ ฅยท์„ค์ • ๊ทผ๊ฑฐ: training-log.md
  • ์‹ฌ์‚ฌ ์ง€์ ๊ณผ ๋Œ€์‘: review-2026-08-10-methodology.md

0. ์ด ์—ฐ๊ตฌ๊ฐ€ ์ž…์ฆํ•˜๋ ค๋Š” ๊ฒƒ

HAWK๋Š” ์ •์  ๋ฐฐ๊ฒฝ์„ ๋ณ„๋„ ํ•™์Šต ๋Œ€์ƒ์œผ๋กœ ๋‘์ง€ ์•Š๋Š”๋‹ค. ๋ฐฐ๊ฒฝ ์ „์šฉ ์ŠคํŠธ๋ฆผ์„ ์ถ”๊ฐ€ํ•˜๊ณ  ์žฅ๋ฉด ์–ธ์–ด๋กœ ๊ฐ๋…ํ•˜๋ฉด, ๋ฐฐ๊ฒฝ ๋งฅ๋ฝ์ด ์ค‘์š”ํ•œ ์ด์ƒ์—์„œ ์ดํ•ด ์„ฑ๋Šฅ์ด ํ–ฅ์ƒ๋œ๋‹ค.

์ฆ๋ช…ํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ์€ ์„ธ ๋‹จ๊ณ„์ด๋ฉฐ, ๋’ค๋กœ ๊ฐˆ์ˆ˜๋ก ์–ด๋ ต๋‹ค.

๋‹จ๊ณ„ ์ฃผ์žฅ ๋ฐ˜์ฆ๋˜๋Š” ์กฐ๊ฑด
S1 ๋ฐฐ๊ฒฝ ์ŠคํŠธ๋ฆผ์„ ์ถ”๊ฐ€ํ•˜๋ฉด ์„ฑ๋Šฅ์ด ์˜ค๋ฅธ๋‹ค flow โ‰ˆ zero
S2 ๊ทธ ํ–ฅ์ƒ์ด ์šฉ๋Ÿ‰์ด ์•„๋‹ˆ๋ผ ๋ฐฐ๊ฒฝ ๋‚ด์šฉ ๋•Œ๋ฌธ์ด๋‹ค flow โ‰ˆ random_mask
S3 ๊ทธ ํ–ฅ์ƒ์ด ์ƒ๋ณด ๋ถ„ํ•ด ๋•Œ๋ฌธ์ด๋‹ค (๋‹จ์ˆœ ์ถ”๊ฐ€๊ฐ€ ์•„๋‹ˆ๋ผ) flow โ‰ˆ duplicate

S1๋งŒ ์„ฑ๋ฆฝํ•˜๊ณ  S2๊ฐ€ ๊นจ์ง€๋ฉด "๋ธŒ๋žœ์น˜๋ฅผ ๋Š˜๋ฆฌ๋ฉด ์ข‹๋‹ค"๋Š” ํ”ํ•œ ๊ฒฐ๊ณผ๋กœ ์ถ•์†Œ๋œ๋‹ค. S2๊นŒ์ง€ ์„ฑ๋ฆฝํ•˜๊ณ  S3๊ฐ€ ๊นจ์ง€๋ฉด "๋ฐฐ๊ฒฝ ์ •๋ณด๋ฅผ ๋”ฐ๋กœ ์ฃผ๋ฉด ์ข‹๋‹ค"๊นŒ์ง€๋Š” ์ฃผ์žฅํ•  ์ˆ˜ ์žˆ์œผ๋‚˜ "ํ™”์†Œ๊ฐ’ ๋ณด์กด ์ƒ๋ณด ๋ถ„ํ• "(C1)์˜ ๊ณ ์œ ์„ฑ์€ ํฌ๊ธฐํ•ด์•ผ ํ•œ๋‹ค.

์„ค๊ณ„ ์›์น™: ๊ฐ€์„ค์ด ์ฐธ์ด๋ผ๋ฉด ๋“œ๋Ÿฌ๋‚˜๋„๋ก ์ตœ๋Œ€ํ•œ ์œ ๋ฆฌํ•œ ์กฐ๊ฑด์„ ๋งŒ๋“ค๋˜, ๊ฑฐ์ง“์ผ ๊ฒฝ์šฐ์— ๋ฌด์—‡์„ ๋ณด๊ณ ํ• ์ง€๋„ ๋ฏธ๋ฆฌ ์ •ํ•ด ๋‘”๋‹ค. ์–ด๋А ์ชฝ์ด ๋‚˜์˜ค๋“  ์“ธ ์ˆ˜ ์žˆ๋Š” ๋…ผ๋ฌธ์ด ๋˜๋„๋ก ํ•œ๋‹ค.


1. ํ˜„์žฌ ์ง„ํ–‰ ์ค‘ โ€” โ‘  ํ†ต์ œ๊ตฐ 4-arm

๋ชฉ์ : S1ยทS2ยทS3๋ฅผ ํ•œ ๋ฒˆ์— ํŒ์ •ํ•œ๋‹ค. ์ด ์‹คํ—˜์ด ๋…ผ๋ฌธ์˜ ์ƒ์‚ฌ๋ฅผ ๊ฐ€๋ฅธ๋‹ค.

cd $CERBERUS_ROOT/hawk
bash scripts/run_ablation_arms.sh          # flow โ†’ random_mask โ†’ duplicate โ†’ zero
  • arm๋‹น 40 epoch(=400k ์ƒ˜ํ”Œ), ์•ฝ 1.6์ผ. ์ „์ฒด ์•ฝ 6.4์ผ
  • ๋„ค arm์€ ์•„ํ‚คํ…์ฒ˜ยทํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜ยท์‹œ๊ฐ ํ† ํฐ ์ˆ˜๊ฐ€ ๋™์ผํ•˜๊ณ  ์ •์  ์ŠคํŠธ๋ฆผ์˜ ๋‚ด์šฉ๋งŒ ๋‹ค๋ฅด๋‹ค
  • ์žฌ๊ฐœ ๊ฐ€๋Šฅ: ๋Š๊ธด ๋’ค ๊ฐ™์€ ๋ช…๋ น์„ ๋‹ค์‹œ ์‹คํ–‰ํ•˜๋ฉด train_run.sh๊ฐ€ arm๋ณ„๋กœ ์ด์–ด๋ฐ›๋Š”๋‹ค
  • ์ง„ํ–‰ ํ™•์ธ: grep -c "Averaged stats" $CERBERUS_ROOT/runs/abl_<arm>/train.log

์ฃผ์˜ โ€” ์ด ์‹คํ—˜์ด ๋„๋Š” ๋™์•ˆ ํ•™์Šต ๊ฒฝ๋กœ ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜์ง€ ๋ง ๊ฒƒ. arm๋งˆ๋‹ค ๋‹ค๋ฅธ ์ฝ”๋“œ๋กœ ํ•™์Šต๋˜๋ฉด ํ†ต์ œ๊ฐ€ ๊นจ์ง„๋‹ค(์‹ค์ œ๋กœ ํ•œ ๋ฒˆ ๋ฐœ์ƒํ•ด ์žฌ์‹œ์ž‘ํ–ˆ๋‹ค). ํ‰๊ฐ€ยท๋ฌธ์„œยท๋ถ„์„ ์ฝ”๋“œ๋Š” ๋ฌด๊ด€ํ•˜๋‹ค.

๋๋‚˜๋ฉด ํ•  ์ผ

for a in flow random_mask duplicate zero; do
  $CERBERUS_PY scripts/evaluate.py --ckpt $CERBERUS_ROOT/runs/abl_$a/main/checkpoint_39.pth \
      --out experiments/out/eval_abl_$a.json --judge gemini-2.5-flash
done
$CERBERUS_PY scripts/evaluate.py --compare

2. ๋‹ค์Œ ์ˆœ์„œ (โ‘  ์™„๋ฃŒ ํ›„)

์šฐ์„ ์ˆœ์œ„๋Š” "์–ด๋–ค ์งˆ๋ฌธ์— ๋‹ตํ•˜์ง€ ๋ชปํ•˜๋ฉด ๋…ผ๋ฌธ์ด ๋ง‰ํžˆ๋Š”๊ฐ€" ๊ธฐ์ค€์ด๋‹ค.

โ‘ก ์‹œ๋“œ 3ํšŒ โ€” 3.2์ผ ยท ์ตœ์šฐ์„ 

๋ฐฐ๊ฒฝ ์ŠคํŠธ๋ฆผ์˜ ๊ธฐ๋Œ€ ์ด๋“์€ ์ด ๋ฒค์น˜๋งˆํฌ์—์„œ ์†Œ์ˆ˜์  ๋‘˜์งธ ์ž๋ฆฌ ๋Œ€์—ญ์ด๋‹ค. ๋‹จ์ผ ์‹คํ–‰ ์ ์ถ”์ •์œผ๋กœ๋Š” "๋Ÿฐ ๊ฐ„ ๋…ธ์ด์ฆˆ์™€ ๊ตฌ๋ณ„๋˜์ง€ ์•Š๋Š”๋‹ค"๋Š” ํ•œ ๋ฌธ์žฅ์— ๋ฌด๋„ˆ์ง„๋‹ค. ์ฃผ์š” 2๊ฐœ arm (flow, ๊ฐ€์žฅ ๊ฐ•ํ•œ ํ†ต์ œ๊ตฐ)์— ์‹œ๋“œ 3๊ฐœ๋ฅผ ๋Œ๋ ค ํ‰๊ท ยฑํ‘œ์ค€ํŽธ์ฐจ์™€ ๋ถ€ํŠธ์ŠคํŠธ๋žฉ CI๋ฅผ ๋ณด๊ณ ํ•œ๋‹ค.

# seed ๋Š” config ์˜ run.seed ๋ฅผ --options ๋กœ ๋ฎ์–ด์“ด๋‹ค
for s in 43 44; do
  bash scripts/train_run.sh configs/train_configs/ablation/stage2_flow.yaml abl_flow_s$s 0,1 2
done

โ€ป run.seed ์˜ค๋ฒ„๋ผ์ด๋“œ๋ฅผ train_run.sh์˜ OPTS์— ์ถ”๊ฐ€ํ•ด์•ผ ํ•œ๋‹ค(๋ฏธ๊ตฌํ˜„).

โ‘ข 5๋ฒˆ์งธ arm โ€” ๊ณ ์นœ L_dis โ€” 1.6์ผ

๋‹ตํ•˜๋Š” ์งˆ๋ฌธ: "์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜๋Š” ๋ถ„๋ฆฌ ๋ชฉ์ ํ•จ์ˆ˜๊ฐ€ ํ•˜๋ฅ˜ ์„ฑ๋Šฅ์„ ๋ฐ”๊พธ๋Š”๊ฐ€."

ํ˜„์žฌ L_dis๋Š” ํ‡ดํ™” ๊ณ ์ •์ ์— ์žˆ์–ด ๊ธฐ์šธ๊ธฐ๊ฐ€ 0์ด๋‹ค(ยง4 ์ฐธ์กฐ). ๊ณ ์ณ์„œ ์žฌ์‹คํ–‰ํ•˜๋ ค๋ฉด Stage-1๋ถ€ํ„ฐ ๋‹ค์‹œ ํ•ด์•ผ ํ•  ๊ฒƒ ๊ฐ™์ง€๋งŒ, encoder_1์ด ๊ณ๊ฐ€์ง€๋ผ ๊ทธ๋Ÿด ํ•„์š”๊ฐ€ ์—†๋‹ค โ€” projection.py์—์„œ decoder_2๋Š” encoder_0์˜ ์ถœ๋ ฅ์„ ๋ฐ›์œผ๋ฏ€๋กœ, encoder_1๋งŒ ์žฌ์ดˆ๊ธฐํ™”ํ•˜๋ฉด LLM ๊ฒฝ๋กœ๊ฐ€ ์†์ƒ๋˜์ง€ ์•Š๋Š”๋‹ค.

1. L_dis ์žฌ์ •์˜: ๋ฐ˜์ƒ๊ด€(cosโ†’โˆ’1) โ†’ ํƒˆ์ƒ๊ด€(|cos|โ†’0)
   + ๋ฐฐ์น˜ ์ค‘์‹ฌํ™”, ์ƒ˜ํ”Œ๋ณ„ ์ฝ”์‚ฌ์ธ(.view(1,-1) ์ œ๊ฑฐ), ๋ถ„์‚ฐ ํ•˜ํ•œ(VICReg์‹ hinge)
2. checkpoint_106 ๋กœ๋“œ ํ›„ encoder_1 ๋งŒ ์žฌ์ดˆ๊ธฐํ™”
3. Stage-2 40 epoch (๋‹ค๋ฅธ arm๊ณผ ๋™์ผ ์˜ˆ์‚ฐ)

ํ•œ๊ณ„: Stage-2๋Š” 400k ์ƒ˜ํ”Œ์ด๋ผ ๋ชฉ์ ํ•จ์ˆ˜๊ฐ€ ์ž‘์šฉํ•  ๊ธฐํšŒ๊ฐ€ Stage-1(1.6M)๋ณด๋‹ค ์ ๋‹ค. "Stage-1๋ถ€ํ„ฐ ๊ณ ์ณ ํ•™์Šตํ–ˆ๋‹ค๋ฉด ์–ด๋• ์„์ง€"๋Š” ๋‹ตํ•˜์ง€ ๋ชปํ•˜๋ฉฐ, ์ด๋Š” ํ•œ๊ณ„๋กœ ๋ช…์‹œํ•œ๋‹ค.

โ‘ฃ ego-motion ๋ณด์ • arm โ€” 1.6์ผ

DoTA(์ „์ฒด์˜ 62%)์—์„œ ์ž๊ธฐ์šด๋™์ด ํ™”๋ฉด ์ „์ฒด๋ฅผ ๋™์ ์œผ๋กœ ๋ถ„๋ฅ˜ํ•ด ์ •์  ์ŠคํŠธ๋ฆผ์ด ๋น„๋Š” ๋ฌธ์ œ (mask_statistics.json). ์ „์—ญ ํ˜ธ๋ชจ๊ทธ๋ž˜ํ”ผ ์ถ”์ • ํ›„ ์ž”์ฐจ ํ”Œ๋กœ์šฐ๋กœ ๋งˆ์Šคํฌ๋ฅผ ๋งŒ๋“ ๋‹ค. ์„ฑ๋Šฅ ๊ฐœ์„ ์ด์ž ๋ฐฉ๋ฒ•๋ก  ๊ธฐ์—ฌ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค โ€” ๋ฐฐ๊ฒฝ์„ ๋” ์ž˜ ๋ณด๊ฒŒ ๋งŒ๋“œ๋Š” ๋ฐฉํ–ฅ์ด๋ฏ€๋กœ ์—ฐ๊ตฌ ์ฃผ์žฅ๊ณผ ๊ฐ™์€ ๋ฐฉํ–ฅ์ด๋‹ค.

โ‘ค Stage-1 ์žฌํ•™์Šต โ€” 2.8์ผ + Stage-2 6.3์ผ

โ‘ข์˜ ์™„์ „ํŒ. L_dis๋ฅผ ๊ณ ์นœ ์ƒํƒœ๋กœ Stage-1๋ถ€ํ„ฐ 1.6M ์ƒ˜ํ”Œ์„ ๋‹ค์‹œ ํ•™์Šตํ•œ๋‹ค. โ‘ข์—์„œ ์œ ์˜ํ•œ ํšจ๊ณผ๊ฐ€ ๋ณด์˜€์„ ๋•Œ๋งŒ ์ •๋‹นํ™”๋œ๋‹ค. 2 GPU ๊ธฐ์ค€ max_epoch์„ 107 โ†’ 133 ์œผ๋กœ ์˜ฌ๋ ค์•ผ ์ƒ˜ํ”Œ ์˜ˆ์‚ฐ(1.6M)์ด ์œ ์ง€๋œ๋‹ค(iters_per_epoch 1500, batch 4, 2 GPU).

โ‘ฅ ์ฃผ ๋น„๊ต full-budget run โ€” 6.3์ผ

Table 1์„ ์›๋ณธ ๊ณต๊ฐœ ์ˆ˜์น˜์™€ ๋‚˜๋ž€ํžˆ ๋†“๊ธฐ ์œ„ํ•ด flow ๊ตฌ์„ฑ์„ ์›๋ณธ๊ณผ ๊ฐ™์€ 1.6M ์ƒ˜ํ”Œ (max_epoch: 160, batch 2, 2 GPU)๋กœ ํ•œ ๋ฒˆ ๋Œ๋ฆฐ๋‹ค. โ‘ ์˜ ๊ฐ์ถ• ์˜ˆ์‚ฐ ๊ฒฐ๊ณผ์™€๋Š” ๋ณ„๊ฐœ๋‹ค.


3. GPU ์—†์ด ๋ณ‘ํ–‰ํ•  ๊ฒƒ

์ž‘์—… ์ƒํƒœ ๋น„๊ณ 
์žฅ๋ฉด ์–ดํœ˜ ์žฌํ˜„์œจ ์ง€ํ‘œ โณ ์—ฐ๊ตฌ ์ฃผ์žฅ์„ ์ง์ ‘ ์žฌ๋Š” ์œ ์ผํ•œ ์ง€ํ‘œ โ€” ยง5 ์ฐธ์กฐ
Background-critical ์ฃผ์„ 600๊ฑด โณ ์‚ฌ๋žŒ 2์ธ ์ด์ƒ ํ•„์š”. bg_critical_benchmark/annotation_protocol.md
Route B ํ•ฉ์„ฑ ํ”„๋กœ๋ธŒ + ๊ท€๋ฌด ์กฐ๊ฑด โ— corrected_bsi() ๊ตฌํ˜„๋จ, ์‹ค๋ฐ์ดํ„ฐ ์ ์šฉ ๋ฏธ์™„
์ฐธ๊ณ ๋ฌธํ—Œ [51]โ€“[55] ์›๋ฌธ ๋Œ€์กฐ โณ ๊ธฐ์–ต์œผ๋กœ ์ž‘์„ฑ๋จ โ€” improved/07_references.md์— ํ‘œ์‹œ
Figure 1 teaser โณ ์‹ค์ œ ํ”„๋ ˆ์ž„์˜ x / MโŠ™x / (1โˆ’M)โŠ™x 3์žฅ์ด๋ฉด ์ถฉ๋ถ„

4. ํ™•์ •๋œ ์‚ฌ์‹ค (๋˜๋Œ๋ฆฌ์ง€ ๋ง ๊ฒƒ)

์ธก์ •ยท๊ฒ€์ฆ์„ ๊ฑฐ์นœ ๊ฒƒ๋“ค์ด๋‹ค. ๋‹ค์‹œ ๋…ผ์˜ํ•˜๊ธฐ ์ „์— ๊ทผ๊ฑฐ๋ฅผ ๋จผ์ € ๋ณผ ๊ฒƒ.

L_dis๋Š” ํ•™์Šต๋œ ์ ์ด ์—†๋‹ค. checkpoint_106 ์‹ค์ธก:

  • encoder_1.bias ์ฝ”์‚ฌ์ธ +0.9988 / โˆ’0.9993 (๋ชฉํ‘œ๊ฐ’์— ์ •ํ™•ํžˆ ๋„๋‹ฌ)
  • ๊ฐ™์€ ๋ชจ๋“ˆ์˜ decoder_2.bias(์ด ์†์‹ค์ด ์•ˆ ๋‹ฟ๋Š” ๋Œ€์กฐ๊ตฐ) +0.027 / +0.023
  • encoder_1.weight๋Š” ์ดˆ๊ธฐํ™” ๋Œ€๋น„ 0.971.01๋ฐฐ โ€” ์ž…๋ ฅ ์ฒ˜๋ฆฌ๋ถ€๋Š” ์•ˆ ์›€์ง์˜€๊ณ  ์ž…๋ ฅ ๋ฌด๊ด€ bias๋งŒ 2040๋ฐฐ ํŒฝ์ฐฝ
  • cos = ยฑ1์€ ์ฝ”์‚ฌ์ธ์˜ ์ •๋ฅ˜์  โ†’ ๊ธฐ์šธ๊ธฐ 0 โ†’ ์ดํ›„ 106 epoch ๋™์•ˆ ๋ฌด๊ธฐ์—ฌ
  • ๊ฒฐ๋ก : t_4 = 0.1๊ณผ t_4 = 0์ด ๋น„ํŠธ ๋‹จ์œ„๋กœ ๋™์ผํ•˜๋‹ค. ์–ด๋ธ”๋ ˆ์ด์…˜ ๋ถˆํ•„์š”

CDS๋Š” L_dis์˜ ์ตœ์ ์ ์—์„œ 0์ด ๋œ๋‹ค. linear CKA๊ฐ€ ๋ถ€ํ˜ธ ๋ถˆ๋ณ€์ด๋ฏ€๋กœ z_b = โˆ’cยทz_m์—์„œ Redundancy = 1 โ†’ CDS = 0. ์ฆ‰ ๋ชฉ์ ํ•จ์ˆ˜์™€ ์ง„๋‹จ ์ง€ํ‘œ๊ฐ€ ์„œ๋กœ ๋ฐ˜๋Œ€๋ฅผ ๊ฐ€๋ฆฌํ‚จ๋‹ค. ๋น„์ค‘๋ณต์„ฑ์ด ์š”๊ตฌํ•˜๋Š” ๊ฒƒ์€ ๋ฐ˜์ƒ๊ด€(โˆ’1)์ด ์•„๋‹ˆ๋ผ ํƒˆ์ƒ๊ด€(0)์ด๋‹ค.

๋งˆ์Šคํฌ ๋น„์œจ์€ ๋„๋ฉ”์ธ ๊ฐ„ 10๋ฐฐ ์ด์ƒ ์ฐจ์ด ๋‚œ๋‹ค (์ „์ˆ˜ 7,852 ํด๋ฆฝ, ฯ„=0.2): DoTA 0.449 / Ped2 0.160 / Ped1 0.159 / Avenue 0.147 / ShanghaiTech 0.067 / UCF-Crime 0.064 / UBnormal 0.039. ๊ณ ์ • ์นด๋ฉ”๋ผ ๋„๋ฉ”์ธ์—์„œ ์ •์  ์ŠคํŠธ๋ฆผ์€ ํ”„๋ ˆ์ž„์˜ 84โ€“96%๋ฅผ ๋ณด์กดํ•˜๋ฏ€๋กœ ์™ธํ˜• ์ŠคํŠธ๋ฆผ๊ณผ ์ž…๋ ฅ์ด ํฌ๊ฒŒ ๊ฒน์นœ๋‹ค โ†’ duplicate ํ†ต์ œ๊ตฐ์ด ํŠนํžˆ ์ค‘์š”.

Stage-2์—๋Š” L_MLยทL_BL์ด ์—†๋‹ค. ์„ธ ์ŠคํŠธ๋ฆผ์„ concatํ•ด LLaMA๋ฅผ 1ํšŒ ํ†ต๊ณผ์‹œํ‚ค๋ฏ€๋กœ loss_motion = loss_background = loss์ด๋ฉฐ(video_llama.py:806), ์‹คํšจ ๋ชฉ์ ์€ 1.2ยทL_VL + 0.1ยทL_sim + 0.1ยทL_dis๋‹ค. ๋”ฐ๋ผ์„œ +L_BL ์–ด๋ธ”๋ ˆ์ด์…˜ ํ–‰์€ Stage-1 ์žฌ์‚ฌ์ „ํ•™์Šต์„ ์š”๊ตฌํ•œ๋‹ค.

Stage-1์—์„œ L_BL์€ ์ •์ƒ ์ž‘๋™ํ–ˆ๋‹ค. ๋กœ๊ทธ์˜ motionloss 2.6672 vs backgroundloss 2.2075๊ฐ€ ์„œ๋กœ ๋‹ค๋ฅธ ๊ฐ’์ด๋ผ๋Š” ๊ฒƒ์ด ์ฆ๊ฑฐ๋‹ค. ์—ฐ๊ตฌ ์ฃผ์žฅ์˜ ํ•ต์‹ฌ ๋ถ€ํ’ˆ์€ ๋ถ•๊ดดํ•˜์ง€ ์•Š์•˜๋‹ค.


5. ์•„์ง ์—†๋Š” ๊ฒƒ โ€” ์ฃผ์žฅ์„ ์ง์ ‘ ์žฌ๋Š” ์ง€ํ‘œ

ํ˜„์žฌ ์ง€ํ‘œ๋Š” ์—ฐ๊ตฌ ์ฃผ์žฅ์„ ๊ฐ„์ ‘์ ์œผ๋กœ๋งŒ ์žฐ๋‹ค.

  • BLEU: ๋ฌธ์žฅ ์ „์ฒด. ๋ฐฐ๊ฒฝ ์„œ์ˆ ์ด ์ข‹์•„์ ธ๋„ ํฌ์„๋œ๋‹ค
  • BSI: ๋ฐฐ๊ฒฝ์— ๋ฏผ๊ฐํ•œ๊ฐ€์ด์ง€ ์ •ํ™•ํ•œ๊ฐ€๊ฐ€ ์•„๋‹ˆ๋‹ค
  • context_critical ์ •ํ™•๋„: ๋งž์•˜๋‚˜ ํ‹€๋ ธ๋‚˜. ๋ฐฐ๊ฒฝ ์„œ์ˆ  ํ’ˆ์งˆ์€ ์•„๋‹ˆ๋‹ค

์žฅ๋ฉด ์–ดํœ˜ ์žฌํ˜„์œจ(Scene-word Recall) โ€” ์ •๋‹ต ์บก์…˜์—์„œ ๋ฝ‘์€ ์žฅ๋ฉด ์–ดํœ˜ (extract_background_entities_sentence๊ฐ€ ๋ฝ‘๋Š” ๋ฐ”๋กœ ๊ทธ ๋‹จ์–ด๋“ค, L_BL์˜ ํ•™์Šต ๋ชฉํ‘œ)๋ฅผ ๋ชจ๋ธ ์ถœ๋ ฅ์ด ์–ผ๋งˆ๋‚˜ ๋งžํžˆ๋Š”๊ฐ€. ์ด๊ฒƒ์ด ์žˆ์–ด์•ผ "HAWK๋Š” ๋…ธ๋ฉด์ด ์ –์—ˆ๋‹ค๋Š” ๊ฑธ ๋งํ•˜์ง€ ๋ชปํ•˜๋Š”๋ฐ ์šฐ๋ฆฌ๋Š” ๋งํ•œ๋‹ค" ๋ฅผ ์ˆซ์ž๋กœ ์“ธ ์ˆ˜ ์žˆ๋‹ค. GPU ๋ถˆํ•„์š”.


6. ๊ฒฐ๊ณผ๋ณ„ ๋Œ€์‘ (๋ฏธ๋ฆฌ ์ •ํ•ด ๋‘”๋‹ค)

โ‘  ๊ฒฐ๊ณผ ํ•ด์„ ๋…ผ๋ฌธ ๋ฐฉํ–ฅ
flow > duplicate > random_mask โ‰ˆ zero S1ยทS2ยทS3 ์ „๋ถ€ ์„ฑ๋ฆฝ ์›์•ˆ๋Œ€๋กœ. ์ƒ๋ณด ๋ถ„ํ•ด๊ฐ€ ํ•ต์‹ฌ ๊ธฐ์—ฌ
flow โ‰ˆ duplicate > random_mask โ‰ˆ zero S1ยทS2 ์„ฑ๋ฆฝ, S3 ์‹คํŒจ C1์„ "๋ฐฐ๊ฒฝ ์ •๋ณด์˜ ๋ช…์‹œ์  ๋ถ„๋ฆฌ"๋กœ ์ถ•์†Œ. ๋ถ„ํ•ด์˜ ํ˜•ํƒœ๋Š” ์ฃผ์žฅํ•˜์ง€ ์•Š์Œ
flow โ‰ˆ random_mask S2 ์‹คํŒจ ์ด๋“์ด ์šฉ๋Ÿ‰ยท์ •๊ทœํ™” ํšจ๊ณผ. ๊ตฌ์กฐ ์ฃผ์žฅ ์ฒ ํšŒ, ์Œ์„ฑ ๊ฒฐ๊ณผ๋กœ ์ •์งํ•˜๊ฒŒ ๋ณด๊ณ 
์ „๋ถ€ ๋™์  S1 ์‹คํŒจ ๋ฐฐ๊ฒฝ ์ŠคํŠธ๋ฆผ ์ž์ฒด๊ฐ€ ๋ฌดํšจ. โ‘ฃ(ego-motion)๋กœ ๋งˆ์Šคํฌ ํ’ˆ์งˆ์„ ๋จผ์ € ๊ฐœ์„ ํ•ด ์žฌ์‹œ๋„

๋งˆ์ง€๋ง‰ ๋‘ ๊ฒฝ์šฐ๊ฐ€ ๋‚˜์™€๋„ ๋ฒ„๋ฆด ์‹คํ—˜์ด ์•„๋‹ˆ๋‹ค โ€” "๋ธŒ๋žœ์น˜ ์ถ”๊ฐ€๋Š” ์šฉ๋Ÿ‰ ํšจ๊ณผ์˜€๋‹ค"๋Š” ๊ฒƒ๋„ ์ด ๊ณ„๋ณด์—์„œ ๋ณด๊ณ ํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ๋Š” ๊ฒฐ๊ณผ์ด๋ฉฐ, ํ†ต์ œ๊ตฐ์„ ๊ฐ–์ถ˜ ๋•๋ถ„์— ๊ทธ๋ ‡๊ฒŒ ๋งํ•  ์ˆ˜ ์žˆ๋‹ค.


7. ๋ฐฑ์—… ๊ทœ์•ฝ

ํฐ ๋ณ€๊ฒฝ ํ›„์—๋Š” ์–‘์ชฝ ๋ชจ๋‘ ๋ฐ€์–ด ๋‹ค๋ฅธ ์„œ๋ฒ„์—์„œ ์žฌํ˜„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•œ๋‹ค.

# ์ฝ”๋“œยท๋ฌธ์„œยทfigure
git push https://<token>@github.com/jungseoik/hawk.git HEAD:main

# ์ฒดํฌํฌ์ธํŠธยท๋กœ๊ทธ (HF)
$CERBERUS_PY scripts/upload_checkpoint.py --folder <name> --run-dir $CERBERUS_ROOT/runs/<run> --latest

ํ† ํฐ: $CERBERUS_ROOT/.github_token, .hf_token, .gemini_token(ํŒ์ •์ž).