이 파트에서는 Many-Shot Meta-RL에 대해 소개할 것이다. 이 설정에서는 new task에 대해 수천 번 이상의 업데이트를 거치며 학습해야 하는 경우를 고려한다. 목표는 실제로 널리 사용되는 알고리즘과 유사한, new task에 대해수천 스텝 학습하여 잘 풀 수 있는 범용적인 RL 알고리즘 자체를 학습하는 것입니다.
few-shot 설정 서로 비교되는 차이점은 아래와 같다:
- 원칙적으로는 trial 길이 $H$가 길어지는 것 외에 설정이 달라지는 것은 아니지만, 실제로는 다루는 문제 유형과 사용하는 방법이 다르다
- few-shot
- 예시 : MuJoCo 환경에서 목표 위치 내비게이션, 환경은 동일하고 목표/보상만 달라지는 경우
- 한계점 : task 간 관계가 약하고 복잡한 task 분포에서는 성능이 떨어짐
- many-shot
- 예시 : Atari 게임을 위한 Policy Gradient 방법의 목표 함수 자체를 학습, new task에 대해 많은 학습이 필요한 경우
- 표준 RL 알고리즘 자체와 유사한 형태를 가짐, 표즌 RL의 단점을 극복하기 위해 표준 RL 알고리즘 템플릿의 샘플 효율성을 개선하는 것을 목표로 함(그림 15 참조)
many-shot meta-RL 설정에 대한 연구는 few-shot에 상대적으로 적다.
- 매우 높은 계산이 요구
- 최적화가 어렵고 효율적으로 훈련 가능한 inner-loop 유형이 제한됨
- 이런 도전 과제들은 open problmes 파트에서 더 다룰 예정
아래에서는 멀티태스크 many-shot meta-RL, 싱글태스크 many-shot meta-RL, 방법론 등을 살펴볼 것이다.
Multi-Task Many-Shot Meta-RL
멀티태스크 many-shot meta-RL 방법들은 어떤 new task가 주어지더라도 빠르게 학습할 수 있는 범용적인 RL 알고리즘 자체를 학습하려는 목표를 가진다. 이를 위해서는 넓은 훈련 분포가 필요하거나 분포 밖 task로의 적응 능력도 요구된다. 여기서의 목표 함수는 첫 포스트에서 말했던 식(few-shot 설정과 동일)이다.
$$\mathcal{J}(\theta) = \mathbb{E}_{\mathcal{M}^i\sim p(\mathcal{M})}\left[\mathbb{E}_\mathcal{D}\left[\sum_{\tau \in \mathcal{D}_{K : H}}G(\tau)\middle| f_\theta, \mathcal{M}^i\right]\right]$$
이론적으로는 시행 길이 $H$만 길어진 것이지만 실제 문제 벤치마크와 거기에 맞는 알고리즘에서 구별된다. 메타 학습 및 테스트 과정은 few-shot과 동일하게 태스크 분포에서 샘플링하고 각 태스크에 대해 inner-loop를 $H$ 에피소드 동안 실행하는 방식이다.
Many-Shot Trial에는 문제가 있으며 아래의 방식으로 해결책을 찾고자 했다.
- 문제점
- 하나의 완전한 시행($H$ 에피소드)를 inner-loop에서 실행하고 그 결과를 바탕으로 학습하는 것이 극도로 계산 집약적
- outer-loop의 매개변수를 업데이트하는 것이 너무 비싸거나, 메모리 부족, gradient 소실/폭발 문제가 발생 가능
- 해결책
- 현재 매개변수에서 시작하여 짧은 시간(few 업데이트 step) 후의 policy 성능을 최대화하는 대리 목표 함수를 사용하여 메타 학습을 진행한다
- 이는 편향된(biased)된 추정치이지만 실제로는 메타 학습 성능 개선에 효과적이다.
- 관련된 코드는 알고리즘 10에서 확인이 가능하다.
이 설정에서 가장 일반적이고 효과적인 방법 중 하나는 메타 매개변수 $\theta$를 사용해서 inner-loop에서 정책을 업데이트할 때 사용될 policy gradient 목적 함수 $J_\theta$ 자체를 정의(매개변수화)하는 것이다. MAML의 policy는 초기값을 학습하는 것이 주요 역할인 반면, 이 방식은 policy 업데이트 함수/규칙/목표 자체에 메타 매개변수가 있다. 이를 통해 inner-loop에서 임의의 policy 매개변수화를 고려할 수 있는 유연성이 생긴다.
Single-Task Many-Shot Meta-RL
deep RL의 일부 task처럼 유용한 훈련 task 분포를 얻기 어렵거나 개별 task 해결에 너무 많은 자원이 소요되어 멀티태스크 훈련이 어려운 경우가 있다. 이런 문제들은 task 분포가 단일 task로 구성될 때조차 학습 속도를 가속화할 수 있는지, 즉 단일 task RL 훈련 중 온라인으로 학습을 가속화하는 방법을 연구하는 동기가 된다.
이 설정의 목표는 훈련이 완료된 후 policy의 최종 성능을 최대화하는 것입니다. 이는 task 분포를 단일 task로 설정하고 시행 길이 $H$를 매우 크게 설정하며, 마지막 에피소드만 평가에 포함되도록 $K$를 설정한 meta-RL 목표와 동일하다. 즉, 긴 훈련 기간 끝에서 성능을 최대화하는 것을 목표로 한다.
다른 방식들과의 차이점은 아래와 같다:
- few-shot 멀티태스크와의 차이 : 단일 task 메타 학습에서는 inner-loop가 완료된 후 outer-loop에서 메타 파라미터를 업데이트할 수 없다. 왜냐하면 few-shot 멀티태스크랑 다르게 더 이상 학습이 없기 때문이다.
- many-shot 멀티태스크와의 차이 : 단일 task 설정에서는 단 하나의 task만 존재하며 결과적으로 학습되는 policy 매개변수 세트도 하나만 존재한다. 이 매개변수들은 agent의 전체 수명(훈련 전체 기간) 동안 계속 업데이트되며 재설정되지 않는다.
단일 task RL 훈련 중 policy가 계속 변화함에 따라 agent가 경험하는 데이터 분포도 계속 변화한다. 따라서 이 메타 학습 문제는 본질적으로 비정상적(non-stationary)이다. 메타 학습자가 이러한 비정상적인 훈련 조건에 반응하고 활용하는 능력은 RL 가속화의 장점으로 간주되기도 하지만 비정상성 자체가 메타 학습 문제를 어렵게 만드는 주요 원인이다.
단일 태스크 meta-RL의 많은 방법들은 온라인 하이퍼파라미터 튜닝 방법들과 밀접하게 관련이 있다. 두 개념 사이에는 명확한 경계가 없지만 일반적으로 하이퍼파라미터는 meta 매개변수 $\theta$가 학습률, 할인율 등 저차원인 특별한 경우를 의미한다.
Many-Shot Meta-RL Methods
이 알고리즘들은 메타 학습된 구성 요소를 도입하여 기존 RL 알고리즘의 성능을 개선하는 것을 주요 목표로 한다. many-shot 설정에서 새로운 태스크를 만났을 때 표준 RL보다 더 효율적으로 학습하게 만드는 것이다. 메타 매개변수 $\theta$는 이러한 메타 학습된 구성 요소들을 매개변수화하는 방식을 정의한다. 즉, 무엇을 메타 학습할 것인가를 결정한다.
어떤 메타 매개변수화 방식을 선택하는가는 매우 중요하다. 이는 task 분포로부터 얼마나 많은 구조를 포착할 수 있는지, credit assignment, representation learning 등 RL 문제의 어떤 특정 측면을 해결하려 하는지에 따라 달라진다. 문제의 어떤 측면이 주요 도전과제인지에 따라 가장 효과적인 메타 매개변수화 방식이 달라진다.
Learning instrinsic rewards
MDP의 보상 함수는 해결하려는 task를 정의한다. 그러나 이 task 정의 보상만을 가지고 학습하는 것은 어려운 경우가 많고 특히 보상이 희소할 때 보상을 최대화하는 것만으로는 agent가 환경을 효과적으로 explore하도록 유도하기 어렵다.
이런 탐색 문제를 해결하기 위해 새로운 보상 함수 intrinsic rewards을 도입하는 방법이 있다. 이는 agent가 환경에 대한 정보를 얻거나 새로운 state를 방문하는 것 등에 대해 보상을 주는 방식이다. 표준 RL에서는 종종 이런 내재적 보상을 사람이 수동적으로 설계한다.
many-shot meta-RL 에서는 아래와 같은 방식으로 내재적 보상에 접근한다:
- intrinsic reward 함수 자체를 메타 학습하는 것을 목표
- 표현 방식은 여러가지 형태로 표현할 수 있음
- 상태와 행동의 함수 : $r_\text{in}(s_t,a_t)$
- 잠재 함수 기반 보상 형성 : $\gamma r_\text{in}(s_{t + 1}) - r_\text{in}(s_t)$
- 현재까지의 전체 에피소드 기록의 함수 : $r_\text{in}(\tau_{:t})$
- 내재적 보상의 경우 다양한 문제 설정에서 유용하게 사용된다
- 멀티태스크의 경우 : agent가 새로운 환경을 더 빠르게 explore하고 학습하도록 도움, 다양한 task 환경에서 공통적으로 유용한 explore 보상 학습 가능
- hierarchical policy의 일부로서 하위 기술을 정의하는 데 사용될 수 있음, 내재적 보상을 통해 특정 기술을 잘 수행하도록 유도할 수 있음
- 싱글태스크의 경우 : 일반적인 보상 형성으로 사용되어 단일 태스크 학습 효율을 높임
- 특정 연구에서는 외부 보상이 없는(reward-free) 에피소드를 두어 학습된 내재적 보상을 이용해 연습 에피소드에서 agent의 탐색 및 기술 숙련을 안내하는 데 사용하기도 함
- 비지도 보상 학습 접근 방식에서는 복잡한 기술 학습 자체를 내재적 보상 학습을 통해 달성하기도 함
Learning auxiliary tasks
일부 RL 문제에서 관찰로부터 좋은 표현을 학습하는 것은 중요한 도전 과제이다. 주된 RL 목표 함수만으로는 효과적인 표현 학습에 충분한 지도를 제공하지 못할 수 있다. 이런 문제를 개선하기 위해 주된 RL task와 함께 최적화되는 보조(auxiliary tasks)를 도입하는 접근 방식이 있다.
- 비지도 또는 자율 지도 목표로 정의된다
- inner-loop의 목표 함수는 주된 RL 목표와 보조 task 목표의 합이 된다
$$J_\theta(\mathcal{D},\pi_\phi) = J^{RL}(\mathcal{D}, \pi_\phi) + J^\text{aux}_\theta(\mathcal{D}, \pi_\phi)$$
- 보조 task 후보를 아는 경우 : 메타 학습을 통해 각 보조 task에 할당될 가중치를 학습하여 outer-loop 목표를 개선하는 보조 태스크에만 높은 가중치를 부여
- 보조 task 후보를 모르는 경우 : Veeriah et al.의 경우 meta-gradients 기법을 사용하여 보조 태스크의 예측 대상이 될 일반화된 가치 함수 세트를 학습하고 발견했다. 이는 inner-loop에서 policy network의 보조 손실을 위한 예측 대상을 메타 학습하는 방식이다
학습된 보조 태스크는 보조 태스크가 없는 기본 알고리즘이나 사람이 수동으로 설계한 보조 태스크를 사용한 경우보다 샘플 효율성을 개선할 수 있음을 여러 연구에서 보여주었다.
Learning functions that output hyperparameters
inner-loop 알고리즘의 하이퍼파라미터를 학습하는 방법은 하이퍼파라미터 최적화 분야와 메타 학습 분야의 중간 단계에 위치한다. 앞서 다뤘던 단일 태스크 meta-RL 과 온라인 하이퍼파라미터 튜닝의 아이디어가 확장된 것으로 볼 수 있다.
이 방식의 핵심은 agent의 inner-loop 학습 과정 중 얻어지는 성능 요약 통계(ex. 보상, TD-error, policy 업데이트 시 손실 값 등)을 입력으로 받아서 inner-loop 알고리즘에 사용될 하이퍼파라미터의 값을 출력하는 함수를 메타 학습하는 것이다.
- 입력 : inner-loop 중 agent의 학습 상황이나 성능을 나타내는 정보 요약값
- 출력 : 동적으로 결정된 하이퍼파라미터 값.
- ex. $TD(\lambda)$ 알고리즘에서 보상 합 추정 시 사용되는 $\lambda$ 계수
- PPO 알고리즘에서 policy 업데이트 크기를 조절하는 learning rate
이런 하이퍼파라미터를 출력하는 함수는 신경망 등으로 구현되며 이 함수의 매개변수들이 메타 매개변수 $\theta$의 일부가 된다.
Modifying the RL objective directly
위에서처럼 내재적 보상이나 보조 태스크를 추가하여 RL 학습을 가속화할 수 있음을 확인했다. 여기에 한 걸음 더 나아가 아래와 같은 질문이 제기된다.
목표 함수에 항을 추가하는 대신 RL 목표 함수 자체를 meta-RL을 통해 직접 수정(또는 학습)하면 성능을 개선할 수 있을까?
이 질문에 대답하기 위해 연구자들은 policy gradient 알고리즘에서 보상 합 또는 어드밴티지 추정치를 궤적의 메타 학습된 함수로 대체하거나 가치 함수 추정기(Critic) 자체를 메타 학습하는 알고리즘들을 제안했다.
- policy gradient 수정 방식
- Houthoft, Oh, Xu et al. : policy gradient 알고리즘에서 보상 합 또는 어드밴티지 추정치 부분을 에피소드 $\tau$ 전체의 메타 학습된 함수 $f_\theta(\tau)$로 대체하는 알고리즘을 제안
- $\triangledown_\phi J_\theta(\tau,\pi_\phi)\propto \sum_{a_t,s_t \in \tau}\triangledown \pi_\phi(a_t\mid s_t)f_\theta(\tau)$
- $f_\theta(\tau)$ : 메타 매개변수 $\theta$에 의해 매개변수화된 궤적 $\tau$의 함수
- 가치 함수(Critic) 메타 학습 방식(DDPG와 유사)
- Kirsch, Bechtle et al. : DDPG와 유사한 목표 함수를 고려하되, 표준적인 TD 학습 대신 가치함수(Q 함수)자체를 meta-RL을 통해 학습하는 방식을 제안
- $\triangledown_\phi J_\theta(\tau,\pi_\phi)=\sum_{a_t,s_t \in \tau}\triangledown \pi_\phi Q_\theta(s_t,\pi_\phi(a_t\mid s_t))$
- $Q_\theta$ : 메타 학습된 가치 함수(Critic)
이렇게 학습된 RL 목표 함수들은 멀티태스크 및 단일태스크 meta-RL 모두에서 유망한 결과를 보여주고 있다.
- 멀티태스크 :
- Oh et al. : 간단한 그리드월드와 같은 태스크에서 학습된 목표 함수가 Atari와 같이 복잡한 태스크로 일반화될 수 있음을 보임
- Jackson et al. : 수동 설계된 훈련 환경을 자동화된 환경 설계 요소로 대체하여 일반화 성능 개선
- 단일 태스크 :
- Xu et al. : 학습된 목표 함수가 시간이 지남에 따라 기반이 되는 표준 RL 알고리즘(IMPALA)보다 궁극적으로 더 높은 성능을 달성할 수 있음을 보임
Learning Optimizers
대부분의 학습 시스템에서 매개변수 업데이트를 생성하는 옵티마이저는 사람이 수동으로 설계한다. 위의 여러 함수와 마찬가지로 옵티마이저 자체를 메타학습하는 것도 가능하다.
- 메타 학습된 옵티마이저의 inner-loop는 손실과 gradients 정보를 입력으로 받음
- 이를 바탕으로 매개변수의 업데이트 값을 출력
지도 학습 분야에서는 옵티마이저를 메타 학습하는 연구들이 성공을 거두었다. 일부는 이를 RL에 사용하기도 했고 일부는 MDP 환경에서 작동하도록 설계하기도 하였다. 그리고 최근, many-shot meta-RL 방법으로 MDP 환경에서 메타 학습 및 메타 테스트를 수행하여 옵티마이저를 학습하는 연구가 제안되었다.
Learning hierarchies
RL의 중심 문제 중 하나는 행동의 결과가 오랫동안 지연된 후에 명확해지는 지연 문제(temporal delay)이다. 이 문제의 잠재적 해결책은 시간적 추상화(temporal abstraction)이다. 이는 일반적으로 옵션 또는 기술 세트와 어떤 기술을 사용할지 선택하는 관리자(manager) policy로 구성된 계층 구조로 표현된다.
ex) '걷기', '문 열기'와 같은 하위 기술을 정의하고, 상위 관리자 policy가 상황에 따라 '걷기' 기술을 사용하다가 문 앞에 오면 '문 열기' 기술을 사용하도록 지시
meta-RL과 HRL는 서로를 돕는다.
- meta-RL이 HRL을 돕는 방식
- 옵션/기술 학습을 위한 목표 함수를 메타 학습된 함수로 매개변수화함으로써 옵션/기술을 발견하거나 학습하는 데 사용될 수 있음
- 메타 학습을 통해 '어떤 기준으로 옵션을 학습해야 좋은 옵션이 되는가'를 배움
- HRL이 meta-RL을 돕는 방식
- 긴 시행 길이를 가진 태스크 분포를 해결할 때, HRL이 제공하는 시간적 추상화는 문제의 복잡성을 관리하고 policy가 더 잘 일반화되도록 도움
- Fu et al., Nam et al. : 계층적 정책이 제공하는 시간적 추상화를 활용하여 긴 시행 길이를 가진 태스크 분포를 해결하는 방법을 제안함
Black-box meta-learning
few-shot meta-RL에서는 RNN을 사용하는 black-box 방법은 SGD 기반 방법(MAML)보다 새로운 태스크 학습 속도가 더 빠른 경향이 있다. 그러나 훈련 환경에 쉽게 과적합될 수 있다는 문제점을 가진다. 이로 인해 훈련시 보지 못한 완전히 새로운 환경이나 태스크로의 일반화 성능이 떨어질 수 있다는 비판이 있다.
이런 문제를 해결하고 일반화 성능을 높이기 위해 Kirsch et al. 은 일반화에 특화된 특수 RNN 아키텍처를 제안했다. 이 아키텍처는 동일한 RNN 셀을 여러 번 재사용하고 RNN 가중치를 입력 및 출력 차원이나 순열에 불변하게(agnostic) 설계하여 과적합을 방지하고 더 나은 귀납적 편향을 제공한다.
이 방법은 새로운 환경에 대한 policy 학습에 더 긴 시행(trial) 길이를 필요로 한다. 그렇기에 이는 many-shot meta-RL 방법에 해당하고 대신 새로운 환경으로의 일반화가 가능하다는 중요한 이점을 가진다.
Outer-loop algorithms
어떤 inner-loop 매개변수화 방식을 선택하든, many-shot meta-RL 알고리즘은 긴 태스크 시행 길이에 걸쳐 메타 학습을 진행한다. 이러한 긴 시행 길이에 대해 직접적으로 최적화하는 것은 vanishing gradients나 폭발(exploding gradients) 문제를 야기하고 실행 불가능한 메모리 요구 사항을 발생시키는 등 어렵다.
이를 해결하기 위해 대리 목표 함수(Surrogate Objective)를 사용한다:
- 대부분의 many-shot RL 알고리즘은 직접 최적화 대신 대리 목표 함수를 채택한다
- 이 대리 목표 함수는 inner-loop의 few 업데이트 스텝 후의 policy 성능만을 고려한다.
- 즉, 짧은 구간만 보고 평가하여 메타 업데이트에 사용한다
- outer-loop 알고리즘 : 이런 대리 목표 함수와 함께 outer-loop 알고리즘에서는 Actor-Critic 목표 함수를 사용한다
Flennerhag et al.은 다른 종류의 대리 목표 함수를 제시했다:
- few 스텝 후의 성능을 직접 보는 대신, 여러 업데이트 스텝을 미리 계산하여 inner-loop의 미래 시점 매개변수를 '타겟'으로 설정
- 이전 시점의 매개변수들이 미래 타겟과의 거리를 최소화하도록 최적화
- 단순 few 스텝 성능보다 더 많은 inner-loop 업데이트에 걸쳐 최적화할 수 있음
- 특정 거리 측졍 지표를 잘 선택하면 표준 Actor-Critic 목표로는 어려운 inner-loop 행동 policy 최적화에도 사용 가능
SGD 방법과 달리 black-box 최적화 알고리즘들도 outer-loop에 사용된다.
- 진화 전략(Evolution Strategies) : 매개변수 분포에서 배개변수 세트를 샘플링하고 각 세트를 inner-loop 실행으로 평가한 후 성능에 따라 매개변수 분포를 업데이트, 그림 16에서 확인 가능
- 장점 : gradient vanishing 문제의 영향을 덜 받으며 메모리 요구 사항이 SGD 보다 유리
- 단점 : SGD에 비해 분산이 높고 샘플 복잡도가 높음
- 유전 알고리즘(Genetic Algorithms) 및 랜덤 탐색 : inner-loop 목표의 매개변수가 이산적인 경우에 사용
https://arxiv.org/abs/2301.08028
A Survey of Meta-Reinforcement Learning
While deep reinforcement learning (RL) has fueled multiple high-profile successes in machine learning, it is held back from more widespread adoption by its often poor data efficiency and the limited generality of the policies it produces. A promising appro
arxiv.org
'논문 > 논문 정리' 카테고리의 다른 글
[논문 정리] Offline Meta-Reinforcement Learning with Advantage Weighting (0) | 2025.05.02 |
---|---|
Meta-Reinforcement Learning: Applications & Open Problems (0) | 2025.04.24 |
Meta-Reinforcement Learning: Few-Shot Meta-RL (part 4) (0) | 2025.04.22 |
Meta-Reinforcement Learning: Few-Shot Meta-RL (part 3) (0) | 2025.04.21 |
Meta-Reinforcement Learning: Few-Shot Meta-RL (part 2) (0) | 2025.04.21 |