2. 목차
1. IRL : 전문가의 demo에서 reward function 추론
2. MaxEnt IRL
1. Ambiguous reward가 여러개 있을 때 적절하게 선택 가능
2. Dynamic programming을 통해 단순하고 효율적으로 계산 가능(small space)
3. Large, continuous space에서 사용하는 방법
3. MaxEnt IRL with GANs
1. Guided cost learning algorithm
2. Connection to GAN
3. Generative adversarial imitation learning
!2
3. Where does the reward function come from?
!3
게임 같은 경우 score 같은
수치형 signal이 명확하게 존재
실제 세계에선 게임처럼 명확한 reward가 없고
task가 완료되었는지 여부를 파악하는 것이 어렵고
task 자체를 깊이 이해하는 것이 필요
4. Where does the reward function come from?
!4
Automated tech support system
- 컴퓨터 수리 문의 시스템이라면
-> 최종 reward : 시스템이 도움이 되었는지 여부
- 무형의 목표 존재 -> Ground truth 얻기가 쉽지 않음
ex) 고객의 만족, 똑같은 말 반복으로 인한 짜증
- reward function을 작성하기 위해 모든 엔지니어들이 만족하는
Convention, Rule이 존재하지 않음 -> 애매함
Reward function을 작성하기 매우 어려움
(자율주행에서 운전자에 대한 매너)
5. Why shoud we learn the reward?
!5
•설명하기 어려운 task, reward들은 오히려 직접
보여주는 것이 훨씬 쉬울 때가 있음
(운전자가 가져야할 양심, 매너, 에티켓 등)
•Imitation Learning
task에 대한 이해가 전혀 필요 없음
그냥 따라하기만 하면 되기 때문에 불필요한 행동
도 따라하게되고, 얼마나 능숙한 전문가를 따라하
느냐에 따라서도 성능이 천차만별
•좌측 이미지의 아이 영상은 매우 유명한 실험 사례
6. Why shoud we learn the reward?
!6
•유아가 다른 사람의 의도를 이해하는 능력
•아이는 맹목적으로 행동을 모방하는 것이 아니라,
task의 시스템 자체를 이해하고 있음
•만약 우리의 RL 시스템이 Imitation learning을
통한 모델이라면 아이처럼 행동할 수 없음
•하지만 의도를 이해하는, 시스템을 이해하는 모델
일 경우 성능이나 효율의 문제를 넘어 Domain
transfer까지 가능
•우측 어른: 자루에 물건을 담으려 하고
땅에 떨어진 물건이 안 주워짐
•아이가 그 장면을 보다가 주워줌
7. Inverse Optimal Control / Inverse Reinforment Learning
!7
주어진 것
•state & action space
•samples from
•dynamics model
π*
목표
•Recover reward function
•Use reward to get policy
Challenges
•문제를 underdefine 하는 것
•Learned reward를 평가하기 어려운 점
•demonstration 부터 suboptimal인 점
8. Chaellenges of IRL
!8
1. Underdefined problem -> Multi-answer
1. 문제 정의를 구체적으로 잘 해야함
2. 앞선 실험에서 아이는 제반 상황에 대한
지식들을 이미 많이 가지고 있음
3. ML 문제에 적용했을 때 우리의 모델은
아이처럼 최소한의 세상에 대한 이해도
없이 문제를 풀려고 노력하는 상황
ex) Simple world
•위 세모, 동그라미, 화살표를 해석
•매우 다양한 해석이 존재
•우리는 아무런 사전지식이 없고 다음
에 어떻게 행동해야할지 모호함
For any observed policy in general
there's an infinite set of reward functions
that will all make that policy appear optimal
9. Chaellenges of IRL
!9
2. Evaluation of learned reward is difficult
1. 일반적인 IRL 구조
1. Improve the reward function
2. Evaluate the reward function(Gradient 계산 등의 방법을 통함)
2. 위와 같은 구조에선 IRL 과정 안에서 inner loop을 통해 RL 과정을 수행
3. IRL 안에 반복되는 RL이 있기 때문에 굉장히 고비용
3. Sub-optimality of experts
1. 참고할 전문가의 demonstration 자체가 부적합할 경우
2. 앞선 두 문제가 완벽하게 해결된다 하더라도 이 문제가 발생하면 나쁜 성능 보임
10. A bit more formally
!10
Forward RL
given:
- state & action
- transitions p(s'|s, a)
- reward function r(s, a)
learn π*(a|s)
Inverse RL
given:
- state & action
- transitions p(s'|s, a)
- trajectory samples sampled from
learn ( reward parameters )
----> reward function은 다시 policy 학습에 쓰임
π*(a|s)
π*(τ){τi}
rψ(s, a) ψ
11. Linear reward function
여기서 f에 붙는 psi는 해당 feature를 얼마
나 필요로 하는지를 나타냄
Feature matching IRL
!11
rψ(s, a) =
∑
i
ψi fi(s, a) = ψT
f(s, a)
Eπrψ[f(s, a)] = Eπ*[f(s, a)]
현재 reward function에
optimal인 policy
Unknown optimal policy
using expert sample
학습한 policy와 전문가 policy의 f가 같다면
비슷한 feature를 매칭할 수 있다.
maximum margin principle을 이용
12. Maximum margin principle
목표: margin m을 최대화하자.
좌항: feature 값을 파이로 expectation
psi를 dot product하면
reward의 expectation 구할 수 있음
Feature matching IRL
!12
ψT
Eπ*[f(s, a)] ≥ maxψT
Eπ[f(s, a)] + m
우항: 우리가 찾을 수 있는 최고의 정책으로
feature 값을 expectation하고
psi를 dot product 했을 때 나오는
reward의 expectation
13. Apply "SVM trick"
Feature matching IRL & maximum margin
!13
ψT
Eπ*[f(s, a)] ≥ maxψT
Eπ[f(s, a)] + m < m을 최대화하는 문제 >
ψT
Eπ*[f(s, a)] ≥ maxψT
Eπ[f(s, a)] + D(π, π*)
< 의 weight magnitude 자체를 최소화하는 방식>ψ
feature expectation의
차이값을 의미
문제점
1. 모호한 방식으로 해결: Margin이 어떤 의미를 지니는지 알 수 없음
2. 전문가의 비숙련, 부적합성을 해결하는 방법 딱히 없음
3. Linear model에서조차 제약조건이 많고 복잡
15. MaxEnt IRL Case study : Road navigation
!15
1. 택시 운전사의 주행 데이터를 기반으로 목적지를 예측하는 모델
2. Discrete state, action space -> 크지만 충분히 tabular representation 가능
3. 좀 더 나아가서 Feature weight 알아냄
1. 운전자 인터뷰를 통해 국도와 고속도로, 어떤 turn을 선호하는지 등을 조사
2. human driver가 어떻게 운전하는지 reward function에서 더 잘 나타나도록 시도
3. tabular 크기의 space만으로도 실제 세계의 상황을 예측한 좋은 사례
16. MaxEnt IRL Case study : MaxEnt Deep IRL
!16
1. 로봇이나 실내주행지도 그리는 task에서 사용 -> Reward가 복잡한 representation
2. Discrete state, action space를 사용하지만, Reward function은 Neural networks
3. 계속적으로 environment를 카메라를 통해 촬영
1. 촬영된 결과물이 이미지가 아닐 수도 있고, 수많은 feature들이 encoding된 결과물
2. 실제 데이터를 많이 모아서 reward function을 학습하는데 사용
17. Unknown dynamics & large state / action spaces
!17
Deep IRL을 고차원 공간,
Unknown space로 확장하기
- 첫 번째 항: 실제 데이터를 가지고
reward를 단순 sum 하는 거라서
계산 복잡도 낮다
- 둘째 항: distribution을 model
free 관점으로 해결해보자
18. More efficient sample-based updates
!18
1. p(a|s)를 학습하는 것은 어떤 MaxEnt IRL 알고리즘을 사용해도 좋다
2. Model free 관점으로 학습하는 것은 시스템 Dynamics를 돌려야해서 시간 복잡
도가 엄청나고 inner loop에서 RL 알고리즘이 돌아가기 때문에 사실상 불가능
3. policy를 완전히 학습하는 것이 아니라 살짝 개선하고 gradient step 진행
4. 하지만 이 때는 완전한 policy를 활용하는 것이 아니므로 틀린 점 발생
5. 틀린 점을 Importance sampling으로 교정