ORACLE: Orchestrate NPC Daily Activities using Contrastive Learning with Transformer-CVAE

이 논문은 불균형 데이터와 학습 샘플 부족 문제를 해결하기 위해 Transformer, 조건부 변이 오토인코더 (CVAE), 그리고 대비 학습을 결합한 ORACLE 모델을 제안하여, 디지털 환경의 NPC 가 인간과 유사한 현실적인 일상 활동을 생성하도록 하는 방법을 제시합니다.

Seong-Eun Hong, JuYeong Hwang, RyunHa Lee, HyeongYeop Kang

게시일 2026-03-26
📖 3 분 읽기☕ 가벼운 읽기

Each language version is independently generated for its own context, not a direct translation.

🎮 ORACLE: 게임 속 NPC(비플레이어 캐릭터) 가 진짜 사람처럼 살게 만드는 '마법 지팡이'

이 논문은 **"게임이나 가상 현실 속의 NPC(비플레이어 캐릭터) 가 매일 똑같은 행동만 반복하지 않고, 마치 진짜 사람처럼 자연스럽고 다양한 하루를 보내게 하는 방법"**을 소개합니다.

기존의 NPC 는 "아침에 일어나서 밥 먹고, 일하고, 잠자는" 식의 고정된 스크립트를 따르거나, 너무 단순한 규칙만 따라서 지루하게 느껴졌습니다. 하지만 이 연구팀이 만든 ORACLE이라는 새로운 시스템은 NPC 가 진짜 사람의 일상을 배워서, 매일 다른 모습으로 살아나게 합니다.

이 복잡한 기술을 쉽게 이해할 수 있도록 세 가지 핵심 비유로 설명해 드릴게요.


1. 🧠 "기억력 좋은 요리사" (Transformer-CVAE)

문제: 기존 NPC 는 기억력이 짧아서 긴 시간 동안의 일정을 짜기 힘들거나, 같은 메뉴만 반복해서 냈습니다.
해결책 (Transformer):
ORACLE 은 Transformer라는 기술을 사용합니다. 이는 마치 **"매우 기억력이 좋고, 앞뒤 상황을 잘 파악하는 요리사"**와 같습니다.

  • 아침에 커피를 마셨다면, 점심에는 밥을 먹고 저녁에는 잠을 자는 등 시간의 흐름과 상황을 자연스럽게 연결합니다.
  • 단순히 "다음 행동"만 보는 게 아니라, 하루 전체를 한눈에 보며 일정을 짜기 때문에, "아침에 샤워하고 바로 잠자리에 드는" 같은 어색한 행동은 하지 않습니다.

2. 🎲 "매번 다른 메뉴를 만들어내는 창의성" (CVAE)

문제: 컴퓨터는 보통 "가장 확률이 높은 것"을 선택하길 좋아해서, 매일 똑같은 메뉴만 내놓습니다. (예: 매일 아침 7 시에 일어나서 7 시 10 분에 세수하기)
해결책 (CVAE):
ORACLE 에는 **CVAE(조건부 변이 오토인코더)**라는 **'창의성 모듈'**이 들어있습니다.

  • 이는 **"매번 조금씩 다른 변주를 만들어내는 재능"**입니다.
  • "오늘은 7 시에 일어날 수도 있고, 7 시 30 분에 일어날 수도 있고, 주말에는 늦잠을 잘 수도 있다"는 식으로 다양한 시나리오를 생성합니다.
  • 하지만 무작위로 짜는 게 아니라, "실제 사람이 할 법한 범위" 안에서만 창의성을 발휘하도록 제한합니다. (예: "잠을 자는 대신 수영을 24 시간 동안 하는" 같은 말도 안 되는 일은 안 합니다.)

3. 🚫 "엄격한 식중독 검사관" (Contrastive Learning)

문제: AI 가 처음에는 엉뚱한 일정을 만들 수 있습니다. (예: "아침에 설거지를 하고, 점심에 잠을 자고, 밤에 출근하는" 식)
해결책 (Contrastive Learning):
이 부분이 가장 중요합니다. ORACLE 은 **"비교 학습"**이라는 기술을 사용합니다.

  • 비유: AI 가 만든 일정을 **"식중독 검사관"**이 검사한다고 상상해 보세요.
    • 좋은 일정 (Positive): "아침에 일어나서 세수하고, 일하고, 저녁에 쉬는" 자연스러운 일정은 **"통과 (O)"**라고 칩니다.
    • 나쁜 일정 (Negative): "잠을 자는 대신 24 시간 내내 설거지를 하거나, 식사 시간을 완전히 무시하는" 어색한 일정은 **"불합격 (X)"**이라고 칩니다.
  • 이 검사관은 AI 가 "어색한 일정"과 "자연스러운 일정"의 차이를 명확히 구분하도록 훈련시킵니다. 결과적으로 AI 는 불합격된 엉뚱한 행동을 스스로 고쳐서, 진짜 사람처럼 자연스러운 일정을 만들게 됩니다.

📊 이 기술이 왜 중요한가요?

  1. 진짜 같은 현실감: 게임이나 VR 에서 NPC 가 매일 같은 행동을 반복하면 지루하지만, ORACLE 을 쓰면 NPC 가 "오늘은 피곤해서 일찍 잤네", "오늘은 친구를 만나러 나갔네"처럼 매일 다른 이야기를 만들어냅니다.
  2. 유연한 적용:
    • 완전 생성: "내일 하루 일정을 짜줘"라고 하면 0 부터 24 시간까지 모든 일정을 만들어줍니다.
    • 부분 수정: "아침은 7 시에 일어나고, 저녁 8 시에 잠들게 해줘"라고 하면, 그 사이를 자연스럽게 채워줍니다. (예: "그럼 점심은 12 시에 먹고, 오후에는 운동하는 게 어때요?")
  3. 데이터 부족 문제 해결: 실제 사람의 일상을 담은 데이터는 많지 않고, 특정 행동 (예: 운동) 은 드물게 나타납니다. ORACLE 은 이런 불균형한 데이터에서도 잘 학습하도록 설계되었습니다.

🏁 결론

이 논문은 **"AI 가 게임 속 캐릭터에게 진짜 사람의 삶 (일과, 휴식, 식사 등) 을 배워서, 매일매일 예측 불가능하지만 자연스러운 하루를 살게 하는 기술"**을 보여줍니다.

단순히 스크립트를 따르는 로봇이 아니라, **창의적이면서도 현실적인 규칙을 지키는 '가상의 이웃'**을 만들어내는 기술이라고 생각하시면 됩니다. 이 기술은 게임뿐만 아니라, 스마트 홈 자동화, 노인 돌봄 시스템, 도시 계획 등에서도 유용하게 쓰일 수 있을 것으로 기대됩니다.

연구 분야의 논문에 파묻히고 계신가요?

연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.

Digest 사용해 보기 →