Saycan 로봇은 구글(Google)이 2022년에 발표한 인간의 언어를 이해하고 스스로 생각해서 반응하는 ‘도우미 로봇’이다.
구글은 자사의 대규모 언어모델인 PaLM을 결합해 자연어 명령을 이해할 수 있는 새로운 로봇 ‘PaLM-SayCan’에 대한 연구를 발표했다. PaLM은 수백 개의 언어 이해 및 생성 작업을 할 수 있는 5,400억 개의 매개변수가 있는 언어 모델이다.
대부분의 로봇은 "물 한 병 가져와"와 같은 짧고 간단한 지시에만 응답하지만 PaLM 덕분에 “음료수를 쏟았어. 도와줄래?”라고 했을 때, 로봇은 이 명령을 “주방에서 닦을 스펀지를 가져와”로 해석할 수 있다. PaLM-SayCan 로봇은 음성 또는 입력된 문장을 이해하고, 궁극적인 목표를 찾아내서 작업 단계를 나누고, 로봇이 가질 수 있는 모든 기술을 사용해 실행한다.
[논문 리뷰] Do As I Can, Not As I Say:Grounding Language in Robotic Affordances (saycan)
이 리뷰는 오직 학습과 참고 목적으로 작성되었으며, 해당 논문을 통해 얻은 통찰력과 지식을 공유하고자 하는 의도에서 작성된 것입니다. 본 리뷰를 통해 수익을 창출하는 것이 아니라, 제 학
c0mputermaster.tistory.com
대규모 언어 모델(LLMs)은 세상에 대한 방대한 의미 지식을 담고 있으며, 자연어로 표현된 고차원적이고 시간적으로 확장된 명령을 실행해야 하는 로봇에게 매우 유용할 수 있다. 하지만 LLM은 실제 세계에서의 경험이 없어, 특정 환경이나 로봇의 물리적 제약 내에서 결정을 내리기 어려움.
예를 들어, "음료를 엎질렀는데 도와줄 수 있니?"라는 요청에 대해, 언어 모델은 "진공청소기를 사용하세요"라고 응답할 수 있지만, 로봇이 진공청소기를 사용할 수 없거나 해당 환경에 존재하지 않는다면 무의미한 답변이 된다.
이 연구에서 제안하는 방법은 SayCan이라고 불리며, LLM의 언어적 지식을 실제 물리적 작업에 적용하는 방법을 다룹니다. 이 방법은 로봇의 어포던스 함수(affordance function)를 사용하여 각 기술이 주어진 상황에서 성공할 확률을 평가한다. 어포던스 함수는 로봇이 어떤 작업을 수행할 가능성을 정량적으로 측정하는 함수로, 이를 통해 LLM은 각 작업을 수행할 확률을 계산하고, 그에 따라 효율적인 계획을 수립한다.
어포넌스?
https://hongyoung74.tistory.com/5
어포던스(Affordance)와 강화학습(Reinforcement Learning)
우리 인간이 의자를 보면, 그 모양이나 색과 상관없이 이 위에 앉을 수 있다는 것을 압니다. 마찬가지로 물 속의 물고기를 보면 그 상황이 어떻든지 얘가 수영할 수 있겠다고 생각이 들죠. 이는
hongyoung74.tistory.com

이 연구의 목표는 언어 모델을 실제 세계에 연결하여 에이전트가 시간적으로 확장된 자연어 명령을 해결할 수 있도록 하는 것이다. 다음은 연구에서 예시로 든 지문인데, "음료수를 쏟았는데 도와줄 수 있어?"라는 질문을 했을 때 다음과 같이 대답했다.

