Cerberus / docs /experiment-roadmap.md
backseollgi's picture
Upload docs/experiment-roadmap.md with huggingface_hub
2b2d9e6 verified
|
Raw History Blame Contribute Delete
21.6 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๋ฅผ ํ•œ ๋ฒˆ์— ํŒ์ •ํ•œ๋‹ค. ์ด ์‹คํ—˜์ด ๋…ผ๋ฌธ์˜ ์ƒ์‚ฌ๋ฅผ ๊ฐ€๋ฅธ๋‹ค.
```bash
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๋งˆ๋‹ค ๋‹ค๋ฅธ ์ฝ”๋“œ๋กœ
ํ•™์Šต๋˜๋ฉด ํ†ต์ œ๊ฐ€ ๊นจ์ง„๋‹ค(์‹ค์ œ๋กœ ํ•œ ๋ฒˆ ๋ฐœ์ƒํ•ด ์žฌ์‹œ์ž‘ํ–ˆ๋‹ค). ํ‰๊ฐ€ยท๋ฌธ์„œยท๋ถ„์„ ์ฝ”๋“œ๋Š” ๋ฌด๊ด€ํ•˜๋‹ค.
**๋๋‚˜๋ฉด ํ•  ์ผ**
```bash
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๋ฅผ ๋ณด๊ณ ํ•œ๋‹ค.
```bash
# 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๋ถ€ํ„ฐ ๊ณ ์ณ ํ•™์Šตํ–ˆ๋‹ค๋ฉด ์–ด๋• ์„์ง€"๋Š” ๋‹ตํ•˜์ง€ ๋ชปํ•˜๋ฉฐ, ์ด๋Š” ํ•œ๊ณ„๋กœ ๋ช…์‹œํ•œ๋‹ค.
#### โ‘ข์ด ๋˜์‚ด๋ฆฌ๋Š” ๊ฒƒ โ€” ๋ถ€๋ก์œผ๋กœ ๋‚ด๋ฆฐ ์‹คํ—˜๋“ค์˜ ๋ถ€ํ™œ ์กฐ๊ฑด
**E1ยทE3๋Š” ํ๊ธฐ๋œ ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋ณด๋ฅ˜๋œ ๊ฒƒ์ด๋‹ค.** ๋‘ ์‹คํ—˜์€ ์• ์ดˆ์— `L_dis`(๋ฐฉํ–ฅ์„ฑ ๋ถ„๋ฆฌ
๋ชฉ์ ํ•จ์ˆ˜)๋ฅผ ์ง€ํƒฑํ•˜๋ ค๊ณ  ์„ค๊ณ„๋˜์—ˆ๊ณ , ๊ทธ ๋ชฉ์ ํ•จ์ˆ˜๋ฅผ ๊ธฐ์—ฌ์—์„œ ๋‚ด๋ฆฌ๋ฉด์„œ ํ•จ๊ป˜ ๋ถ€๋ก์œผ๋กœ ๊ฐ”๋‹ค.
๋”ฐ๋ผ์„œ โ‘ข์—์„œ ๊ณ ์นœ ๋ชฉ์ ํ•จ์ˆ˜๊ฐ€ ํšจ๊ณผ๋ฅผ ๋ณด์ด๋ฉด **๋‘ ์‹คํ—˜์ด ๋‹ค์‹œ ๋ณธ๋ฌธ ์ž๋ฆฌ๋ฅผ ์š”๊ตฌํ•œ๋‹ค.**
๊ทธ ํŒ๋‹จ์„ ๋‚˜์ค‘์— ์žฌ๊ตฌ์„ฑํ•˜์ง€ ์•Š์•„๋„ ๋˜๋„๋ก ์˜์กด๊ด€๊ณ„๋ฅผ ์—ฌ๊ธฐ ๋‚จ๊ธด๋‹ค.
| ์‹คํ—˜ | ์›๋ž˜ ๋ชฉ์  | ์ง€๊ธˆ ์œ„์น˜ | ๋˜์‚ด์•„๋‚˜๋Š” ์กฐ๊ฑด |
|---|---|---|---|
| **E1** (ํ‘œํ˜„ ์ˆ˜์ค€ ์ง„๋‹จ) | `L_dis`๊ฐ€ ์‹ค์ œ๋กœ ํ‘œํ˜„์„ ๋ถ„๋ฆฌํ–ˆ๋Š”์ง€ CDSยทCKAยท์ƒํ˜ธ์ •๋ณด๋Ÿ‰์œผ๋กœ ์ธก์ • | Appendix D | โ‘ข์—์„œ ๋ชฉ์ ํ•จ์ˆ˜๊ฐ€ ํ‡ดํ™”ํ•˜์ง€ ์•Š๊ณ , ๋ถ„๋ฆฌ๋„๊ฐ€ ์‹ค์ œ๋กœ ๋ณ€ํ•  ๋•Œ |
| **E3** (๋ถ„๋ฆฌ ๋ชฉ์ ํ•จ์ˆ˜ ๊ฒ€์ •) | ์†์‹ค *๋ฐฉํ–ฅ*(+1 vs โˆ’1)์ด ๋ถ„๋ฆฌ๋ฅผ ์•ผ๊ธฐํ•˜๋Š” ์ธ๊ณผ ์š”์ธ์ž„์„ ํ†ต์ œ ์‹คํ—˜์œผ๋กœ ์ž…์ฆ | Appendix E | ๋™์ƒ. ๋‹จ ์ถ•์ด "๋ฐฉํ–ฅ ๋น„๊ต"๊ฐ€ ์•„๋‹ˆ๋ผ **"ํ‡ดํ™”ํ•˜์ง€ ์•Š๋Š” ๋ชฉ์ ํ•จ์ˆ˜ vs ์—†์Œ"** ์œผ๋กœ ์ด๋ฏธ ๋ฐ”๋€Œ์—ˆ๋‹ค |
| **CDS** | ๋ถ„๋ฆฌ๋„๋ฅผ ์žฌ๋Š” ๋‹จ์ผ ์Šค์นผ๋ผ | Appendix C | ๋ถ€ํ˜ธ ๋ฌธ์ œ(์•„๋ž˜)๋ฅผ ๋จผ์ € ๊ณ ์ณ์•ผ ํ•จ |
**๋˜์‚ด๋ฆด ๋•Œ ๋ฐ˜๋“œ์‹œ ํ•จ๊ป˜ ๊ณ ์ณ์•ผ ํ•˜๋Š” ๊ฒƒ ๋‘ ๊ฐ€์ง€.** ๊ทธ๋ƒฅ ๋ถ€๋ก์—์„œ ๋„๋กœ ๊บผ๋‚ด๋ฉด ์•ˆ ๋œ๋‹ค.
1. **CDS์˜ ๋ถ€ํ˜ธ ๋ถˆ๋ณ€์„ฑ.** linear CKA๋Š” Gram ํ–‰๋ ฌ ๊ธฐ๋ฐ˜์ด๋ผ ๋ถ€ํ˜ธ์— ๋ถˆ๋ณ€ํ•˜๋ฏ€๋กœ,
`z_b = โˆ’cยทz_m`์ธ ์ƒํƒœ์—์„œ Redundancy = 1์ด ๋˜์–ด CDS = 0์ด ๋œ๋‹ค. ์ฆ‰ ๋ฐ˜์ƒ๊ด€์„ ์ง€ํ–ฅํ•˜๋Š”
๋ชฉ์ ํ•จ์ˆ˜์™€ ์ด ์ง€ํ‘œ๋Š” ๋ฐ˜๋Œ€ ๋ฐฉํ–ฅ์„ ๊ฐ€๋ฆฌํ‚จ๋‹ค. โ‘ข์ด ๋ชฉ์ ํ•จ์ˆ˜๋ฅผ **ํƒˆ์ƒ๊ด€**(`cos โ†’ 0`)์œผ๋กœ
๋ฐ”๊พธ๋ฉด ์ด ๋ชจ์ˆœ์€ ์ž๋™์œผ๋กœ ํ•ด์†Œ๋˜์ง€๋งŒ, ๊ทธ ์‚ฌ์‹ค์„ ํ™•์ธํ•˜๊ณ  ยง4.2์˜ ํ•œ๊ณ„ ์„œ์ˆ ์„ ๊ฐฑ์‹ ํ•ด์•ผ ํ•œ๋‹ค.
2. **Coverage์˜ ๊ธฐ์ค€์ถ•.** ๊ธฐ์ค€์ด `z_a`์ธ๋ฐ `z_a`๋Š” `L_sim`์œผ๋กœ ํ•™์Šต๋˜๋ฏ€๋กœ, ๋ชฉ์ ํ•จ์ˆ˜๊ฐ€
๋‹ค๋ฅธ ๊ตฌ์„ฑ ๊ฐ„ ๋น„๊ต์—์„œ ์ž[ๅฐบ]๊ฐ€ ํ•จ๊ป˜ ์›€์ง์ธ๋‹ค. ํ•™์Šต์—์„œ ์ž์œ ๋กœ์šด ๊ณ ์ • ํ‘œํ˜„์„ ๊ธฐ์ค€์œผ๋กœ
์จ์•ผ ํ•œ๋‹ค(`complementary_disentanglement_score(..., reference=...)` ์ธ์ž๋กœ ์ด๋ฏธ ์ง€์›).
**๋˜์‚ด์•„๋‚˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ์—๋„ ๋‚จ๋Š” ๊ฐ€์น˜.** โ‘ข์ด ์Œ์„ฑ์œผ๋กœ ๋‚˜์˜ค๋ฉด E1ยทE3๋Š” ๋ณธ๋ฌธ์œผ๋กœ ์˜ค์ง€ ์•Š์ง€๋งŒ,
"์„ค๊ณ„ํ–ˆ๊ณ  ยท ํ‡ดํ™”ํ–ˆ๊ณ  ยท ๊ณ ์ณ๋„ ๋‹ฌ๋ผ์ง€์ง€ ์•Š์•˜๋‹ค"๋Š” 3๋‹จ ๊ธฐ๋ก์ด ์™„์„ฑ๋œ๋‹ค. ์ด๋Š” ํ›„์† ์—ฐ๊ตฌ๊ฐ€ ๊ฐ™์€
์„ค๊ณ„๋ฅผ ๋ฐ˜๋ณตํ•˜์ง€ ์•Š๊ฒŒ ํ•˜๋Š” ์ •๋ณด์ด๋ฉฐ, ๋ถ€๋ก์— ๊ทธ๋Œ€๋กœ ๋‘๋ฉด ๋œ๋‹ค. **๋‘ ๊ฒฝ์šฐ ๋ชจ๋‘ ์‚ญ์ œํ•˜์ง€ ๋ง ๊ฒƒ.**
---
## 2.5 ๋„๋ฉ”์ธ ๊ตฌ์กฐ โ€” ์ธก์ •์œผ๋กœ ๋“œ๋Ÿฌ๋‚œ ๊ฒƒ๊ณผ ๊ทธ๊ฒƒ์ด ๋ฐ”๊พธ๋Š” ์„ค๊ณ„
2026-08-11, heldout 471๊ฑด์˜ **์ •๋‹ต ์„ค๋ช…**์„ ํŒ์ •ํ•ด(์ •์  ์žฅ๋ฉด ์กฐ๊ฑด์ด ์›์ธ ์„ค๋ช…์˜ ์ผ๋ถ€์ธ๊ฐ€)
๋„๋ฉ”์ธ๋ณ„ ๋ถ„ํฌ๋ฅผ ์–ป์—ˆ๋‹ค. ๊ฒฐ๊ณผ๊ฐ€ ์‹คํ—˜ ์„ค๊ณ„๋ฅผ ๋ฐ”๊พผ๋‹ค.
| ๋ฐ์ดํ„ฐ์…‹ | n(heldout) | causal | ๋งˆ์Šคํฌ ๋น„์œจ | ์นด๋ฉ”๋ผ | ์ „์ฒด ๊ทœ๋ชจ |
|---|---|---|---|---|---|
| DoTA | 296 | **43%** | 0.449 | ์ž๊ธฐ์šด๋™ โ†’ **๋งˆ์Šคํฌ ํ‡ดํ™”** | 4,883 |
| UBnormal | 32 | **22%** | 0.039 | ๊ณ ์ • โ†’ ๋งˆ์Šคํฌ ์ •์ƒ | 543 |
| UCF-Crime | 112 | 9% | 0.064 | ๊ณ ์ • | 1,854 |
| ShanghaiTech | 24 | **0%** | 0.067 | ๊ณ ์ • | 437 |
| Ped1 / Ped2 / Avenue | 7 | **0%** | ~0.15 | ๊ณ ์ • | 135 |
### ์ด๊ฒƒ์ด A(๋ฐ์ดํ„ฐ ๊ฒฐํ•จ)๊ฐ€ ์•„๋‹ˆ๋ผ B(๋„๋ฉ”์ธ ์„ฑ์งˆ)์ธ ๊ทผ๊ฑฐ
UCF-Crime์˜ ์„ค๋ช…์€ **์ค‘์œ„ 176์–ด์ ˆ**๋กœ DoTA(36์–ด์ ˆ)์˜ ์•ฝ 5๋ฐฐ์ธ๋ฐ causal์€ 9%๋ฟ์ด๋‹ค. ๊ธธ์ด
๋ฌธ์ œ๊ฐ€ ์•„๋‹ˆ๋‹ค. ์ ˆ๋„ยทํญํ–‰ยท๋ฐฉํ™”์˜ ์›์ธ์€ ํ™˜๊ฒฝ์ด ์•„๋‹ˆ๋ผ **ํ–‰์œ„**๋‹ค. ShanghaiTech์˜ ์ด์ƒ ์„ค๋ช…๋„
"๊ด‘์žฅ์—์„œ ํ•œ ์‚ฌ๋žŒ์ด ๋‹ค๋ฅธ ๋ณดํ–‰์ž ์ง„๋กœ๋กœ ๊ฐ‘์ž๊ธฐ ํ‹€์–ด ์ถฉ๋Œ์„ ์•ผ๊ธฐ"์ฒ˜๋Ÿผ ์žฅ์†Œ๊ฐ€ *์–ด๋””์„œ*์ผ ๋ฟ
*์™œ*๊ฐ€ ์•„๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ **๊ณ ์ • ๊ฐ์‹œ ์นด๋ฉ”๋ผ์—์„œ ์ด์ƒ์€ ํ–‰์œ„์ ์ด๊ณ , ์žฅ๋ฉด์€ ์‹ค์ œ๋กœ ๋ฐฐ๊ฒฝ์ด๋‹ค.**
๋…ผ๋ฌธ์˜ ์ ์šฉ ๋ฒ”์œ„๋ฅผ "๊ฐ์‹œ ์˜์ƒ ์ผ๋ฐ˜"์ด ์•„๋‹ˆ๋ผ **"์žฅ๋ฉด ์กฐ๊ฑด์ด ์œ„ํ—˜๋„๋ฅผ ๊ทœ์ •ํ•˜๋Š” ๋„๋ฉ”์ธ"**
์œผ๋กœ ์ขํ˜€์•ผ ํ•œ๋‹ค. ์ด๋Š” ์ •์งํ•œ ์ถ•์†Œ์ด๊ณ  ๋ฐฉ์–ด ๊ฐ€๋Šฅํ•˜๋‹ค.
### ์ด๊ฒƒ์ด ๋งŒ๋“œ๋Š” 3-ํŒจํ„ด ๊ฒ€์ • โ€” ์„ธ ๋Œ€์•ˆ ์„ค๋ช…์„ ๋™์‹œ์— ๊ฐ€๋ฅธ๋‹ค
์ด๋“์ด ์–ด๋””์„œ ๋‚˜ํƒ€๋‚˜๋Š”์ง€๊ฐ€ ์„ธ ๊ฐ€์„ค์„ ๊ตฌ๋ณ„ํ•œ๋‹ค. ๊ณต๋ณ€๋Ÿ‰(causal ๋น„์œจยท๋งˆ์Šคํฌ ํ’ˆ์งˆ)์ด **๊ฒฐ๊ณผ๋ฅผ
๋ณด๊ธฐ ์ „์— ์ธก์ •๋˜์–ด ์žˆ๋‹ค**๋Š” ์ ์ด ํ•ต์‹ฌ์ด๋‹ค.
| ๋„๋ฉ”์ธ | causal | ๋งˆ์Šคํฌ | ์šฉ๋Ÿ‰ ๊ฐ€์„ค | ๋งˆ์Šคํ‚น ์ •๊ทœํ™” ๊ฐ€์„ค | **๋ณธ ์—ฐ๊ตฌ ๊ฐ€์„ค** |
|---|---|---|---|---|---|
| UBnormal | 22% | ์ •์ƒ | ์ด๋“ ์žˆ์Œ | ์ด๋“ ์ž‘์Œ(๋งˆ์Šคํฌ ๋น„์œจ 0.039) | **์ด๋“ ์žˆ์Œ** |
| DoTA | 43% | ํ‡ดํ™” | ์ด๋“ ์žˆ์Œ | ์ด๋“ ํผ(๋น„์œจ 0.449) | **์ด๋“ ๊ฐ์†Œ** |
| ShanghaiTechยทPed | 0% | ์ •์ƒ | ์ด๋“ ์žˆ์Œ | ์ด๋“ ์ค‘๊ฐ„ | **์ด๋“ ์—†์Œ** |
| UCF-Crime | 9% | ์ •์ƒ | ์ด๋“ ์žˆ์Œ | ์ด๋“ ์ž‘์Œ | ์ด๋“ ์ž‘์Œ |
์šฉ๋Ÿ‰ ๊ฐ€์„ค์€ **๊ท ์ผํ•œ** ์ด๋“์„ ์˜ˆ์ธกํ•˜๊ณ , ๋งˆ์Šคํ‚น ์ •๊ทœํ™” ๊ฐ€์„ค์€ **๋งˆ์Šคํฌ ๋น„์œจ**์„ ๋”ฐ๋ผ๊ฐ€๋ฉฐ,
๋ณธ ์—ฐ๊ตฌ ๊ฐ€์„ค๋งŒ์ด **UBnormal ์žˆ์Œ / DoTA ๊ฐ์†Œ / ShanghaiTech ์—†์Œ**์˜ ๋น„๋‹จ์กฐ ํŒจํ„ด์„ ์˜ˆ์ธกํ•œ๋‹ค.
์ด ํŒจํ„ด์€ ์šฉ๋Ÿ‰์ด๋‚˜ ์ •๊ทœํ™”๋กœ ๋งŒ๋“ค ์ˆ˜ ์—†๋‹ค.
### ๊ทธ๋ž˜์„œ ๋ฐ”๋€Œ๋Š” ๊ฒƒ ์„ธ ๊ฐ€์ง€
1. ~~**โ‘ฃ ego-motion ๋ณด์ •์„ ํ•ต์‹ฌ ์‹คํ—˜์œผ๋กœ ์Šน๊ฒฉ.**~~ โ†’ **์‹ค์ธก์œผ๋กœ ๊ธฐ๊ฐ(โ‘ฃ ํ•ญ๋ชฉ ์ฐธ์กฐ).**
2D ์ •๋ ฌ๋กœ๋Š” DoTA ์˜ ๋งˆ์Šคํฌ๊ฐ€ ์ค„์ง€ ์•Š๋Š”๋‹ค(0.383 โ†’ 0.398, ์ •๋ ฌ ์‹คํŒจ 0/320). ์ „์ง„ ์ฃผํ–‰์˜
ํ”Œ๋กœ์šฐ๋Š” ๊นŠ์ด์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง€๋Š” 3D ์‹œ์ฐจ์ด๋ฏ€๋กœ 2D ๋ณ€ํ™˜์œผ๋กœ ์ œ๊ฑฐํ•  ์ˆ˜ ์—†๋‹ค. ๋”ฐ๋ผ์„œ DoTA ์˜
์ด๋“ ๊ฐ์†Œ๋Š” ๋ฐ˜์ „ ์ˆ˜๋‹จ ์—†์ด **์ ์šฉ ๋ฒ”์œ„์˜ ํ•œ๊ณ„๋กœ ๋ณด๊ณ **ํ•œ๋‹ค.
2. **UBnormal์ด ๊ฐ€์žฅ ๊นจ๋—ํ•œ ๊ฒ€์ • ๋ฌด๋Œ€.** ๊ณ ์ • ์นด๋ฉ”๋ผ + ๋ฐฐ๊ฒฝ ์ธ๊ณผ 22%๋กœ ego-motion ๊ต๋ž€์ด
์—†๋‹ค. ๋‹จ **๋‘ ๊ฐ€์ง€ ํ•œ๊ณ„๋ฅผ ๋ช…์‹œํ•ด์•ผ ํ•œ๋‹ค** โ€” (i) UBnormal์€ **ํ•ฉ์„ฑ ์˜์ƒ**์ด๋ฏ€๋กœ ๊ฐ€์žฅ ๊นจ๋—ํ•œ
์ฆ๊ฑฐ๊ฐ€ ํ•ฉ์„ฑ ๋ฐ์ดํ„ฐ์—์„œ ๋‚˜์˜จ๋‹ค๋Š” ์ , (ii) heldout ๋‚ด causal ํด๋ฆฝ์ด 7๊ฑด๋ฟ์ด๋ผ ์ •๋Ÿ‰ ๊ฒ€์ •์—๋Š”
ํ‘œ๋ณธ์ด ๋ถ€์กฑํ•˜๋‹ค(์ „์ฒด 543๊ฑด ์ค‘ ๋Œ€๋ถ€๋ถ„์ด ํ•™์Šต ๋ถ„ํ• ). ์ •๋Ÿ‰์€ DoTA๊ฐ€, ๊ธฐ์ œ ์˜ˆ์‹œ๋Š” UBnormal์ด
๋‹ด๋‹นํ•˜๋Š” ๋ถ„์—…์œผ๋กœ ๋ณด๊ณ ํ•œ๋‹ค.
3. **์ฃผ ์ข…์ ์„ ๋„๋ฉ”์ธ๋ณ„๋กœ.** ํ’€๋ง ์ˆ˜์น˜๋Š” DoTA 62.8% ํŽธ์ค‘์ด๋ผ ์‚ฌ์‹ค์ƒ ๋Œ€์‹œ์บ  ์„ฑ๋Šฅ์ด๋‹ค
(Section 4.8 ์‚ฌ์ „ ๋“ฑ๋ก ์™„๋ฃŒ).
### ํŒ์ • ๋ฐฉ์‹์„ ํ…์ŠคํŠธ๋กœ ๋ฐ”๊พผ ์ด์œ 
๊ธฐ์กด ํ”„๋กœํ† ์ฝœ(๋งˆ์Šคํ‚น ์˜์ƒ โ†’ ์›๋ณธ ์˜์ƒ 2๋‹จ๊ณ„)์˜ ์‚ฌ๋žŒโ€“LLM ์ผ์น˜๋„๋Š” ฮบ = 0.383์ด์—ˆ๋‹ค. ์›์ธ์€
**๋‘ ํŒ์ •์ž๊ฐ€ ์„œ๋กœ ๋‹ค๋ฅธ ์ •๋ณด๋ฅผ ๋ดค๋‹ค**๋Š” ๋ฐ ์žˆ๋‹ค โ€” ์‚ฌ๋žŒ์€ ์ „๊ฒฝ์ด ์ง€์›Œ์ง„ ์ €์ •๋ณด ์˜์ƒ์„, LLM์€
ํ”„๋ ˆ์ž„์„ ๋ดค๋‹ค. ์ •๋‹ต ์„ค๋ช… ํ…์ŠคํŠธ๋ฅผ ํŒ์ •ํ•˜๋ฉด ๋‘˜์ด ๊ฐ™์€ ๊ฒƒ์„ ๋ณด๊ณ , ๋ฌด์—‡๋ณด๋‹ค **์ฑ„์  ๊ธฐ์ค€๊ณผ
์ผ์น˜ํ•œ๋‹ค**: ์šฐ๋ฆฌ๋Š” ์ƒ์„ฑ๋ฌธ์„ ์ •๋‹ต ์„ค๋ช…๊ณผ ๋น„๊ตํ•ด ์ฑ„์ ํ•˜๋ฏ€๋กœ, "์ •๋‹ต์ด ์žฅ๋ฉด ์กฐ๊ฑด์„ ์›์ธ์œผ๋กœ
๋“œ๋Š”๊ฐ€"๊ฐ€ ์ด๋“์ด ๋‚˜ํƒ€๋‚  ์ˆ˜ ์žˆ๋Š” ์กฐ๊ฑด์„ ์ •ํ™•ํžˆ ๊ทœ์ •ํ•œ๋‹ค.
์ƒ์„ฑ๋ฌผ: `experiments/bg_critical_benchmark/labels_scene_causal_llm.json`
์žฌํ˜„: `$CERBERUS_PY scripts/label_scene_causal.py --anno <heldout> --out <๊ฒฝ๋กœ>` (471๊ฑด 82์ดˆ)
๋‚จ์€ ์‚ฌ๋žŒ ์ž‘์—…: `--sample 80 --dry-run`์œผ๋กœ ๋ฝ‘์€ ํ‘œ๋ณธ์„ ์‚ฌ๋žŒ์ด ๋ผ๋ฒจํ•˜๊ณ  ฮบ ๊ณ„์‚ฐ.
### โ‘ฃ ego-motion ๋ณด์ • arm โ€” **์ทจ์†Œ (์‹ค์ธก์œผ๋กœ ๊ธฐ๊ฐ, 2026-08-13)**
ยง2.5์—์„œ ์ด ์‹คํ—˜์„ ํ•ต์‹ฌ์œผ๋กœ ์Šน๊ฒฉํ–ˆ์œผ๋‚˜, **์‹คํ–‰ ์ „์— ํšจ๊ณผ๋ฅผ ์ธก์ •ํ•œ ๊ฒฐ๊ณผ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š”๋‹ค.**
ํ•™์Šต ์—†์ด ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด์—ˆ๊ณ , ํ™•์ธํ•ด์„œ 2์ผ์„ ์•„๊ผˆ๋‹ค.
์ธก์ •: ๋ฐ์ดํ„ฐ์…‹๋‹น 40 ํด๋ฆฝ ร— 8 ํ”„๋ ˆ์ž„. ์•ž ํ”„๋ ˆ์ž„์„ ํŠน์ง•์  ๋Œ€์‘ + RANSAC ์–ดํŒŒ์ธ์œผ๋กœ ํ˜„
ํ”„๋ ˆ์ž„์— ์ •๋ ฌํ•œ ๋’ค ํ”Œ๋กœ์šฐ๋ฅผ ๋‹ค์‹œ ๊ณ„์‚ฐ(warp-then-flow).
| ๋ฐ์ดํ„ฐ์…‹ | ๋ณด์ • ์ „ | ์–‘์ชฝ warp(ํ†ต์ œ) | ๋ณด์ • ํ›„ | ๋ณด๊ฐ„ ์•„ํ‹ฐํŒฉํŠธ | **์ˆœํšจ๊ณผ** | 95% CI |
|---|---|---|---|---|---|---|
| DoTA | 0.383 | 0.381 | 0.398 | โˆ’0.002 | **+0.016** | [+0.009, +0.024] |
| UCF-Crime | 0.078 | 0.079 | 0.092 | +0.001 | +0.013 | [โˆ’0.001, +0.027] |
| UBnormal | 0.042 | 0.042 | 0.043 | +0.000 | +0.001 | [โˆ’0.000, +0.001] |
| ShanghaiTech | 0.094 | 0.093 | 0.111 | โˆ’0.001 | +0.018 | [โˆ’0.001, +0.036] |
**ํ†ต์ œ ์„ค๊ณ„.** ๋‘ ํ”„๋ ˆ์ž„์„ **๊ฐ™์€ ์ถ”์ • ๋ณ€ํ™˜์œผ๋กœ warp** ํ•œ ์กฐ๊ฑด์„ ํ†ต์ œ๋กœ ๋‘”๋‹ค โ€” ์ƒ๋Œ€ ์šด๋™์€
๋ณด์กด๋˜๊ณ  ๋ณด๊ฐ„๋งŒ ์–‘์ชฝ์— ๋™์ผํ•˜๊ฒŒ ๊ฑธ๋ฆฌ๋ฏ€๋กœ, ์›๋ณธ ๋Œ€๋น„ ์ฆ๊ฐ€๋ถ„์ด ๊ณง ๋ณด๊ฐ„ ์•„ํ‹ฐํŒฉํŠธ๋‹ค. ์ธก์ •
๊ฒฐ๊ณผ ์•„ํ‹ฐํŒฉํŠธ๋Š” โˆ’0.002~+0.001๋กœ **์‚ฌ์‹ค์ƒ 0**์ด๋ฉฐ, ๊ด€์ธก๋œ ์ฆ๊ฐ€๋Š” ๋ณด๊ฐ„์ด ์•„๋‹ˆ๋‹ค.
*(ํ•ญ๋“ฑ ํ–‰๋ ฌ ํ†ต์ œ๋ฅผ ๋จผ์ € ์‹œ๋„ํ–ˆ์œผ๋‚˜ ํ†ต์ œ๊ฐ€ ๋˜์ง€ ์•Š๋Š”๋‹ค โ€” ์ •ํ™•ํ•œ ํ•ญ๋“ฑ์€ ์ •์ˆ˜ ํ™”์†Œ ๋Œ€์‘์ด๋ผ
๋ณด๊ฐ„์„ ์•„์˜ˆ ๊ฑด๋„ˆ๋›ฐ์–ด ์•„ํ‹ฐํŒฉํŠธ๊ฐ€ 0์œผ๋กœ ๋‚˜์˜ค๊ณ , ์ž˜๋ชป๋œ ์•ˆ์‹ฌ์„ ์ค€๋‹ค. ๊ธฐ๋ก์œผ๋กœ ๋‚จ๊ธด๋‹ค.)*
**์ •๋ ฌ์€ ์ „๋ถ€ ์„ฑ๊ณตํ–ˆ๋Š”๋ฐ ๋งˆ์Šคํฌ๊ฐ€ ์ค„์ง€ ์•Š์•˜๊ณ , ์˜คํžˆ๋ ค ์˜ฌ๋ž๋‹ค.** ๊ทธ๋ฆฌ๊ณ  ๊ทธ ์ƒ์Šน์€
**๊ณ ์ • ์นด๋ฉ”๋ผ ๋„๋ฉ”์ธ์—์„œ๋„ ๊ฐ™์€ ํฌ๊ธฐ๋กœ ๋‚˜ํƒ€๋‚œ๋‹ค**(ShanghaiTech +0.018, DoTA +0.016).
์ฐธ ํšจ๊ณผ๊ฐ€ 0์ด์–ด์•ผ ํ•˜๋Š” ๊ณณ์—์„œ ๊ฐ™์€ ๊ฐ’์ด ๋‚˜์˜จ๋‹ค๋Š” ๊ฒƒ์€, ์ด ์ ˆ์ฐจ๊ฐ€ ์ž๊ธฐ ์šด๋™์„ ์ œ๊ฑฐํ•˜๋Š”
๊ฒƒ์ด ์•„๋‹ˆ๋ผ **์ •๋ ฌ ์˜ค์ฐจ๋ฅผ ์ฃผ์ž…**ํ•˜๊ณ  ์žˆ๋‹ค๋Š” ๋œป์ด๋‹ค.
์›์ธ์„ ์ถ”์ ํ–ˆ๋‹ค. ์ถ”์ •๋œ ๋ณ€ํ™˜์˜ ์ค‘์‹ฌ ์ด๋™์€ ๊ณ ์ • ์นด๋ฉ”๋ผ์—์„œ 0.02~0.10px๋กœ ์‚ฌ์‹ค์ƒ ํ•ญ๋“ฑ์ด๊ณ 
DoTA๋งŒ 3.49px๋‹ค โ€” **์ถ”์ • ์ž์ฒด๋Š” ์ •ํ™•ํ•˜๋‹ค.** ๋ฌธ์ œ๋Š” `estimateAffinePartial2D`๊ฐ€ ํšŒ์ „ยท์Šค์ผ€์ผ๋„
์ถ”์ •ํ•œ๋‹ค๋Š” ๋ฐ ์žˆ๋‹ค. ์ค‘์‹ฌ์€ ๊ฑฐ์˜ ์•ˆ ์›€์ง์—ฌ๋„ **๋ฏธ์„ธํ•œ ์Šค์ผ€์ผ ์˜ค์ฐจ(์˜ˆ: 1.001๋ฐฐ)๊ฐ€ ํ™”๋ฉด
๊ฐ€์žฅ์ž๋ฆฌ๋ฅผ 1px ๊ฐ€๊นŒ์ด ๋ฐ€์–ด** ์ฃผ๋ณ€๋ถ€๋ฅผ ์–ด๊ธ‹๋‚˜๊ฒŒ ํ•œ๋‹ค. ์ค‘์‹ฌ ์ด๋™๋งŒ ์žฌ๋˜ ์ดˆ๊ธฐ ์ง€ํ‘œ๋Š” ์ด๋ฅผ
๋†“์ณค๋‹ค.
๋”ฐ๋ผ์„œ ๊ฒฐ๋ก ์€ ์œ ์ง€๋˜๋‚˜ ๊ทผ๊ฑฐ๊ฐ€ ๋ฐ”๋€๋‹ค. **2D ์ƒ์‚ฌ๋ณ€ํ™˜ ์ •๋ ฌ๋กœ๋Š” DoTA ์˜ ๋ถ„ํ• ์ด ๋ณต๊ตฌ๋˜์ง€
์•Š์œผ๋ฉฐ, ๊ฐ™์€ ์ ˆ์ฐจ๊ฐ€ ๋ชจ๋“  ๋„๋ฉ”์ธ์— +0.013~0.018์˜ ์ •๋ ฌ ์˜ค์ฐจ๋ฅผ ์ฃผ์ž…ํ•œ๋‹ค.** ์ „์ง„ ์ฃผํ–‰์˜
ํ”Œ๋กœ์šฐ๊ฐ€ ๊นŠ์ด์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง€๋Š” 3D ์‹œ์ฐจ๋ผ๋Š” ํ•ด์„์€ ์—ฌ์ „ํžˆ ์œ ๋ ฅํ•˜๋‚˜, **์ด ์ธก์ •๋งŒ์œผ๋กœ๋Š”
"์‹œ์ฐจ ๋•Œ๋ฌธ์— ์ œ๊ฑฐ ๋ถˆ๊ฐ€"์™€ "์ด ์ถ”์ •๊ธฐ์˜ ์˜ค์ฐจ๊ฐ€ ์ œ๊ฑฐ๋Ÿ‰์„ ์ƒ์‡„"๋ฅผ ๊ตฌ๋ณ„ํ•˜์ง€ ๋ชปํ•œ๋‹ค.**
ํ˜ธ๋ชจ๊ทธ๋ž˜ํ”ผ(8-DOF)๋Š” ํ‰๋ฉด์ธ ๋…ธ๋ฉด์„ ์ •์ง€์‹œํ‚ฌ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์‹œ๋„ํ•ด ๋ณผ ๊ฐ€์น˜๊ฐ€ ์žˆ๋‹ค โ€”
๋‹ค๋งŒ ๊ทธ๊ฒƒ๋„ ๋…ธ๋ฉด ๋ฐ– ๊ตฌ์กฐ๋ฌผ์—๋Š” ๊ฐ™์€ ๋ฌธ์ œ๋ฅผ ๋‚จ๊ธด๋‹ค.
**ํ‹€๋ฆฐ ๋ฐฉ๋ฒ•๋„ ๊ธฐ๋กํ•œ๋‹ค.** ์ฒ˜์Œ์—๋Š” ํ”Œ๋กœ์šฐ ์žฅ์— ์–ดํŒŒ์ธ์„ ์ ํ•ฉํ•ด ๊ทธ ์„ฑ๋ถ„์„ ๋นผ๋Š” ๋ฐฉ์‹์„
์ผ๋Š”๋ฐ, DoTA ๊ฐ€ 0.383 โ†’ **0.615 ๋กœ ์•…ํ™”**๋˜์—ˆ๋‹ค. ํ™”์†Œ์˜ 62% ๋Š” ์ด๋ฏธ ์ž„๊ณ„๊ฐ’ ์•„๋ž˜์ธ๋ฐ
์ „์ฒด ์žฅ์— ์ ํ•ฉ๋œ ๋ชจ๋ธ์ด ๊ทธ ์ •์  ์˜์—ญ์—๋„ ์šด๋™์„ ์˜ˆ์ธกํ•˜๋ฏ€๋กœ, ์ฐจ์ด๊ฐ€ ์ž”์ฐจ๋กœ ๋‚จ์•„ ์ƒˆ๋กœ
๋งˆ์Šคํฌ์— ๋“ค์–ด๊ฐ„๋‹ค. ์ž๊ธฐ ์šด๋™์„ ์ œ๊ฑฐํ•˜๋Š” ๋Œ€์‹  ์ •์  ์˜์—ญ์— ์ธ๊ณต ์šด๋™์„ ์ฃผ์ž…ํ•˜๋Š” ์…ˆ์ด๋‹ค.
์žฌํ˜„: `$CERBERUS_PY scripts/measure_ego_motion_effect.py --n 40`
์ƒ์„ฑ๋ฌผ: `experiments/bg_critical_benchmark/ego_motion_effect.json`
**์ด๊ฒƒ์ด ๋ฐ”๊พธ๋Š” ๊ฒƒ.** ยง2.5์˜ "โ‘ฃ ๊ฐ€ DoTA ์˜ ์ด๋“ ๊ฐ์†Œ๋ฅผ ์ž๋ฐฑ์—์„œ ๊ธฐ์ œ ์ฆ๊ฑฐ๋กœ ๋ฐ˜์ „์‹œํ‚จ๋‹ค"๋Š”
๊ณ„ํš์€ ์„ฑ๋ฆฝํ•˜์ง€ ์•Š๋Š”๋‹ค. DoTA ์—์„œ ์ด๋“์ด ์ž‘๊ฒŒ ๋‚˜์˜ค๋”๋ผ๋„ ์ €๋ ดํ•œ ๋ฐ˜์ „ ์ˆ˜๋‹จ์ด ์—†์œผ๋ฏ€๋กœ,
๋…ผ๋ฌธ์€ **์ ์šฉ ๋ฒ”์œ„์˜ ํ•œ๊ณ„๋กœ ์ •์งํ•˜๊ฒŒ ๋ณด๊ณ **ํ•ด์•ผ ํ•œ๋‹ค โ€” ์ด ๋ฐฉ๋ฒ•์˜ ๋ถ„ํ• ์€ ๊ณ ์ • ์นด๋ฉ”๋ผ
๋„๋ฉ”์ธ์—์„œ ์œ ํšจํ•˜๊ณ , ์‹œ์ฐจ๊ฐ€ ์ง€๋ฐฐํ•˜๋Š” ์ฃผํ–‰ ์˜์ƒ์—์„œ๋Š” 2D ์ •๋ ฌ๋กœ ๋ณต๊ตฌ๋˜์ง€ ์•Š๋Š”๋‹ค.
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.97~1.01๋ฐฐ โ€” ์ž…๋ ฅ ์ฒ˜๋ฆฌ๋ถ€๋Š” ์•ˆ ์›€์ง์˜€๊ณ 
์ž…๋ ฅ ๋ฌด๊ด€ bias๋งŒ 20~40๋ฐฐ ํŒฝ์ฐฝ
- `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. ๋ฐฑ์—… ๊ทœ์•ฝ
ํฐ ๋ณ€๊ฒฝ ํ›„์—๋Š” ์–‘์ชฝ ๋ชจ๋‘ ๋ฐ€์–ด ๋‹ค๋ฅธ ์„œ๋ฒ„์—์„œ ์žฌํ˜„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•œ๋‹ค.
```bash
# ์ฝ”๋“œยท๋ฌธ์„œยท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`(ํŒ์ •์ž).