← 요약본 v3 (에피소드 구조 · 자산 실측 · instruction · 학습 · 네비)
TL;DR
- Entity / Event / Behavior를 버린다. 그건 메모리 이론의 분류지 사람이 로봇에게 시키는 일의 분류가 아니다. 그래서 억지로 끼워맞추는 느낌이 나고, 처음 보는 사람에게 "그래서 뭘 시키는 벤치인데?"가 안 들어온다.
- 대신 평범한 한국어 질문 4개로 나눈다 — 어디 있지 / 어디까지 했지 / 원래 어땠지 / 여긴 어떻게 하지. 각각 Finding Resuming Restoring Routine.
- "루틴" 자리를 대신할 것을 찾다가 원상복구(Restoring)를 발견했다. 자산 지원이 완벽하고(관절 qpos·물체 pose 복원), 채점이 이진이며, 미끼가 저절로 생긴다 — "원래 열려 있던 서랍"을 닫으면 오답인데, 현재 관측으로는 내가 연 것과 구분이 안 된다. 루틴은 4번째로 남기되 우선순위를 내린다.
- 모든 하위 task에 "현재 관측에 없는 정보" 열을 강제한다. 이 칸을 못 채우면 그건 메모리 task가 아니라 perception task다 — 분류 자체가 벤치의 성격을 지키는 장치가 된다.
- 총 15개 하위 task. 전부 자산 실측으로 가능 여부를 확인했고, 길이는 2~6분에 들어간다.
0 왜 바꾸나
| Entity / Event / Behavior | Finding / Resuming / Restoring / Routine |
| 기준 | 기억의 형태 (인지과학 분류) | 사람이 시키는 일 |
| 첫인상 | "그래서 뭘 시키는 건데?" | "아, 물건 찾기 / 하던 거 마무리 / 원상복구 / 집 규칙" |
| 경계 | 애매하다 — "잘못 넣은 거 바꿔놔"는 Event인가 Behavior인가 | 지시문 형태로 갈린다 |
| 확장 | 새 task를 만들면 어디에 넣을지 매번 논쟁 | 새 지시문이 나오면 자연히 자리가 있다 |
메모리 이론 분류가 사라지는 건 아니다. 각 하위 task에 부가 라벨로 남긴다(어떤 기억 능력을 쓰는지 분석할 때 필요하니까). 다만 벤치의 1차 축은 "시키는 일"이고, 메모리 형태는 2차 축이다. 논문 표에서도 1차 축으로 줄을 나누고 2차 축은 열로 붙인다.
1 새 4분류
A
Finding
"어디 있지?"
물건의 현재 위치를 회상한다. 봤거나, 스쳤거나, 안 본 곳을 추론하거나.
B
Resuming
"어디까지 했지?"
작업의 진행 상태를 회상한다. 순서, 횟수, 남은 것.
C
Restoring
"원래 어땠지?"
세계의 이전 상태를 회상한다. 내가 바꾼 것만 되돌린다.
D
Routine
"여긴 어떻게 하지?"
이 집의 규칙을 유도한다. 배치, 절차, 금지.
난이도가 저절로 올라간다. A는 한 사건을 꺼내면 되고, B는 여러 사건을 집계해야 하고, C는 이전 상태 전체를 현재와 대조해야 하고, D는 여러 사건에서 패턴을 유도해야 한다. 억지로 계층을 만들지 않아도 자연히 그렇게 된다.
| 필요한 연산 | 부가 라벨 (구 분류) | 길이 | 하위 |
| A Finding | 단일 사건 조회 | Entity | 2~4분 | 5 |
| B Resuming | 사건 집계 · 카운팅 | Event | 2~4분 | 4 |
| C Restoring | 이전 상태 ↔ 현재 대조 | Event(상태) | 3~5분 | 3 |
| D Routine | 패턴 유도 + 일반화 | Behavior | 4~6분 | 3 |
A Finding — "어디 있지?"
| 이름 | 심기 구간 | 질의 | 현재 관측에 없는 정보 | 길이 |
| A1 | 본 이동 | 사용자가 열쇠를 Drawer_04에 넣고 닫는다 | "내 열쇠 가져와" | 서랍이 닫혀 물체가 안 보임. 보이는 곳엔 다른 색 키링(미끼) | 2~4분 |
| A2 | 스쳐 본 것 | 로봇이 다른 작업 중, 시야 주변으로 사용자가 리모컨을 침실로 가져감 | "리모컨 어디 있어?" | 물체가 다른 방에 있음. 상식 prior(리모컨=소파)는 오답 | 3~4분 |
| A3 | 배제 추론 | 로봇이 작업하며 Cabinet_02·05·07을 열었고 거기엔 없었다. 타깃은 한 번도 안 본 Cabinet_03에 | "컵 하나 꺼내와" | 어디를 이미 봤는지. 지금은 전부 닫혀 있어 개봉 이력이 안 보임 | 3~5분 |
| A4 | 인스턴스 특정 | 머그 5개 중 하나로 물을 마심 | "아까 쓴 컵 싱크대에" | 5개가 겉으로는 다 후보. 사용 이력만이 정답을 가른다 | 3~4분 |
| A5 | 재고 집계 QA | 여러 방에 사과가 흩어져 놓인다 (3+2+1) | "사과 몇 개 있어?" | 한 시야에 다 안 들어옴. 순회 중 본 것의 합 | ~0 (QA) |
A3가 이 분류에서 가장 독특하다. 다른 것들은 "본 것을 기억"하지만, A3는 "안 본 곳을 기억"한다. 그리고 채점 방식이 완전히 다르다 — 성공/실패가 아니라 첫 탐색 위치가 미개봉 리셉터클인가를 본다.
0:00 [작업] 로봇이 정리를 하며 Cabinet_02, 05, 07을 차례로 여닫는다
(그 안에 컵은 없었다 — 로봇 카메라에 내용물이 찍힘) 9 task
2:40 [개입] 쓰레기 버리기 4 task
3:35 [질의] "컵 하나 꺼내와" ← 컵은 한 번도 안 연 Cabinet_03에
현재 관측 : 찬장 8개 전부 닫혀 있음. 어느 걸 열어봤는지 흔적 없음.
채점 : 기억 있음 → 첫 시도에 Cabinet_03 (또는 미개봉 찬장부터)
기억 없음 → 평균 4.5회 개봉 후 발견 (8개 중 무작위)
메트릭 = 개봉 횟수 / 첫 시도가 미개봉인가
A3는 메모리의 값어치를 SR이 아니라 "헛수고 횟수"로 잰다. 결국은 둘 다 찾으므로 SR이 포화한다. 차이는 서랍을 몇 번 여닫았는가에서만 난다 — redundant_open_count가 핵심 메트릭이 된다.
B Resuming — "어디까지 했지?"
| 이름 | 심기 구간 | 질의 | 현재 관측에 없는 정보 | 길이 |
| B1 | 횟수 | "컵 3개를 싱크대로" 지시받고 2개만 옮긴 뒤 다른 일로 전환 | "아까 그거 마저 해" | 몇 개를 했는지 / 원래 몇 개였는지. 남은 1개가 안 보이면 정보량 0 | 2~3분 |
| B2 | 순서 (이어서) | 거실 → 부엌 → 침실 순으로 정리하다 부엌 중간에 중단 | "청소 마무리해" | 어디까지 진행했는지. 거실을 다시 하면 헛수고 | 3~4분 |
| B3 | 누락 하나 | 컵 3개 중 2개는 싱크대, 1개는 Drawer_02에 잘못 들어감 | "설거지 마무리해줘" | 1개가 서랍 안에 있다는 사실. 겉보기엔 다 끝난 상태 | 3분 |
| B4 | 장치 재개 | 사용자가 빵을 토스터에 넣고 켜둔 채 자리를 뜸 | "아까 하던 거 마무리해" | 토스터가 무슨 작업 중인지. 겉보기엔 그냥 토스터 | 4~5분 |
★ 짝(pair) 필수: 위 전부에 "이미 다 끝난" 버전을 짝으로 둔다. 정답은 DONE(success, "이미 다 됐습니다"). 현재 관측이 완전히 동일하게 만들 수 있어서, "항상 뒤진다"와 "항상 끝낸다" 두 편법을 한 번에 0점으로 만든다. |
B1(횟수)이 가장 깨끗한 메모리 task일 수 있다. 횟수는 현재 관측으로 원리적으로 알 수 없다. 그리고 채점이 완벽히 이진이다 — 1개만 옮겨야 하는데 2개 옮기면 fail, 0개면 fail. 부분점도 해석 논쟁도 없다.
0:00 ★[심기] 사용자: "이 컵들 싱크대로 옮겨줘" (카운터에 컵 3개)
로봇이 2개를 옮긴다 8 task
1:50 사용자가 끊는다: "아 잠깐, 쓰레기부터 좀"
[개입] 쓰레기 버리기 5 task
3:00 [질의] "아까 그거 마저 해" 4 task
현재 관측 : 카운터에 컵 1개, 싱크대에 컵 2개. ← 사실 이건 보인다!
→ 그래서 남은 1개를 반드시 은폐해야 한다:
(a) 3번째 컵이 애초에 카운터가 아니라 식탁에 있었다 (다른 시야)
(b) 개입 중 사용자가 3번째 컵을 찬장에 넣어버렸다
(c) 짝 버전: 컵이 원래 2개였다 → 정답은 DONE(이미 완료)
B 계열의 함정 — "몇 개 남았나"가 지금 보이면 메모리가 필요 없다. 요약본 v3의 은폐 3장치(닫힌 곳 / 다른 방 / 겉보기 구분 불가)가 B에서는 특히 엄격하게 적용돼야 한다. 게이트에 남은 일감이 현재 시야에 보이나 검사를 반드시 건다.
C Restoring — "원래 어땠지?" 신설
루틴 자리를 대신할 후보를 찾다 나온 것. Finding과 명확히 다르다 — Finding은 "지금 어디 있나"를 묻고, Restoring은 "원래 어땠나"를 묻는다. 후자는 덮어쓰인 이전 상태라서 현재 관측에 흔적이 남지 않는다.
| 이름 | 심기 구간 | 질의 | 현재 관측에 없는 정보 | 길이 |
| C1 | 내가 연 것만 닫기 | 에피소드 시작 시 Cabinet_04·Fridge/joint_00이 원래 열려 있다. 로봇이 작업하며 Drawer_02·Cabinet_07을 추가로 연다 | "정리하고 나가자" | 어느 것이 원래 열려 있었는지. 지금은 4개가 똑같이 "열림" | 3~4분 |
| C2 | 치운 것 되돌리기 | 작업 공간을 만들려고 카운터의 물건 3개를 다른 데로 옮김 | "원래대로 돌려놔" | 각 물체의 원래 자리. 현재 위치만 보임 | 4~5분 |
| C3 | 변화 탐지 QA | 로봇이 방을 나간 사이 물체 하나가 사라지거나 옮겨짐 | "아까랑 달라진 거 있어?" | 이전 배치 전체. 순수 회상 | ~0 (QA) |
C1을 강력 추천한다. 세 가지가 동시에 성립한다.
- 자산 지원이 완벽하다. 판정이
joint qpos 비교로 끝난다 — 애매함 0. Cabinet 470 · Drawer 240 · Fridge(114 joint) · Dresser(152 joint)로 재고도 충분하다.
- 미끼가 저절로 생긴다. "원래 열려 있던 것"을 닫으면 오답인데, 현재 관측으로는 내가 연 것과 물리적으로 구분이 불가능하다. 미끼를 인위적으로 심을 필요가 없다.
- 실제로 로봇에게 필요한 능력이다. "작업 후 원상복구"는 가정 로봇의 실질 요구사항이고, 아무도 벤치로 안 재고 있다.
0:00 ★[초기 상태] 로봇이 부엌에 들어선다.
Cabinet_04 열림 · Fridge/joint_00 열림 ← 원래 그랬다 (로봇이 목격)
0:15 [작업] "우유랑 컵 좀 꺼내줘"
Drawer_02 열기 → 컵 꺼내기 → (닫지 않음)
Cabinet_07 열기 → 설탕 꺼내기 → (닫지 않음) 8 task
2:00 [개입] 거실에 물건 가져다놓기 4 task
2:55 [질의] "정리하고 나가자" 4 task
현재 관측 : 열린 관절 4개. 전부 똑같이 "열림".
정답 : Drawer_02, Cabinet_07 만 닫는다
오답 : Cabinet_04 나 Fridge/joint_00 을 닫으면 감점 (원상 훼손)
채점 : joint qpos 정확 일치 → 완전 이진
난이도 노브가 자연스럽다. 원래 열려 있던 개수(0/1/2/3) × 로봇이 연 개수(1/2/3) × 그 사이 개입 길이. "원래 열림 0개"면 전부 닫으면 되니 메모리 불필요 — 그게 쉬움 조건이자 blind 대조군이 된다.
D Routine — "여긴 어떻게 하지?"
| 이름 | 심기 (시연 ×3~4) | 질의 | 현재 관측에 없는 정보 | 길이 |
| D1 | 배치 규칙 | Plate→Cabinet_02(상단), Bowl→Cabinet_05(하단) 반복 | "이것도 정리해줘" (새 접시 + 처음 보는 Pan) | 이 집의 수납 규칙. 찬장이 닫혀 있어 내용물도 안 보임 | 5~6분 |
| D2 | 절차 규칙 | 물건을 꺼낼 때마다 반드시 닫는다 ×3 | 새 작업 지시 | "닫는다"가 이 집 규칙이라는 것. 안 닫아도 작업은 성공하므로 물리적 강제 없음 | 4~5분 |
| D3 | 금지 | 사용자가 특정 서랍을 계속 피한다 (또는 "여긴 열지 마" 발화) | "내 시계 찾아줘" (하필 그 서랍 안) | 금지 규칙. 서랍은 겉보기에 평범하다 | 3~4분 |
D2가 채점이 가장 깨끗하다 — 규칙이 joint 상태로 환원되고, 물리적으로 강제되지 않으며(안 닫아도 작업 성공), 일반화 대상(처음 여는 리셉터클)이 자동으로 생긴다. 그리고 C1(원상복구)과 짝을 이룬다 — C1은 "원래 상태로", D2는 "이 집 규칙대로". 둘을 같은 씬에서 대조하면 재미있다.
D의 근본 한계는 남는다. 단일 에피소드에서 시연은 3~4회가 상한이라 "통계적 규칙 유도"라기엔 약하고, D1은 룩업 테이블 암기와 구분하기 어렵다. D를 4순위로 두고, 강화 방향(조건부 규칙 / 규칙 간 우선순위 / 음성 규칙의 명시적 채점)은 다음 라운드로 미룬다.
5 검토했으나 뺀 것 — 왜
"householding에서 메모리가 필요한 큰 task가 또 뭐가 있나"를 놓고 훑은 후보들. 뺀 이유가 곧 설계 논거가 된다.
| 후보 | 예시 지시 | 판정 | 이유 |
| 원상복구 | "정리하고 나가자" | 채택 → C | 자산 지원 완벽, 채점 이진, 미끼가 저절로 생김 |
| 재고 집계 | "사과 몇 개 있어?" | 축소 흡수 → A5 | 여러 방 순회라 길어지는데, 하는 일은 Finding의 반복. QA로만 남긴다 |
| 변화 탐지 | "아까랑 뭐 달라졌어?" | 축소 흡수 → C3 | 순수 메모리라 좋지만 실행 task로 만들기 애매하다(무엇을 하라는 건지 불명). QA로만 |
| 귀속 / 출처 | "이거 누가 그랬어?" | 제외 | 사람 아바타가 여럿 필요. MolmoSpaces human asset 가용성 미확인 + 렌더 비용 |
| 시간 기반 | "30분 됐으니 꺼내" | 제외 | 시뮬 시간 축이 약하고, 타이머는 메모리가 아니라 계산이다 |
| 실패 학습 | "저 서랍 뻑뻑하니 조심해" | 보류 | MolmoSpaces가 friction/mass 랜덤화를 지원하긴 하나, 신호가 제어 노이즈에 묻힌다 |
| 요리 · 세탁 | "빨래 돌려줘" | 불가 | 자산 제약. 상태 변화(cooked/clean)가 없고 WashingMachine·ClothesDryer는 관절이 없다 |
| 닦기 · 청소기 | "바닥 좀 닦아" | 불가 | 자산 제약. dirty→clean 상태가 없어 판정 불가. broom·mop은 소품 |
"제외" 4건 중 2건이 자산 제약이다. 요리·세탁·닦기는 사람이 가장 먼저 떠올리는 household task인데 시뮬에서 안 된다 — 논문에서 Limitations에 반드시 명시해야 할 항목이고, 동시에 "그래서 우리는 재배치·개폐 축에 집중했다"는 정당화가 된다.
6 전체 15개 하위 task
| ID | 이름 | 대표 지시 | 은폐 방식 | 주 채점 | 길이 | 우선 |
A1 | 본 이동 | "내 열쇠 가져와" | 닫힌 곳 | SR (이진) | 2~4분 | ★★★ |
A2 | 스쳐 본 것 | "리모컨 어디 있어?" | 다른 방 | SR + 경로비 | 3~4분 | ★★ |
A3 | 배제 추론 | "컵 하나 꺼내와" | 개봉 이력 불가시 | redundant_open | 3~5분 | ★★★ |
A4 | 인스턴스 특정 | "아까 쓴 컵 넣어놔" | 동종 5개 | 정확 인스턴스 | 3~4분 | ★★★ |
A5 | 재고 집계 | "사과 몇 개 있어?" | 여러 방 분산 | 수치 정확도 | QA | ★ |
B1 | 횟수 | "아까 그거 마저 해" | 필수 (아래 주의) | SR (이진) | 2~3분 | ★★★ |
B2 | 순서 (이어서) | "청소 마무리해" | 완료 구역 불가시 | GC + redundant | 3~4분 | ★★★ |
B3 | 누락 하나 | "설거지 마무리해줘" | 닫힌 곳 | SR + 짝 | 3분 | ★★ |
B4 | 장치 재개 | "아까 하던 거 마무리해" | 장치 상태 | SR + 기권 2×2 | 4~5분 | ★★ |
C1 | 내가 연 것만 닫기 | "정리하고 나가자" | 저절로 | joint 정확 일치 | 3~4분 | ★★★ |
C2 | 치운 것 되돌리기 | "원래대로 돌려놔" | 이전 pose | pose 오차 | 4~5분 | ★★ |
C3 | 변화 탐지 | "뭐 달라졌어?" | 이전 배치 | 정확도 | QA | ★ |
D1 | 배치 규칙 | "이것도 정리해줘" | 닫힌 찬장 | PCR + 일반화 | 5~6분 | ★★ |
D2 | 절차 규칙 | (새 작업 지시) | 물리 미강제 | joint 상태 | 4~5분 | ★★★ |
D3 | 금지 | "내 시계 찾아줘" | 평범해 보임 | 안전 위반 별도 | 3~4분 | ★★ |
★★★ 6개를 파일럿 대상으로 권한다: A1(가장 기본) · A3(탐색 효율) · A4(인스턴스 재식별) · B1(횟수) · B2(이어서) · C1(원상복구). 여섯이 서로 다른 실패 모드를 잡고, 전부 3~5분이며, 자산 제약을 전부 통과한다.
7 이게 메모리 벤치임을 지키는 장치
분류를 "시키는 일" 기준으로 바꾸면 메모리와 무관한 task가 슬쩍 들어올 위험이 생긴다. "정리해줘"는 메모리 없이도 할 수 있으니까. 그래서 분류 자체에 규율을 박는다.
규칙 1. 모든 하위 task는 "현재 관측에 없는 정보" 칸을 채워야 한다.
못 채우면 그건 perception task다 → 데이터셋에서 제외.
규칙 2. 그 정보는 반드시 은폐되어야 한다. 은폐 방식은 셋뿐:
(a) 닫힌 곳 (b) 다른 방 (c) 겉보기 구분 불가
규칙 3. blind 대조군이 반드시 존재해야 한다.
메모리 없는 정책이 chance 근처인지 자동 확인.
(예: C1에서 "원래 열림 0개" 조건 = blind가 전부 닫으면 정답 → 그 조건은 쉬움)
규칙 4. 가능하면 반사실 짝을 만든다. 현재 관측은 동일, 정답은 반대.
B 계열은 "이미 다 끝난" 버전을 짝으로 강제.
규칙 5. SR이 포화하는 셀은 다른 메트릭으로 잰다.
A2 → 경로비, A3 → redundant_open, B2 → redundant_action
규칙 1이 가장 중요하다. 위 4분류 표의 "현재 관측에 없는 정보" 열은 장식이 아니라 필수 입력란이다. 새 task를 제안할 때 이 칸부터 쓰게 하면, 메모리와 무관한 task가 애초에 들어오지 못한다.
8 다음
확정 제안
1차 축 = Finding / Resuming / Restoring / Routine (사람이 시키는 일)
2차 축 = Entity / Event / Behavior (부가 라벨, 분석용)
파일럿 6종 = A1 · A3 · A4 · B1 · B2 · C1
미해결
· D(Routine)를 4개 축으로 유지할지, 아니면 A/B/C 안의 변형으로 흡수할지
→ 지금은 "우선순위 4위로 유지" 상태. 강화 방향은 다음 라운드
· C2(원위치 복구)의 채점 허용오차 — pose 몇 cm까지 정답인가
· A5 / C3 (QA 계열)을 리더보드에 넣을지, 부록으로 뺄지
이 분류가 요약본 v3에 미치는 영향: §1의 task family 7종(T1~T7)이 여기 15종으로 대체되고, §2 사례 3종은 A1·B3·D1에 각각 해당한다(내용은 그대로 유효). 확정되면 요약본을 이 분류로 맞춰 갱신한다.