예를 들어, GPT-3는 청소하라고 대답하거나, 다른 모델들은 클리너를 찾거나 사과함.
다음을 통해 현재의 대형 언어 모델은 로봇에게 명령을 해석하고 문제를 해결하는 방법으로 즉시 사용하기에는 유용하지 않다는 것을 알 수 있음, 그 이유는 LLM이 현실 세계에서 직접 경험하거나 결과를 관찰한 적이 없기 때문. 예를 들어, 로봇이 "음료를 쏟았어요, 도와줄래요?"라는 요청을 받았을 때, LLM은 "클리너를 찾아드릴까요"라고 말할 수 있지만, 실제로 그 로봇이 클리너를 가져올 수 있는지는 고려하지 않는다.
이 연구에서는 로봇이 현실 세계에서 수행 가능한 동작만을 선택하도록 하기 위해, 사전에 학습된 동작들과 가치 함수를 활용해 LLM을 보완한다. 다시말해 Saycan 로봇은 언어 모델이 제공하는 고수준 지식 (어떤 작업이 필요한지), 로봇이 실제 환경에서 무엇을 할 수 있는지에 대한 정보 (가치 함수 기반 선택)를 고려하여 한다. 이 조합을 통해, 로봇은 명령을 현실 가능한 단계들로 나누어 실행할 수 있으며, 그 결과는 해석 가능하고 명확한 행동 계획으로 이어진다.

SayCan은 LLM을 로봇의 구체적인 능력과 결합하여 고차원 명령을 물리적으로 수행할 수 있도록 하는 시스템이다.
SayCan은 두 가지 주요 요소로 구성됨:
- Task Grounding: LLM이 제공하는 고차원 명령을 분해하여 실행 가능한 세부 작업으로 변환.
- World Grounding: 각 세부 작업이 실제 환경에서 성공할 확률을 계산하여 실행 가능성을 평가.
p(ci | i, s, `π)
이 함수는 최종적으로 이 동작이 지금 이 명령을 잘 수행할 수 있는지를 말해주는 확률입니다
"사용자가 명령 i를 주고, 현재 상태가 s일 때, 스킬 π를 수행해서 명령을 성공시킬 확률“
p(π | i) ← Task-grounding (명령 기반 판단)
"명령 i에 대해 스킬 π가 적절할 확률"
예: 명령이 "책상 치워줘"일 때, "쓰레기 버리기" 스킬이 적절한지 판단하는 역할
이건 LLM (대형 언어 모델)이 담당하는 부분입니다.
LLM이 "이 명령에는 이 스킬이 적절해!"라고 판단
p(cπ | s, `π) ← World-grounding (상태 기반 판단)
"현재 상태 s에서 스킬 π를 수행하면 성공할 확률"
예: "스펀지 집기" 스킬을 하려는데, 지금 카메라에 스펀지가 안 보이면 성공 가능성이 낮다. 어포던스 함수 사용(예: 학습된 가치 함수)
최종적으로 이 동작이 지금 이 명령을 잘 수행할 수 있는지를 말해주는 확률이다 =>
"사용자가 명령 i를 주고, 현재 상태가 s일 때, 스킬 π를 수행해서 명령을 성공시킬 확률“

1) 언어 모델로부터 각 스킬이 명령과 얼마나 관련 있는지 (p(ℓ_π | i)) 평가
2) 로봇의 value function으로부터 현재 상태에서 스킬이 실행 가능한지 (p(c_π | s, ℓ_π)) 평가
3) 두 확률을 곱해서 가장 높은 확률의 스킬을 선택: π = argmax_π p(c_π | s, ℓ_π) * p(ℓ_π | i)
4) 선택된 스킬을 실행 → 다음 스킬을 위한 명령어에 포함시키고 반복
5) "done" 토큰이 나올 때까지 반복 수행

요약하자면, 고수준 명령어가 주어지면, SayCan은 언어 모델(특정 스킬이 명령어에 유용할 확률을 나타냄)의 확률과 가치 함수(해당 스킬을 성공적으로 실행할 확률을 나타냄)의 확률을 결합하여 수행할 스킬을 선택. 이를 통해 실행 가능하고 유용한 스킬이 도출됩니다. 선택된 스킬을 로봇 응답에 추가하고 모델을 다시 쿼리하는 과정을 반복하며, 출력 단계가 종료될 때까지 이 과정을 반복한다.

