AHA의 실패 답변: 성공 판정과 원인 설명을 따로 읽는 이유

로봇이 블록을 집지 못했다는 판정과, 왜 집지 못했는지에 대한 설명은 서로 다른 출력입니다. AHA는 현재 하위 작업의 성공 여부를 먼저 Yes/No로 답하고, No일 때 자유로운 문장으로 실패 이유를 설명하도록 학습합니다. 같은 실패를 맞혔어도 설명이 가리키는 원인이 달라지면 다음에 바꿀 행동도 달라집니다.

이때 모델이 받는 것은 마지막 실패 사진 한 장만이 아닙니다. AHA 논문 4.1절은 현재 하위 작업까지의 키프레임을 시간순으로 배열하고, 여러 카메라의 화면을 함께 묶어 하나의 이미지 입력을 구성합니다. 어떤 시간과 시점을 보여 주는지부터 보면 성공 판정과 원인 설명을 따로 평가하는 이유가 분명해집니다.

한 이미지 안에서 가로는 시간, 세로는 카메라가 된다

AHA의 입력 구성에서 각 행은 서로 다른 카메라 시점을, 각 열은 시간순 키프레임을 나타냅니다. 현재 하위 작업까지 관측한 키프레임을 왼쪽부터 배치하고, 그 뒤의 프레임 자리에는 흰 이미지 패치를 넣습니다. 프롬프트에는 지금 판단할 하위 작업의 언어 설명도 들어갑니다.

논문은 하위 작업을 연속된 두 키프레임으로 나타냅니다. 집기 전과 집기 후를 함께 보면 그 사이에서 무엇이 달라졌는지 비교할 수 있습니다. 여러 시점은 한 카메라에서 가려진 접촉이나 물체 상태를 다른 카메라가 보여 주도록 하는 역할을 합니다.

아래는 두 카메라와 세 시점으로 단순화한 가상 입력입니다. 현재 질문은 블록 집기를 마쳤는지이며, 뒤의 놓기 단계는 아직 관측하지 않았다고 가정합니다. 셀의 문장은 실제로 들어가는 영상 패치의 내용을 설명하기 위한 표기입니다.

카메라 행 집기 전 키프레임 집기 뒤 현재 키프레임 이후 단계 자리
정면 블록과 열린 그리퍼가 보임 팔이 블록 주변을 가림 흰 패치
손목 손끝이 블록에 접근함 손끝 사이에 블록이 보이지 않음 흰 패치

정면 영상만 보면 팔의 가림 때문에 판단이 어려울 수 있습니다. 손목 영상은 손끝 사이의 상태를 더 직접적으로 보여 줍니다. 시간축은 그리퍼가 처음부터 비어 있었는지, 집기를 시도한 뒤에도 비어 있는지를 구분하는 맥락을 제공합니다.

미래 자리를 흰 패치로 남기는 규칙도 입력 의미의 일부입니다. 현재 집기 질문에 나중의 놓기 결과까지 보여 주면 모델이 이용할 수 있는 정보가 달라집니다. AHA의 구성은 현재 하위 작업까지의 관측 범위를 이미지 안에 표현합니다.

같은 장면도 어떤 하위 목표를 묻느냐에 따라 답이 달라진다

이미지에는 상태가 보이지만 그 상태가 성공인지 판단하려면 목표가 필요합니다. 그리퍼가 물체에 가까워진 장면은 ‘물체로 접근하기’의 결과일 수도 있고, ‘물체를 들어 올리기’를 끝내지 못한 결과일 수도 있습니다. 이는 설명을 위한 가상 사례이며, AHA가 프롬프트에 현재 하위 작업을 명시하는 이유를 보여 줍니다.

모델은 이 지시와 키프레임 입력을 받아 성공 여부를 분류합니다. 실패라고 판단한 경우에는 무엇이 잘못되었는지 짧은 문장을 이어서 생성합니다. 앞의 출력은 목표 충족에 대한 결정이고, 뒤의 출력은 관측된 실패를 해석한 설명입니다.

가상의 두 응답을 비교해 보겠습니다. 둘 다 “집기에 실패했다”는 판정은 맞혔다고 합시다. 하나는 손끝이 블록 옆에서 닫혔다고 설명하고, 다른 하나는 블록을 들어 올린 뒤 놓쳤다고 설명합니다. 두 설명은 같은 No로 끝나지만 필요한 이력은 다릅니다. 전자는 접촉 전 정렬 장면을, 후자는 파지와 운반 사이의 변화를 확인하게 합니다.

