티스토리 뷰
[논문 리뷰] Automatic Data Augmentation for Generalization in Reinforcement Learning
미남잉 2022. 12. 16. 10:32
Abstract
Deep reinforcement learning (RL) agent는 학습 환경을 일반화하는데 실패하곤 합니다. 이 문제를 줄이기 위해, 최근 연구는 data augmentation의 사용이 제안되었습니다. 그러나 다른 task는 augmentation의 다른 타입에 이익을 보는 경향이 있고, 맞는 것을 고르려면 전문적인 지식을 필요로 합니다. 해당 논문에서는 RL task를 위한 효율적인 augmentation을 자동으로 찾는 세 가지 접근법을 소개합니다. 이것들은 policy와 value function을 위한 새로운 두 가지 regularization term을 결합합니다. actor-critic algorithms에 대해서 이론적으로 data augmentation이라고 불리는 것을 사용할 필요가 있습니다. 한 가지 방법은 Procgen benchmard에서 우수한 성능을 냈으며, 선택 항목이 있는 DeepMind Control task에서 가장 많이 쓰이는 RL 알고리즘을 능가합니다. 게다가 우리의 agent는 task를 푸는 것과 관련 없는 환경 변화에도 강인한 policy와 representation을 학습합니다.
1. Introduction
새로운 환경에 일반화하는 것은 RL에 주요 해결 과제로 남았습니다. 현재 방법은 비슷한 세팅에서 학습할 때 보지 못한 환경을 일반화하는 것을 실패합니다. 이것은 일반적인 RL agent가 transferable skill을 학습하는 것 보다 특정 궤적을 기억한다는 것을 나타냅니다. 여러 전략, 예를 들어 정규화, 데이터 증강 또는 representation learning 등의 방법이 이 문제를 줄이기 위해 제안되었습니다. 이 작업에서는 우리는 RL의 data augmentation 사용에 집중합니다. 우리는 RL에서 데이터 증강을 사용할 때, 고려해야 하는 supervised learning과 reinforcement learning 사이의 주요한 차이점을 식별합니다.
더 구체적으로, 우리는 데이터 증강의 naive한 적용이 비원리적인 객관적 추정과 성능 저하와 같은 표준 RL 알고리즘의 이론적 및 실제적인 문제로 이어질 수 있습니다. 해결책으로 우리는 Data-regularized Actor-Critic or DrAC을 제안했고, 이 새로운 알고리즘은 이론적으로 건전한 방식으로 actor-critic algorithms과 함께 데이터 증강도 사용할 수 있는 방법입니다.
구체적으로 우리는 agent의 policy와 다양한 state transformation도 invariant한 value function에 제약을 두는 두 가지 regularization term을 소개합니다. 경험적으로 이 접근은 데이터 증대의 naive한 사용이 완전히 실패하거나 suboptimal policy로 수렴되는 경우, agent가 유용한 동작을 학습할 수 있습니다.
우리의 접근을 묘사하고 검증하는 PPO(Proximal Policy Optimization)을 사용하는 동안, 방법은 actor-critic algorithm과 함께 discrete stochastic policy(예를 들어, A3C, SAC, IMPALA)와 함께 쉽게 통합됩니다. 현재 RL의 데이터 증강 사용은 적절한 증강을 고르는데 전문가 지식에 의존하거나 가장 좋은 것을 찾는데 많은 수의 변형을 각가 evaluate합니다.
이 논문은 주어진 RL task를 위해 유용한 augmentation을 자동으로 찾는 방법을 제안합니다. 처음 두 개는 upper confidence bound(신뢰 상한) 알고리즘의 변형이나 메타 러닝을 사용해서 고정된 세트에서 최상의 augmentation을 선택하는 방법을 배웁니다. 이런 방법을 각각 UCB-DrAC과 RL2-DrAC이라 합니다. 세 번째는 미리 정의된 변형을 허용하지 않고 직접적으로 convolutional network의 가중치를 meta learning하는 Meta-Drac입니다.
우리는 16개의 절차적으로 생성된 환경으로 구성된 Procgen의 일반화 벤치마크에서 이러한 방법을 평가(evaluate)합니다. 우리의 결과는 좋은 augmentation을 찾는 것 중에서 UCB-DrAC가 가장 효과적임을 보여주고, 주어진 셋에서 가장 좋은 augmentation으로 DrAC을 사용하는 것과 비슷하거나 더 좋습니다.
UCB-DrAC 또한 RL이 train과 test set 모두에서 일반화 성능을 올리기 위해 설계된 baseline보다 성능이 뛰어납니다. 또한 에이전트가 배경 테마와 같이 reward 또는 trainsition function을 변경하지 않는 (즉, 제어에 중요하지 않음) 환경의 변화에 더 invariant한 policy 및 representation을 학습한다는 것을 보여줍니다.
요약해서 우리의 작업은 이러한 기여를 만들었습니다. :
(i) 우리는 actor-critic algorithm과 data augmentation을 사용하는 원칙적인 방식을 소개합니다.
(ii) 우리는 RL 세팅에서 효율적인 증대를 자동으로 고르는 실질적인 접근을 제안합니다.
(iii) 우리는 데이터 증대의 사용이 task에 invariance함을 더 잘 포착하는 더 나은 policy와 representations로 이어진다는 것을 보여줍니다.
(iv) 우리는 Procgen benchmark로 SOTA의 결과를 증명하였으며, natural 및 synthetic 한 선택 항목을 사용해서 네 가지 DeepMind Control의 작업에서 인기 있는 RL 방법을 능가했습니다.
2. Backgrond
Partially Observable Markov Decision Processes (POMDPs)의 분포 $q(m)$ of 는 $m \in M$이며, $m$은 튜플 $(S_m, O_m, A, T_m, R_m, \gamma)$에 의해 정의됩니다.
이를 하나씩 살펴보면,
- $S_m$: the state space
- $O_m$: observation space
- $A$: the action space
- $T_m(S^{\prime}|s, a)$: the transition function
- $R_m(s, a)$: the reward function
- $\gamma$: the discounter factor
이고 $M_{train} =$ {$m_1, \dots, m_n$}, where $m_i \sim q$, $\forall i = 1, n$ 입니다.
목표는 POMDP의 전체 분포를 넘어 expected discounted reward를 최대화하는 정책 $\pi_{\theta}$ 를 찾는 것입니다.
$J(\pi_{\theta}) = E_{q, \pi, T_m, p_m} [\Sigma^T_{t=0} \gamma^t R_m (s_t, a_t)]$
각 게임은 POMDP의 분포 $q(m)$과 대응되어 있으며, 게임의 각 레벨은 분포 $m \sim q$를 따르는 POMDP와 연관된다. POMDP m은 해당 레벨을 생성하는데 사용되는 seed에 의해 결정됩니다.
agent는 $n = 200$ 레벨의 고정된 세트로 학습받고, 모든 분포의 레벨로 테스트 합니다.(모든 컴퓨터 정수로부터 균일하게 무작위로 시드를 샘플링해서 생성합니다.)
Proximal Policy Optimization (PPO)
PPO는 actor-critic algorithm입니다. actor-critic algorithm은 MDP가 주어졌을 때 최상의 정책(policy)을 찾는 걸 목표로 하는 policy $\pi_{\theta}$와 value function $V_{\theta}$를 학습하는 알고리즘입니다.
PPO는 환경과 상호작용하는 샘플링 데이터와 stochastic gradient ascent를 사용해서 clipped surrogate objective function JPPO를 최대화하는 것 사이를 번갈아가며 수행합니다.
PPO objective의 구성 요소는 policy gradient term $J_{PG}$이며, 이는 중요한 샘플링을 사용해 추정합니다.
$\hat{A}(\cdot)$는 advantage function을 추정하고, $\pi_{\theta_{old}}$는 trajectories를 모아서 사용하는 behavior policy입니다. trajectories는 state와 action의 분포에서 학습해 생성됩니다.) 그리고 $\pi_{\theta}$는 최적화하기를 원하는 policy입니다. 이는 states와 action의 true distribution에서 생성됩니다.
3. Automatic Data Augmentation for RL
3.1. Data Augmentation in RL
이미지 증강은 컴퓨터 비전에서 object를 분류하는 작업에 성공적으로 적용되었습니다. 이러한 작업들은 rotation이나 flip 같은 특정 이미지 변형에 invarint하지만, RL의 경우엔 항상 그렇지는 않습니다.
예를 들어, flipped 됐다면 reward에 대해 왼쪽이나 오른쪽 action으로 뒤집히거나 agent에 대해 정확한 신호를 제공하지 못합니다. 알고리즘 변형 없이 RL 세팅에서의 사용했던 데이터 증강은, 해당 논문에서는 이러한 접근이 이론적으로 별로 타당하지 못하다고 주장합니다.
만약 변형이 PPO의 버퍼에 그대로 적용된다면, PPO objective는 바뀌고 방정식도 아래로 대체됩니다.
where $f: S \times H \rightarrow S$ is the image transformation
그러나 위 방정식의 우변은 왼쪽을 잘 추정하는 것 같지 않습니다. 왜냐하면 $\pi_{\theta}(a|f(s)) \ne \pi_{\theta}(a|s)$인데, $\pi_{\theta}(a|f(s))$가 $\pi_{\theta}(a|s)$에 가까워지도록 제한하는 것이 없기 때문입니다.
$\theta = \theta_{old}$ 일 때의 on-policy 경우에 주목해보면, advantage를 추정하는데 사용되는 비율은 1과 같아야 하며, 방정식 2를 사용할 때 반드시 그런 것은 아닙니다. 실제로, 하나는 임의로 큰 비율 $\pi_{\theta} (a|f(s)) / \pi_{\theta_{old}} (a|s)$의 결과를 내는 특정 변환 $f(\cdot)$으로 정의 내릴 수 있습니다.
Fig 3은 데이터 증강의 사용이 실제로 좋은 policy를 학습하는 것으로 부터 PPO를 막는 예를 보여줍니다. 이것은 단순히 이론적인 문제가 아님을 암시합니다. 우리는 알고리즘 변화를 제안하는데, 이는 원칙적인 방법으로 actor-critic의 데이터 증강의 사용을 가능하게 합니다.
3.2. Policy and Value Function Regularization
actor-critic 알고리즘에서 데이터 증강의 적절한 사용을 가능하게 하는 policy와 value function을 위한 두 개의 새로운 regularization terms을 제안합니다.
해당 알고리즘은 actor과 critic 두 개 동시에 제약을 둔다는 점에서 오직 Q-function을 정규화하는 것과 반대로 다릅니다. 이를 통해 우리의 방법은 policy와 value function을 학습하는 RL algorithm의 다른 class와 함께 사용할 수 있습니다.
우리는 agent의 policy $\pi$와 value function $V$를 모두 보존하는 매핑 $f : S \times H \rightarrow S$을 통해 최적 invariant state transformation을 정의합니다.
$V(s) = V(f(s,v))$ and $\pi(a|s) = \pi(a|f(s,v)), \forall_s \in S, v \in H$, where v는 가능한 모든 매개변수 $H$에서 추출 가능한 $f(\cdot)$의 파라미터입니다.
input state에서의 변형에 invaraint한 policy와 value function을 보장하기 위해, 우리는 policy를 정규화하는 additional loss tern을 제안합니다.
또한, value function을 정규화하는 추가 loss term도 있습니다.
그러므로 우리의 data-regularized actor-critic 방법(DrAC)은 아래 objective를 최대화합니다.
여기서 $\alpha_{\gamma}$는 가중치의 정규화 term입니다. $G_{\pi}$와 $G_v$의 사용은 많은 증대의 변환 유도에 invarinat한 agent의 policy, value function을 보장합니다.
특정 변환은 작업과 관련된 inductive biases를 부과하기 위해 사용될 수 있습니다. 게다가 $G_{\pi}$와 $G_v$는 discrete stochasitc policy을 사용해서 다른 어떤 변화 없이 actor-critic algorithm의 objective에 추가할 수 있습니다.
DrAC을 사용할 때, 우리는 여전히 방정식 (2)에서와 같이 잘못된 추정 대신, (1)의 왼쪽 objective에 올바른 중요도 샘플링 추정을 사용합니다. 변형돤 observation $f(s)$가 오직 regularization loss인 $G_{\pi}$와 $G_v$를 계산하는데 사용되기 때문에, 주요 PPO의 objective로 사용되지 않습니다.
이러한 추가 terms가 없다면, 데이터 증강을 사용하는 단 한 가지 방법은 Section 3.1에서 설명한 PPO objective의 부정확한 추정을 이끄는 것 뿐입니다. 그러므로 DrAC은 RL 알고리즘에서 불리한 결과를 완화시키는 동안 데이터 증대를 사용하여 정규화 효과를 얻습니다.
3.3. Automatic Data Augmentation
다른 작업은 다른 유형의 변환에서 이점을 얻으므로 주어진 작업에 대해 효과적인 변환을 자동으로 찾을 수 있는 방법을 설계하고 싶습니다. 이러한 기술은 RL에서 데이터 증대를 적용하기 위한 계산 요구 사항을 크게 줄입니다. 이 섹션에서는 이를 수행하기 위한 세 가지 접근 방식을 설명합니다.
- Upper Confidence Bound
- Meta-Learning the Selection of an Augmentation
- Meta-Learning the Weights of an Augmentation
이들 모두에서 증강 학습자는 에이전트가 DrAC를 사용하여 작업을 해결하는 방법을 배우는 것과 동시에 훈련됩니다. 따라서 에이전트가 개선됨에 따라 보상의 분배가 크게 달라지므로 문제가 매우 안정적입니다.
3.3.1 Upper Confidence Bound
주어진 세트에서 데이터 증강을 선택하는 문제는 multi-armed bandit problem으로 공식화 할 수 있습니다. 이는 action space가 가능한 변형 $F={f^1, \dots, f^n}$일 때입니다.이러한 설정에 가장 인기 있는 알고리즘은 다음 policy에 따라 action을 선택하는 Upper Confidence Bound(UCB)입니다.
$f(t)$는 time step $t$에서 선택되는 변형이며, $N_t(f)$는 time step $t$ 이전에 변환 $t$가 선택된 횟수이고, $c$는 UCB의 탐색 계수입니다. 우리는 방정식 (6)을 통해 aumentation $f$를 선택합니다. 그리고 방정식 (5)는 agent의 policy와 value function을 업데이트하는데 사용됩니다. 또한, counter를 업데이트 해야합니다. ($: N_t(f) = N_{t-1}(f) + 1$)
다음으로 우리는 새로운 policy와 Q-function을 업데이트하는 rollouts을 모읍니다. ($: Q_t(f) = \frac{1}{K} \Sigma^t_{i=t-K} R(f_i=f)$). 증대 $f$를 사용해서 업데이트 된 후 agent가 얻은 과거 K mean의 return이 sliding window average로 계산됩니다.
이를 UCB-DrAC 알고리즘으로 표현했습니다.
UCB-DrAC의 $Q(f)$ 추정은 전체 히스토리의 보상을 사용하는 일반적인 UCB 알고리즘의 추정과는 다릅니다. 그러나 문제의 nonstationarity(비정상성)으로 인해 보다 최근의 보상만 사용해 $Q(f)$를 추정하는 것이 중요합니다.
3.3.2. Meta-Learning the Selection of an Augmentation
또는 주어진 세트에서 데이터 증대를 선택하는 문제를 메타 학습 문제로 공식화할 수 있습니다. 여기서 우리는 Wang 등이 제안한 것과 같은 메타 학습자를 고려합니다. (2016). 각 DrAC 업데이트 전에 meta-learner는 업데이트에 사용되는 증강을 선택합니다. 이는 agent가 방정식 (5)를 사용합니다. 그런 다음 새 정책을 사용하여 rollouts을 수집하고 이러한 trajectories의 평균 return을 사용하여 meta-learner를 업데이트합니다. 이러한 접근을 RL2-DrAC으로 나타냅니다.
3.3.3. Meta-Learning the Weights of an Augmentation
적절한 증가를 자동으로 찾는 또 다른 접근 방식은 주어진 집합에서 증가를 선택하는 대신 특정 변환의 가중치를 직접 학습하는 것입니다. 이 작업에서는 교란된 이미지를 얻기 위해 관찰에 적용할 수 있는 컨볼루션 네트워크의 가중치를 메타 학습하는 데 중점을 둡니다.
Finn et al이 제안한 것과 유사한 접근 방식을 사용하여 이 네트워크의 가중치를 메타 학습합니다.
각 에이전트 업데이트에 대해 DrAC의 버퍼를 meta-train 및 meta-test set으로 분할하여 transformation function의 메타 업데이트도 수행합니다. 이 접근 방식을 Meta-DrAC라고 합니다.
4. Experiments
'Review > Paper' 카테고리의 다른 글
[논문 리뷰] Attention Is All You Need (0) | 2023.01.04 |
---|---|
[논문 리뷰] Neural Machine Translation by jointly Learning to Align and Translate (0) | 2023.01.02 |
[논문 리뷰] Batch Normalization: 논문으로 공부하고 이해하기 (0) | 2022.10.17 |
[논문 리뷰] Deep Networks with Stochastic Depth (0) | 2022.08.21 |
[논문 리뷰] PSPNet(Pyramid Scene Parsing Network) (2) | 2022.07.31 |
- Total
- Today
- Yesterday
- 서버구글드라이브연동
- 서버에다운
- 도커
- style transfer
- Prompt
- 파이썬 클래스 계층 구조
- support set
- 파이썬 딕셔너리
- 구글드라이브서버다운
- 파이썬
- 프롬프트
- 도커 컨테이너
- 데이터셋다운로드
- 구글드라이브연동
- stylegan
- NLP
- clip
- 구글드라이브서버연동
- few-shot learning
- prompt learning
- Unsupervised learning
- vscode 자동 저장
- CNN
- docker
- 딥러닝
- 구글드라이브다운
- python
- 파이썬 클래스 다형성
- 퓨샷러닝
- cs231n
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |