무엇을 기준으로 이름을 붙이는가
“위치는0.5다”라는 문장만으로 그 숫자가 무엇인지 알 수 없다. 실제 물체가 기준점에서0.5m 떨어진 것일 수도 있고, 거리 센서가 보고한 값일 수도 있고, 여러 측정으로 계산한 추정값일 수도 있다. 숫자가 우연히 같아도 역할은 다르다. 기록을 읽을 때에는 값뿐 아니라 누가, 무엇을 입력으로, 언제 만든 값인가를 확인한다.
그림 M00.02-1. 각 칸은 서로 다른 역할/근거다. 나란히 비교할 항목이며 위아래가 시간 순서를 뜻하지 않는다. 직접 제작한 개념도이며 본문의 조건과 함께 읽는다.
이 단위는 정책을 “주어진 정보를 읽고 다음 목표 명령을 고르는 부분”으로 잡는다. 그 바깥에는 센서·모터·물체와 명령 실행기가 있다고 가정한다. 이 경계에서 정책이 받는 센서값은 관측, 정책이 내보내는 목표는 행동이다. 저수준 제어기를 따로 분석한다면 목표값이 그 제어기의 입력이 될 수 있다. 그러므로 action이라는 이름을 장치 전체의 유일한 정답으로 외우기보다 분석할 경계를 먼저 적어야 한다. 에이전트와 환경의 경계를 명시하는 관점은 Sutton·Barto의 교재에서도 다룬다.
상태·관측·추정값을 세 칸에 두기
상태는 다음 변화를 설명하는 데 필요한 실제 세계의 변수다. 운반 카트라면 위치·속도뿐 아니라 바퀴 접촉, 적재 상태 등이 과제에 중요할 수 있다. 무엇을 상태에 넣을지는 모델의 목적과 가정에 달려 있다. 이름을 붙였다고 모두 직접 측정할 수 있는 것은 아니다.
관측은 시스템이 실제로 받은 정보다. 바퀴 엔코더의 회전량을 누적해도 미끄러진 바닥에서 카트의 실제 이동거리와 다를 수 있다. 센서가 실제로0.5를 보내왔다는 기록은 사실이지만, 세계의 거리가 정확히0.5라는 결론은 별도로 검토해야 한다. 관측오류는 단순 잡음뿐 아니라 보정 오류·가림·오래된 시각 때문에도 생길 수 있다.
추정값은 관측과 모델로 계산한 상태의 예상값이다. 예를 들어 바퀴 회전과 카메라를 함께 이용해 카트 위치를0.48m로 추정할 수 있다. 추정값도 정보이지만 참상태와 동일하다고 단정하지 않는다. 계산 모델이 실제 미끄러짐을 포함하지 않았다면 여러 관측을 조합해도 오차가 남는다. 따라서 로그에는 측정값과 추정값의 이름을 구분하고, 사용한 기준 좌표·단위·측정 시각을 함께 남기는 것이 좋다.
행동을 보냈다는 것과 결과를 얻었다는 것
정책이 “앞으로 한 칸 이동”을 출력했다면 행동 명령은 정해졌다. 하지만 실행기가 범위 제한 때문에 거부하거나 통신이 끊기거나 바퀴가 막히면 실제 결과는 다르다. 명령 메시지에 적힌 목표 위치를 다음 순간의 실제 위치로 복사하면 이런 실패가 모두 사라진 것처럼 보인다.
다음 세 문장을 순서대로 분리해 보자. 첫째, 정책이 목표 이동량1을 제안했다. 둘째, 실행기가 유효한 명령을 수신했다. 셋째, 새 센서 기록에서 이동의 증거가 관측되었다. 둘째는 셋째를 보장하지 않는다. 셋째도 센서 모델의 한계 때문에 실제 상태를 완전히 보장하지 않을 수 있다. 이 구분이 있어야 실패를 “AI가 틀렸다”라고 뭉뚱그리지 않고 판단·전달·실행·측정 중 어디를 조사할지 정할 수 있다.
보상은 목표의 표현이며 안전 판정은 따로 있다
강화학습의 보상(reward)은 행동 뒤 결과를 숫자로 평가하는 신호다. 이 단위에서는 k번째 관측 뒤 행동 를 고르고, 그다음 전이의 평가를 로 적는다. 첨자 k+1은 점수가 행동 뒤에 붙는다는 시간 순서를 드러낸다. 보상과 별개로 종료 여부는 이번 시도가 끝났는지, 성공 여부는 미리 정한 작업 조건을 충족했는지를 나타낸다. 시간 초과로 끝났다고 성공한 것은 아니다.
교육용 평가식을 로 정해 보자. S는 이번 전이에서 처음 배송을 완료했으면1, 아니면0이다. C는 이번 전이에 접촉 위반이 있으면1, 아니면0이다. 한 단계마다 비용1을 빼므로 배송을 못 하고 접촉도 없으면 -1, 배송과 접촉 위반이 동시에 있으면4다. 이 값과 계수는 설명을 위해 정한 것으로 실제 장비에 적용할 안전 설계가 아니다.
이 점수에서는 접촉 없이 세 번 기다려 합계 -3을 얻는 시도보다, 한 단계에 위반하며 배송을 끝내4를 얻는 시도가 높다. 따라서 높은 점수가 안전을 입증하지 않는다. 위반을 금지해야 한다면 허용 조건을 독립적으로 정하고 그 조건을 어긴 결과는 점수와 상관없이 부적합으로 표시해야 한다. 벌점 하나를 넣었다는 사실을 위험 제거의 근거로 삼을 수 없다. 보상을 사용하지 않는 일반 제어·모방학습 시스템도 있으므로 모든 로봇이 매 순간 보상을 계산한다고 가정해서도 안 된다.