[paper-review] CLARA: Classifying and Disambiguating Users Commands for Reliable Interactive Robotic Agents

miws·2024년 7월 24일

LLM

목록 보기
10/11

Uncertainty를 다룬 논문


1. 개요

  • Interactive system 신뢰를 높이기 위해선 상황 인지 능력 필요
    • 상황, 장소 등 환경에 따라 다양한 의미를 가질 수 있기 때문이다

  • 목표

    모호한 명령에 대해서 LLM이랑 질문을 주고 받으며 사용자 명령명확한지, 모호한지, 실행 불가능한지 추론하는 것

    • 주요 타겟 : "he looks sleepy" 처럼 구조화되지 않는 자연어

  • 이전 연구와의 차이
    • 'ZSP', 'SayCan' 같은 접근법도 존재하지만 Uncertainty를 해결하는 것도 중요
      'Inner Monologue'와 비슷하지만 더 다양한 Uncertainty를 고려한다는 점이 차이

2. 방법

  • 2가지 방법

    • 모호하거나 실행 불가능함을 구별
    • Uncertainty한 명령에 대해 모호함, 실행 불가능함 분류

  • Uncertainty를 측정하는 방법
    → LLM 기반 상황 인식을 통해 Uncertainty한 명령의 실행 가능성을 확인하는 방식 소개

  • Benchmark

    • SaGC
      - 구성 : High-level 명령, 물체, 로봇 능력, 로봇 task에서 상황 인식 포착하는 불확실한 유형

  • 주요 Contribution

    1. 모호함, 실행 불가능함을 인식하기 위해 LLM으로부터 Uncertainty를 포착
    2. 상황 인식, 자유 형식 텍스트에 의해 명확한 절차를 추적하여 Uncertainty를 다룬다
    3. 이를 평가하기 위한 대규모 데이터 세트를 제시

  • BERT, POMDP 등으로 Uncertainty를 해결하려 했지만 이는 고정된 데이터 기반에서만 가능

  • Uncertainty 추정

    • LLM은 프롬프트 순서에 따라 편향이 생길 수 있다
      → 프롬프트 순서(절차 순서)를 바꿔서 입력한 뒤 그 결과의 확률값을 이용
      → 해당 결과들의 확률값이 임계값보다 높으면 Uncertainty하다라고 판단
      ※Zero-shot 방식으로 타당성, 명확성 진행하고 Few-shot 방식으로 subgoal 진행

  • A. Problem Formulation

    • High-level task가 모호하거나 실행 불가능한 목표일 수 있다고 가정
    • 시스템 입력 : High-level goal, 환경 개체, Few-shot contexts
    • LLM은 Low-level 기술을 생성
  • B. Uncertainty Estimation of LLM

    • LLM에서 Uncertainty 측정을 위한 방법 소개
    • 학습 없이 In-context learning으로
    • context sampling 진행 → context set에서 랜덤으로 k개 선택
    • task가 Uncertainty → 높은 변동성
  • C. Classification and Disambiguation

    • Uncertainty를 분석하고 설명하는 방법 제시

      • 실행 가능성 확인
      • 이유 생성
      • 질문 생성
    • 로봇이 프롬프트 마지막 줄을 작성하여 실행 가능성 검사 "Yes" or "No"로 대답 가능하면 LLM이 이진 분류 수행
      생성된 답변으로 키워드 기반 구별 진행(모호함, 실행 불가능) task를 실행 가능하다고 판별하면 Uncertainty를
      줄이기 위한 질문을 생성하며 Certainty를 키워나간다


3. 실험

  • 실험으로 확인할 사항
    • CLARA가 이전 접근 방식들과 비교하여 Uncertainty에 대한 해결 효과가 어떤지
    • Uncertainty한 명령들을 얼마나 정확히 구분할 수 있는지
    • Uncertainty를 해소하는 모듈이 어떤 역할을 하는지
    • 실제 상황에 적용 가능한지

  • A. Baselines

    • Uncertainty에 대한 정량화
        1. entropy : Uncertainty 측정으로 흔히 사용
        1. normalized entropy : 시퀀스 길이로 정규화
        1. semantic uncertainty : semantic 공간에서 분포
        1. lexical similarity : 답변 set에 있는 답변의 평균 유사도를 사용
    • Inner Monologue vs CLAM vs Ours
      (LLaMA, GPT-3.5, Inst.GPT)

  • B. Situational Awareness for Goal Classification in Robotic Tasks

    • 로봇의 능력, 환경을 고려하면서 사용자 명령을 유형에 따라 잘 분류하는지 평가
    • 데이터 셋 : SaGC
      • LLM을 통해 수집, High-level 목표랑 장면 설명이 연결된 데이터
      • 주 목표는 세가지 상황을 잘 구별 가능한지
      • 총 3개 카테고리(청소, 마사지, 요리)이고 15개 서로 다른 장면
      • example → 총 105개 제작 (prompt 형식)
      • 4명의 검증인 통해 검수하여 5,222쌍 제작 (1,749:확실, 1,560:모호, 1,917:실행불가)
    • 결과
      • Uncertainty, 상황을 모두 이해하는 능력 → 정확성 증가
      • Few-shot 방식이 unseen, uncertain 명령에 대한 일반화 성능을 하락
      • 환각 문제가 존재
      • Uncertainty 활용해서 특정 task 필터링 → 상황 인식 접근 해결 → 분류 정확도 증가

  • C. Pick and Place Simulations

    • 해당 task에서 Uncertainty한 명령은 구체적인 물체 이름, 특징이나 위치 정보가 애매한 것들
    • 188쌍으로 데이터 구성 (108 확실, 60 모호)
    • F1 score로 측정

  • D. Real-World Demonstrations

    • 현실 상황에서는 GPT-3.5-turbo > InstructGPT
    • Uncertainty한 명령에 대해 정보를 얻기 위한 행위를 한다

4. 결론 및 한계

  • 한계
    • 샘플링 기반 접근 방식 → 속도, 계산 비용 많다
    • 임계값을 위한 샘플이 필요
    • 부분적인 환경에 초점을 맞추기 힘들다

  • 결론
    • Uncertainty를 정량화
    • 명령 유형을 잘 분류할 수 있는 시스템

0개의 댓글