AI VIDEO BRIEFING

희소 보상 강화학습 해법: 호기심(Curiosity)과 RND로 내재적 보상 만들기

산악 자동차 환경은 목표에 닿기 전까지 보상이 사실상 없어 기본 강화학습으로는 풀리지 않습니다. 예측 오차를 보상으로 바꾸는 호기심과 무작위 네트워크 증류가 이 문제를 어떻게 우회하는지 코드 흐름과 함께 정리했습니다.

보상이 거의 없는 환경에서 강화학습을 굴리는 법: 호기심과 무작위 네트워크 증류 영상 대표 이미지

핵심 메시지

  • 산악 자동차 환경은 매 스텝 -1, 목표 도달 시에만 +1을 주기 때문에 학습에 쓸 중간 신호가 사실상 없는 희소 보상 문제다.
  • 무작위 행동으로 10만 에피소드를 돌렸을 때 목표 도달 횟수는 0회였고, 기본 A2C 역시 보상을 한 번도 보지 못해 학습이 되지 않았다.
  • 사람이 중간 보상을 손으로 설계하는 방식은 복잡한 환경에서 정의하기 어렵고, 편향을 주입해 오히려 최적 정책을 막을 수 있다.
  • 호기심은 다음 상태를 얼마나 못 맞히는지, 즉 예측 오차를 내재적 보상으로 바꿔 에이전트가 불확실한 상태를 찾아가게 만든다.
  • RND는 가중치를 고정한 무작위 목표망과 이를 따라 학습하는 예측망의 출력 차이를 새로움의 척도로 삼으며, 두 방법 모두 4천 에피소드 만에 환경을 풀었다.

쉽게 이해하기

영상은 강화학습 입문 예제로 자주 등장하는 산악 자동차 환경이 사실은 만만치 않다는 점에서 시작한다. 자동차는 200스텝 안에 언덕 위 목표에 도달해야 하고, 매 스텝 현재 위치와 속도를 관측한 뒤 왼쪽으로 밀기, 밀지 않기, 오른쪽으로 밀기 중 하나를 고른다. 엔진 힘이 부족해 계속 앞으로만 밀어서는 올라갈 수 없고, 골짜기에서 앞뒤로 흔들어 관성을 쌓아야 한다. 문제는 보상 구조다. 원래 환경은 매 스텝마다 -1을 주고 목표에 도달했을 때만 +1을 준다. 어떤 행동을 해도 돌아오는 값이 -1뿐이니 "방금 그 밀기가 좋았다"는 신호가 전혀 없다. 발표자가 무작위 행동으로 10만 에피소드를 돌려 본 실험에서 목표 도달은 한 번도 나오지 않았고, 히스토그램으로 본 탐색 범위도 매우 좁았다.

흔히 권장되는 해법은 사람이 중간 보상을 만들어 넣는 보상 설계다. 속도가 빠르면 보상을 주거나 목표에 가까울수록 보상을 주는 식이다. 산악 자동차처럼 단순한 환경에서는 잘 통하지만 세 가지 문제가 따라온다. 복잡한 환경에서는 중간 보상을 정의하기 어렵고, 사람이 만든 보상은 편향을 주입하며, 보조 보상이 많아지면 가중치를 맞추는 일 자체가 고생이 된다. 목표에 가까워질수록 보상을 크게 주면 오히려 관성을 쌓기 위해 뒤로 물러나는 최적 행동을 배우지 못할 수도 있다.

그래서 영상이 소개하는 대안이 호기심과 무작위 네트워크 증류다. 실험은 A2C(어드밴티지 액터 크리틱)를 기반으로 진행되지만, 두 방법 모두 어떤 강화학습 알고리즘에도 얹을 수 있다고 설명한다. 기본 A2C는 손실 함수의 엔트로피 항에서 오는 약간의 무작위성 말고는 탐색 수단이 없고, 온폴리시 알고리즘이라 운 좋게 목표에 닿은 경험조차 다음 라운드에서 버려지기 때문에 사실상 학습이 불가능하다.

호기심은 2017년에 제안된 방법으로, 에이전트가 잘 모르는 상태를 스스로 찾아가도록 내재적 보상을 만든다. 역방향 동역학 모델은 현재 상태와 다음 상태로부터 행동을 예측하며 그 과정에서 상태의 압축된 표현을 얻고, 순방향 동역학 모델은 상태 표현과 행동으로 다음 상태의 표현을 예측한다. 실제로 마주친 다음 상태의 표현과 예측 사이의 평균제곱오차가 곧 호기심 보상이다. 자주 가 본 골짜기에서는 예측이 쉬워 보상이 작고, 낯선 비탈에서는 예측이 빗나가 보상이 커진다.

RND는 새로움을 다른 방식으로 잡는다. 무작위로 초기화한 뒤 절대 학습시키지 않는 목표망과, 그 출력을 따라가도록 학습하는 예측망을 함께 둔다. 자주 등장하는 상태에서는 예측망이 목표망을 잘 흉내 내게 되지만, 처음 보는 상태에서는 오차가 크게 남는다. 발표자는 0과 1이 섞인 숫자 예시로, 많이 등장한 값에는 금방 과적합되고 드물게 나오는 값에는 오차가 남는다는 점을 설명한다. 이 오차가 곧 새로움 점수이자 내재적 보상이다. 두 방법 모두 코드 상으로는 A2C 학습 함수 안에서 내재적 보상을 계산해 가중치를 곱한 뒤 환경 보상에 더하고, 그 합으로 어드밴티지를 계산하는 정도의 수정으로 끝난다. 결과적으로 10만 에피소드로도 목표에 닿지 못하던 환경을 4천 에피소드 만에 풀어냈다. 다만 내재적 보상의 계수는 중요하다. 산악 자동차처럼 환경 보상이 극도로 희소한 경우에는 문제가 없지만, 다른 환경에서는 계수를 조정하거나 점차 줄이지 않으면 에이전트가 탐색에만 몰두하고 정작 환경을 학습하지 않을 수 있다.

주요 인사이트

  • 희소 보상 문제의 본질은 알고리즘의 성능이 아니라 학습 신호의 부재다. 호기심과 RND는 더 똑똑한 최적화를 하는 대신, 희소한 외재적 보상 문제를 조밀한 내재적 보상 문제로 바꿔 놓는다.
  • 사람이 중간 보상을 손으로 넣는 방식이 왜 위험한지를 산악 자동차가 잘 보여준다. 목표에 가까워지는 것을 보상하면 관성을 쌓기 위해 일부러 반대로 가야 하는 정답 전략과 정면으로 충돌한다.
  • 호기심과 RND는 겉보기에 비슷하지만 기준이 다르다. 호기심은 "내가 이 전이를 얼마나 못 맞히는가"라는 불확실성을, RND는 "이 상태를 얼마나 처음 보는가"라는 새로움을 측정한다.
  • RND에서 목표망을 절대 학습시키지 않는다는 제약이 알고리즘 전체를 성립시킨다. 목표가 고정돼 있어야 예측 오차가 방문 빈도의 함수가 되고, 그래야 오차를 새로움으로 해석할 수 있다.
  • 내재적 보상 계수는 탐색과 학습 사이의 저울이다. 계수를 줄이거나 감쇠시키지 않으면 에이전트가 새로움만 좇다가 정작 환경을 푸는 정책은 배우지 못하는 상태에 머물 수 있다.

자주 묻는 질문

산악 자동차 환경이 왜 어려운 문제인가요?

원래 환경은 매 스텝마다 -1을 주고 목표에 도달했을 때만 +1을 줍니다. 목표에 닿기 전까지는 어떤 행동을 해도 돌아오는 값이 같아서, 방금 한 행동이 좋았는지 나빴는지 알려 주는 중간 신호가 전혀 없습니다. 발표자가 무작위 행동으로 10만 에피소드를 돌렸을 때 목표 도달은 0회였습니다.

호기심 보상은 어떻게 계산되나요?

순방향 동역학 모델이 현재 상태 표현과 행동으로 다음 상태의 표현을 예측하고, 역방향 동역학 모델이 실제로 마주친 다음 상태를 같은 표현 공간으로 옮깁니다. 이 둘 사이의 평균제곱오차가 호기심 보상입니다. 많이 가 본 상태에서는 예측이 맞아 보상이 작고, 낯선 상태에서는 오차가 커져 보상이 커집니다.

RND에서 목표망을 학습시키지 않는 이유는 무엇인가요?

목표망의 가중치가 고정돼 있어야 각 상태에 대한 매핑이 학습 내내 변하지 않습니다. 그래야 예측망이 자주 본 상태에는 과적합되고 처음 보는 상태에는 오차를 남기게 되어, 그 오차를 상태의 새로움으로 해석할 수 있습니다. 최적화 대상도 예측망으로만 한정합니다.

내재적 보상의 가중치는 왜 조정해야 하나요?

산악 자동차처럼 환경 보상이 극도로 희소한 경우에는 크게 문제가 되지 않지만, 다른 환경에서는 내재적 보상이 지나치게 크면 에이전트가 탐색에만 몰두하고 환경을 푸는 정책을 배우지 않을 수 있습니다. 그래서 계수를 조정하거나 학습이 진행되면서 점차 줄여 나갈 필요가 있다고 설명합니다.

원문과 출처

이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.

YouTube 원본 영상 보기 ↗

관련 AI 소식

#강화학습#희소 보상#내재적 보상#RND#탐색 알고리즘