본문 바로가기

연구/딥러닝

[cs294-112] 1.Supervised Learning of Behaviors

** CS294-112 강의 정리

 


Lecture

1. Definition sequential decision problems

2. Imitation learning: supervised learning for decision making

   a. direct imitation work?

   b. how can we make it work more often?

3. Case studies of recent work in (deep) imitation learning

4. What is missing from imitation learning


 

Terminology & notation

 

state

sufficient kind of summary of what's going on in the world that you can use to predict the future

 

observation

'lossy consequency' of state

 

강의에서는 state와 observation의 차이의 예시로 state의 경우 관찰한 상황에 대한 정확한 파라미터 ,observation은 관찰한 모습 그 자체라고 설명했다.

 

위의 Ot에 나온 그림을 보면 실제 빨간차 뒤에 치타가 있는데, state는 치타의 물리량을 아는데 observation은 치타가 가려져 있어 안보인다.

 

 

sequential decision problem

*Markov propety: the conditional probability distribution of future states of the process (conditional on both past and present values) depends only upon the present state; that is, given the present, the future does not depend on the past. 

 

예를들어 s3 is conditionally independent of s1 이라고 한다. s3(미래)는 s2(현재)에 영향을 받고 s1(과거)에는 독립적이다. --> 어떻게 이해해야 할까..

 

 

Imitation learning

 

imitation learning은 supervised learning 이다. policy를 supervised learning으로 학습시키는 것이다.

 

그럼 특정 데이터셋을 가지고 자동차 주행 환경에 imitation learning을 적용 시키면 잘 돌아갈까?

 

한정된 데이터셋으로 학습한 policy가 예측못한 상황(observation)을 만나면 작동 안할 것 같은데..

학습한 policy가 데이터셋이 예상한대로 움직이지 않고 약간의 실수(잘못된 움직임)이 발생하면 이후에는 학습을 못하지 않을까?

 

 

End to End Learning for Self-Driving Cars, Bojarski et al, Nvidia

 

위의 논문을 보면 엔비디아에서 약간의 트릭(statbilizing controller) imitation learning을 이용해서 학습을 잘 시켰다고 나온다. 

 

학습이 잘 됬다는건 가지고 있는 데이터셋대로 움직였다라는 것인데. imitation learning은 결국 Pdata와 Ppolicy, 데이터셋과 학습한 정책의 상태변화확률을 거의 동일하게 만들어줘야 한다는 것이다.

 

Can we mkae Pdata = Ppolicy?

 

Idea: instead of clever about Ppolicy, be clever about Pdata --> 데이터셋이 많으면 더 구체적으로 학습할 수 있어!

Algorithm: DAgger(Dataset Aggregation)

Goal: collect training data from Ppolicy instead of Pdata

How: just run Ppolicy

 

DAgger는 Ppolicy를 계속 실행시켜 직접 사람이 다시 labeling하여 데이터를 만들어내는 것 이다.

결국 DAgger 사람의 손길이 필요하고 데이터셋을 더 만들어야한다.

 

그럼 데이터셋 안만들고 imitation learning이 잘되게 할 수 있을까? 데이터 추가없이 전문가 행동을 표방하는 Ppolicy를 학습시킬 수 있을까..? --> fail!

 

Why might we fail to fit the expert?

 

1. non-markovian hebavior

 

- If we see same thing twice, we do the same thing twice, regardless of what happened before --> very unnatural for human demonstrators :

 

- 과거의 정보를 어떻게 사용하면 될까??

 Ot에만 dependent  

모든 시간(과거)의 observation --> RNN으로 모델링하여 쉽게 해결 가능

 

 

2. multimodal behavior

 

 

나무를 피해갈때 왼쪽으로 가나 오른쪽으로 가나 목적은 같은데 어떻게 다른 행동을 줘야하나..

 

1. Ouput mixture of Gaussians : 충분한 mixture element가 있으면 분포를 잘 모델링 가능 낮은 차원의 action에서 좋음

2. Latent variable model : 수학적으로 multimodal 푸는데 가장 적합 noise가 어떤 분포로 학습됨

3. Autoregressive discretization : network의 수정이 필요 출력단을 dicretizing, 다시 샘플링하여 discretizing 반복..

 

주로 multimodal behavior 문제는 위 3가지 방법을 사용한다고 한다. 실제 강의에서는 1,2,3에 대한 간단한 설명을 해준다. 주로 네트워크의 출력단을 이용하는데 자세한건 다음에 정리하도록 하자.

 

 

Imatation learning : what's the problem

 

- Human need to provide data, which is typically finite

  - Deep learning works best when data is plentiful

- Human are not good at providing some kinds of actions

- Humans can learn autonomously; can our machines do the same?

  - Unlimited data from own experience

  - Continuous self-improvement

 

 

Reward & Cost function

 ** 작성필요

 

 

 

1장은 policy를 supervised learning을 이용한 Imitation learning에 대해 분석하고 문제가 무었인지, 강화학습에서 supervised learning의 한계를 좀 알아보았따. 들은지 좀 되서 부족한 부분을 다시 공부해서 작성할 필요가 있겠다..

 

 


출처

이미지자료: cs294-112 강의 파일 http://rail.eecs.berkeley.edu/deeprlcourse-fa18/

[1]https://en.wikipedia.org/wiki/Markov_property 위키피디아 이다...

 

'연구 > 딥러닝' 카테고리의 다른 글

[강화학습] tensorflow2로 ddpg  (0) 2021.02.14
[강화학습] tensorflow 2로 DQN  (2) 2021.02.07
[Colab] Colab 빠르게 사용해보기  (0) 2019.11.15