Author: Joonhee Lim
Date: 2022/08/24
출처: https://reinforcement-learning-kr.github.io/2019/01/22/0_lets-do-irl-guide/
0. Motivation
이전에 Robot 및 Autonomous Vehicle에 적합한 모방학습(Imitation Learning)을 정리하였었는데 거기에는 BC(Begavioral Cloning)와 IRL(Inverse Reinforcement Learning) 두 가지 방법이 존재하였다. BC는 비교적 지도학습과 매우 유사하였기에 이해하고 정리하는데 큰 힘이 들지 않았지만 Inverse Reinforcement Learning은 지속적으로 단점이 보완되고 있고 BC보단 이해하는데 시간을 투자해야했기에 따로 정리해보기로 하였다.(실제로 모방 학습 정리글에선 IRL에 대해서 이론적으로 다루지 않았다)
1. Linear Inverse Reinforcement Learning
논문: http://ai.stanford.edu/~ang/papers/icml00-irl.pdf
해당 논문에서는 3가지 알고리즘을 제시하였다
(1) State space가 Finite할 때, model(dynamics)를 알고 있을 때
(2) State space가 large or infinite할 때, model(dynamics)를 알고 있을 때
(3) expert의 trajectories를 통해서만 policy를 알 때, model(dynamics)를 모를 때
해당 논문에서는 실제 RL 적용보다는 보상함수는 어떻게 설계되어져야하고 그렇기 때문에 우리는 이러한 알고리즘들을 통해 Reward Function을 찾아낼 수 있다고 말하고 있다.
RL에서 정의하는 Value Function과 Q-Function은 다음과 같다.
State 1에서 정책 $\pi$를 따르는 Value Function은 다음과 같고
$$V^\pi(s_1)=\mathbb{E}[R(s_1)+\gamma{R(s_2)}+\gamma^2{R(s_2)}+\cdot|\pi]$$
State 1에서 정책 $\pi$를 따르는 Q-Function은
$$Q^\pi(s,a)=R(s)+\gamma{\mathbb{E_{s'\sim{P}}}[V^\pi(s')]}$$
이 때 $s'\sim{P}$는 $s'$를 $P$에 따라 sampling했다는 것을 의미한다.
(1) 케이스에 대해 설명하겠다.
State Space가 Finite하고 model은 이미 알고 있고 $\pi$는 Optimal Policy일 때 가능한 Reward Function의 Set을 찾는 것이다.
$a_1$은 Optimal한 행동이고 a는 $a_1$을 제외한 Action Space에서 뽑히는 행동들이다.
앞에서 기술한 Value Function을 Policy가 $a_1$을 뽑는다고 가정하면 다음과 같은 방정식이 성립한다.
해당 수식을 정리하면 다음과 같이 정리되기에
그렇다면 $a_1$이 Optimal한 행동이기 때문에 위에서 나온 V를 대입하게 되면 다음과 같은 수식이 성립한다.
즉 정리하자면 다음 수식이 성립한다.
해당 조건을 통해 $\pi$가 $a_1$을 내는 것이 Unique Optimal Policy가 되는 것에 필요하고, 충분하다는 것을 알 수 있다.
하지만 Reward Function을 만들어내는데 두 가지 문제가 있었다.
1) R=0 은 항상 Optimal하다는 것이다. 모든 행동에 대해 Reward가 0으로 주어진다면 모든 Policy가 Optimal하다는 문제가 있다. 이를 $\pi$가 Optimal하다는 것으로 완화시키지만 전체적으로 만족되지는 않는다.
2) 바로 위 수식을 만족하는 Reward가 많다.
그렇기 때문에 많은 Reward Function 중 한 가지를 결정해야만 하는데
R을 고르기 위한 방법은 $\pi$가 Optimal하도록 만드는 것이다.
최적의 행동을 안다면 $\pi$가 Optimal할 수 있고 최적의 정책을 안다면 R을 고를 수 있다는 것이다.
수식으로 표현하면 모든 R 중에서 해당 수식을 최대로 만드는 $a_1$을 고를 수 있게 된다.
또한 $a_1$을 통해 나온 Q값과 다른 Q값들의 차이가 극명할 수 있도록 중요수식에 Penalty Term $-\lamda{||R||_1}$ 을 추가시켜 R을 보다 쉽게 정한다. 이러한 과정을 통해 Simplest R을 찾을 수 있고 R을 통해 $\pi$가 Optimal한 지 설명할 수 있게 된다.
정리하자면 최종 최적화 수식은 다음과 같다.
이러한 수식들을 통해 Linear Program으로 표현될 수 있고 해결할 수 있다.
(2) 케이스에 대해서 설명하겠다.
Reward Function을 만들기 위해 Linear Function Approximation을 사용한다.
R 값을 임의로 다음과 같이 설정한다
이 때 $\alpha$는 학습해야하는 Weight Vector이고 $\phi$는 State의 Feature다.
R을 Linear하게 설정해주었기에 $V$ 또한 다음과 같이 변경될 수 있다.
이를 통해 Policy $\pi(s)$를 Optimal하도록 만드는 R에 대해 appropriate generalization하는 수식은
이고 State가 Infinite하기 때문에 모든 State를 확인하기 어려우므로 $S_0$을 샘플링하여 문제를 피하였다.
최종적으로 Linear Programming formulation은 다음과 같게 된다.
(3) 케이스에 대해서 설명하자면
해당 케이스에서는 Model을 사용하지 않고 전문가의 Trajectories를 이용한다.
최종적으로는 다음과 같은 Objective Function이 도출된다.
써놓고도 내가 먼소리를 쓴건지 잘 모르겠으니 추후에 다시 수정하도록 하겠다.
'Reinforcement Learning' 카테고리의 다른 글
[RL] 순차적 의사결정 문제 정의 단계에서의 POMDP와 MDP 차이 (0) | 2023.03.10 |
---|---|
[RL] Model : 모델이란(생각보다 간단하게) (2) | 2022.11.30 |
[RL] Imitation Learning(모방 학습)에 대한 설명 및 정리 (0) | 2022.08.23 |
[RL] DQN을 공부한 당신, 학습코드도 파헤쳐보자! (Car Racing, Gym, PyTorch) (2) | 2022.08.01 |
[RL] End-to-End Autonomous Driving in Simulation using Reinforcement Learning: PPO 활용 (0) | 2022.01.26 |