Plan / Execute: 계획 성공률 / 실행 성공률
101개의 작업에 대한 PaLM-SayCan의 성능을 보여줌.
자연어 단일 스킬 (NL Single Primitive): 한 개의 동작만 수행해야 할 때
자연어 명사 치환 (NL Nouns): 명사를 동의어로 바꾼 명령어
자연어 동사 치환 (NL Verbs): 동사를 동의어로 바꾼 명령어
구조화된 언어 (Structured Language): 명령어를 명시적으로 기술한 경우
구현성 테스트 (Embodiment): 환경 및 로봇 상태가 다를 때의 성능
크라우드소싱 (Crowd-Sourced): 실제 사용자들이 만든 명령어
장기 계획 (Long-Horizon): 여러 단계를 포함하는 복잡한 계획
Mock Kitchen: 훈련 환경에서 PaLM-SayCan의 성능
Kitchen: 실제 주방 환경에서 PaLM-SayCan의 성능
No Affordance: 어포던스(affordance) 함수 제거 실험
No LLM: 언어 모델 없이 수행한 실험
No VF: 가치 함수 제거
Gen.: 생성형 언어모델 사용 + USE 임베딩 매핑
BC NL: 언어 모델 없이 정책만 사용
BC USE: 명령어를 USE 임베딩으로 매핑 후 정책 사용
모형 주방(mock kitchen)에서 PaLM-SayCan은 84%의 계획 성공률과 74%의 실행 성공률을 달성함. PaLM-SayCan이 실험실 환경 밖인 실제 주방에서도 성능을 검증하기 위해 실험을 수행했다고함. 그 결과 계획 성능은 3%, 실행 성능은 14% 감소했으며, 이는 PaLM-SayCan과 그 기반 정책이 전체 주방 환경에서도 상당히 잘 일반화된다는 것을 나타냈음
RL and BC Policy Architecture

SayCan이 비전과 상태 정보를 통합해서 로봇 행동을 결정하는지, 강화 학습 학습된 정책이 환경 보상을 최대화하도록 학습됨
시각적인 정보와 로봇의 상태를 이용해 현재 상태에서 해당 행동을 수행할 수 있는지 판단
MT-Opt 기반 아키텍처.
이미지는 CNN (7 conv 레이어 → 중간 연산 → 11 conv 레이어) 처리.
언어 명령어는 LLM으로 임베딩.
중간연산에서는 로봇 상태(예: 그리퍼 높이), 이전 행동의 남은 실행 시간 등과 함께 FC 레이어를 거쳐 이미지 피처에 추가.
행동 클로닝 BC (Behavior Cloning) # 동작을 어떻게 수행하는지를 학습
BC-Z 기반 아키텍처.
언어 명령어는 Universal Sentence Encoder로 임베딩.
ResNet-18에 FiLM conditioning.
이전 행동이나 상태 정보는 사용하지 않음.
각각의 액션 컴포넌트 (팔 위치, 방향, 그리퍼 등)에 대해 개별 출력.
LLM Prompt

언어 기반의 시뮬레이션을 돌림
SayCan은 LLM이 명령을 "올바르게 이해하고", "스킬 시퀀스로 바꾸고", "종료(done)"까지 판단할 수 있어야 해. 하지만 이건 단순한 언어 처리만으론 어렵고, 실제 로봇 환경의 행동 가능성 (affordance) 을 반영해야 해. 그래서 시뮬레이터를 만들어서, LLM이 출력한 계획이 실제로 가능한지 확인
* 접근방식
시뮬레이터는 올바른 시퀀스와 함께 헷갈릴 수 있는 잘못된 시퀀스(distractors) 도 같이 생성해서 LLM이 얼마나 정확히 구별하고 선택하는지 테스트
특히 계획이 끝나는 타이밍(“done”)을 잘 판단해야 하므로 이 조건을 포함한 실험도 진행
- 예시가 아예 없으면 “done”을 거의 안 써서 실패율이 높음 (10%)
- 예시를 하나만 줘도 큰 개선 (64%)
- 4개만 줘도 82%의 성공률
- 전체 프롬프트 (17개 예시) 사용 시 88% 성공했음
참고
https://doi.org/10.48550/arXiv.2204.01691
Do As I Can, Not As I Say: Grounding Language in Robotic Affordances
Large language models can encode a wealth of semantic knowledge about the world. Such knowledge could be extremely useful to robots aiming to act upon high-level, temporally extended instructions expressed in natural language. However, a significant weakne
arxiv.org
'Robotics > Basic' 카테고리의 다른 글
| [Foundation Model] 로보틱스에서의 LLM과 VLM 그리고 동향 알아보기 (1) | 2025.04.06 |
|---|