따라서 성공 판정이 맞았는지만 세면 모델이 실패의 어느 부분을 설명했는지 드러나지 않습니다. 반대로 설명 문장이 정답 표현과 비슷해도 성공 여부를 잘못 답했다면, 하위 작업을 계속할지 결정하는 데 문제가 생깁니다. 두 출력을 함께 보되 각각의 정확성을 구분해야 오류가 생긴 위치를 찾을 수 있습니다.

실패 설명을 학습할 때 바뀌는 부분

AHA 프로젝트는 성공 궤적에 변화를 넣어 실패 사례를 만드는 FailGen과, 그 사례를 사용한 VLM 학습을 소개합니다. 논문 4.2절의 학습 자료에는 RLBench의 79개 작업에서 만든 약 4만 9천 개의 실패 이미지·텍스트 쌍이 포함됩니다. 또한 일반 시각 질의응답 자료를 함께 사용해 기존 시각·언어 지식을 유지하려고 합니다.

이 자료는 실패 영상을 복구 행동으로 실행한 기록과 구분됩니다. AHA가 여기서 학습하는 직접적인 목표는 하위 작업의 성공 여부와 실패 이유입니다. 복구 계획기는 그 답을 활용할 수 있는 별도의 소비자입니다.

모델 구조에서는 이미지 인코더가 시각 토큰을 만들고, 프로젝터가 이를 언어 토큰과 함께 처리할 수 있는 공간으로 옮깁니다. 논문 4.3절의 학습에서는 프로젝터와 언어 Transformer를 갱신하고 이미지 인코더와 토크나이저는 고정합니다. 실패 전용 자료와 일반 VQA 자료가 같은 응답 생성 경로의 학습에 함께 쓰이는 구성입니다.

네 평가값이 답하는 질문

논문 5.1절은 성공 여부를 정답과 비교하는 이진 평가와 함께 세 가지 텍스트 비교 방법을 사용합니다. 이들을 한 종류의 점수로 읽으면 어떤 능력이 좋아졌는지 흐려집니다.

평가 비교하는 대상 읽을 때의 질문
이진 성공 판정 예측한 성공 여부와 정답 현재 하위 작업의 완료 여부를 맞혔는가?
ROUGE-L 생성 문장과 기준 문장의 공통 부분열 기준 설명과 어느 정도 표현이 겹치는가?
코사인 유사도 텍스트 표현의 유사성 두 설명이 의미 표현 공간에서 얼마나 가까운가?
LLM fuzzy matching 외부 언어 모델의 의미 비교 다른 표현으로 쓴 답도 기준 설명과 같은 의미로 볼 수 있는가?

표현이 다른 두 문장이 같은 실패를 설명할 수 있어, 논문은 단어 겹침 하나만으로 자유로운 답변을 평가하지 않습니다. 반대로 기준 문장과 비슷하게 쓰는 능력과 정확한 시각 근거를 사용하는 능력은 완전히 같은 질문이 아닙니다. 앞의 가상 응답처럼 No는 맞았지만 실패 시점이 다른 경우를 함께 읽으면 점수 차이의 내용을 더 구체적으로 해석할 수 있습니다.

평가 자료가 바꾸는 조건도 나뉩니다. AHA의 RLBench 시험 작업은 학습 작업과 겹치지 않게 구성되며, ManiSkill-Fail은 다른 시뮬레이터의 사례를, RoboFail에서 가져온 평가는 실제 UR5 작업의 실패를 사용합니다. 따라서 어느 자료에서 나온 판정·설명 점수인지와 함께 읽어야 비교가 가리키는 변화가 명확해집니다.

다음 계획에 넘길 때 두 출력을 함께 유지한다

가상 상위 계획기를 만든다면 Yes/No는 다음 단계로 진행할지 결정하는 입력으로, 실패 설명은 어떤 상태를 다시 살펴볼지 정하는 입력으로 사용할 수 있습니다. 예를 들어 집기 전 정렬 문제라는 설명은 접근 위치를, 운반 중 물체를 놓쳤다는 설명은 현재 물체 위치와 파지 이후 이력을 다시 보게 합니다. 이는 AHA 응답의 역할을 설명하는 설계 예시입니다.

현재 하위 작업과 함께 판정·설명을 보관하면 다음 계획도 그 답이 어떤 목표와 관측 구간에 관한 것인지 알 수 있습니다. 이미 완료한 일을 보존하고 실패한 단계에서 이어 가는 실행 구조는 로봇 장기 작업의 기억·재시도·부분 성공 관리에서 이어 볼 수 있습니다.

이 글은 공식 논문과 프로젝트의 방법을 읽어 정리했습니다. 모델 학습·평가나 로봇 복구를 직접 실행하지 않았으며, 표의 영상 구성과 응답 비교는 작동 원리를 설명하기 위한 가상 예시입니다.