[CS294 - 112 정리] Lecture2 - Supervised Learning and Imitation

Table of Contents

  1. Today’s Lecture
  2. Terminology & notation
  3. Imitation Learning
  4. DAgger 문제점
  5. Case study
  6. Imitation Learning의 한계
  7. Reference

Today’s Lecture

  1. 순차적 의사결정 문제(sequential decision problem) 정의
  2. Imitation learning: 의사결정을 위한 supervised learning.
    1. 직접 모방하는 작업?
    2. 더욱 잘, 자주 동작하는 방법?
  3. (Deep) imitation learning에서 최근 연구의 case studies.
  4. Imitation learning에서 빠진 부분?
    • Reward 함수가 다음주부터 다뤄지는 이유
  • 목표:
    • 정의 및 표기법 이해.
    • 기초적인 imitation learning 알고리즘 이해.
    • 강점 및 약점 이해.

Terminology & notation

  • 일반적인 지도학습(supervised learning) 은 다음과 같다:
    • 입력: image
    • 출력: category
    • 중간: 학습하고자 하는 model, probability distribution(확률 분포)을 파라미터화하는 것 - conditional probability distribution(조건부확률분포).
      • 입력: image(observation)
      • 출력: categorical variable(label)
      • Theta: parameterized distribution의 파라미터
An image with a caption

순차적 의사결정(Sequential decision making)문제 로 변경하기 위해 decision, sequential things를 추가

  • Sequential 부분: t, time step
  • decision 부분: a, 출력을 action으로 변경.

  • \(\pi\)가 discrete할 수도 있고, continous할 수도 있음.
    • Discrete: real-value number
    • Continous: Gaussian distribution(mean, variance)
  • Notation
    • observation: \(\sigma_t\)
    • action: \(a_t\)
    • policy: \(\pi_\theta (a_t \bar o_t)\), conditional distribution
      • 일반적으로는 parially observed하기에 \(o_t\)로 주어진다
      • 만약 fully observed, \(o_t\)를 \(s_t\)로 대체.
    • state: \(s_t\)
An image with a caption
  • State와 observation의 관계
    • Observation: state의 lossy consequence(손실된 결과)
    • State: 특성을 간단히 요약한 것이며 미래를 예측하는데 sufficient kind.

Fully obserbability: 컴퓨터는 입력을 pixel의 값으로만 구성, 물리적 특성을 가진 모멘텀 및 치타와 가젤의 위치를 알 수는 없다 - hidden

An image with a caption

Partial obserbability : 치타가 차에 가려져 있다. state는 추론할 수 없더라도 위 상황과 동일(치타, 가젤의 물리적 특성은 존재하기 때문).

An image with a caption
  • 이러한 관계를 graph(모델, dynamic Bayesian network)로 그리면 다음과 같다:
    • 각 시간에 따라 분리
      • policy(\(\pi _ \theta\)) : o에서 a로 매핑, conditional probability distribution.
      • p(\(s_{t+1} \bar s_t, a_t\)) : transition function, 현재의 state, action이 다음 state에 어떻게 영향을 끼치는 지 나타냄.
      • observation: state로부터 생성됨
    • State \(s_3\)는 \(s_1\)과는 독립적.
      • 즉, 현재의 state만 있다면 추가적인(과거) 정보는 필요가 없다.
An image with a caption

Imitation Learning

  • Behavior cloning
    • 드라이버가 운전을 하며, 카메라 녹화 및 steering wheel을 encoding = data set.
    • 이를 이용하여 supervised learning 을 통해 training(stochastic gradient descent 이용)하여 policy 도출.
    • 잘 동작? 일반적으로 No!!!!!!
      • 주어진 data set을 이용하여 진행하게 되면, 초반에는 잘 동작하지만 작은 차이가 발생해도 점점 차이가 커지며 발산하게 된다.
An image with a caption
An image with a caption
  • 잘 동작하기 위해서 차량 앞에 추가적인 카메라를 설치하여 안정성 확보(수렴).
    • 각 카메라에서 결정되는 action을 서로 보상하여 steering - policy를 stabilize.
    • 노이즈를 추가(각 카메라)하고 이를 서로 보완하여 distribution 생성.
An image with a caption
An image with a caption
  • 학습을 stabilizing controller(LQR)으로 모방 학습
An image with a caption
  • 더욱 잘 동작하게 만드는 방법:
    • 문제점: 아래 사진과 같은 방법으로 모방 학습을 진행
      • \(p_{data}\): 사람의 data set
      • \(p_{\pi_\theta}\): 주어진 데이터와 차이가 발생.
An image with a caption
  • 해결책: \(p_{data} = p_{\pi_\theta}\) 만들 수 있을까?
    • DAgger: Dataset Aggregation
      • 목표: \(p_{data}\) 대신에 \(p_{\pi_\theta}\)에서 training data를 수집
      • 방법: \(\pi_\theta\)실행, 그러나 label \(a_t\)가 필요.
        1. 사람의 데이터 \(D={o_1,a_1, …, o_N, a_N}\)을 모아서(사람이 직접 운전을 해서) \(\pi_\theta (a_t \bar o_t)\)를 학습.
        2. \(\pi_\theta(a_t \bar o_t)\)를 기반으로 실행하고, \(D_\pi = {o_1, …, o_M}\) 을 얻는다.
        3. 사람이 직접 \(D_\pi\)에 대해 action label을 달아준다(외부개입).
        4. \(D \leftarrow D \cup D_\pi\) , 원래의 데이터셋과 합쳐준다(aggregate).
        5. 1~4를 반복한다.
An image with a caption

문제점 : 사람의 노동력(a lot of effort, right action)이 너무 많이 들어간다.

An image with a caption

DAgger 문제점

많은 데이터(외부개입)없이 성능향상 할 수 있는 방법은 무엇인가?

  • DAgger는 distributional “drift”의 문제 를 다뤘다.
  • 만약 우리의 모델이 좋다면, ”drift”가 발생하지 않을까?
    • 전문가의 행동을 매우 정확하게 정확하게 모방해야 하지만, overfit은 안된다(generalization이 필요)

왜 전문가와 매칭하는 것이 실패할까?

\(1\). Non-Markovian behavior

  • 같은 경우라도, 이전에 무슨 일이 일어났는지 관계없이 똑같은 행동을 두번 할까?
    • 인간의 시연들이 종종 부자연스럽다.
  • (Markov property를 이용한다면 과거의 상태에 독립적으로 현재상태에서 최적의 선택을 해야하는데, 사람은 그렇지 못하다) 과거의 state, 경험이 현재의 선택에 영향을 끼친다.
  • 해결방법: 전체 history를 사용하는 방법(RNN, LSTM)
An image with a caption

\(2\). Multimodel behavior

  • 같은 state가 주어지더라도 다양한 행동이 존재할 수 있다.
  • (사람은 가끔 왼손으로 운전했다가, 오른손으로 운전했다가, 슬펐다가 기뻤다가 등등 데이터에 영향을 주는 많은 (예측할 수 없는) 요인을 갖고 있다. 따라서 같은 상황에서도 다른 선택을 한다.)
An image with a caption
An image with a caption
  • 해결책:
    • Output Mixture of Gaussians : 최종 행동을 뽑을때 하나의 Gaussian에서 뽑는 것이 아니라 여러개의 Gaussian을 합쳐서 뽑는다. 단순한 방법이다.

    • Latent variable model : 일반적으로 사용되긴 하지만 다소 복잡하다. Output은 하나의 Gaussian을 내뱉도록 그대로 두고, 중간에 random noise를 더하여 학습 시킨다.
      • Conditional variational autoencoder
        • Normalizing flow/realNVP
    • Stein variational gradient descent

    • Autoregressive discretization : setup이 약간 지저분하지만 Latent variable model보다는 단순하다. softmax를 통해 이산화된 확률분포 를 뽑아낸다. 이 확률분포를 통해 샘플링을 한다. 또다른 네트워크에 입력으로 넣어주고 다시한번 확률분포를 뽑아낸다. (첫번째 뽑아준 값을 condition으로 하여 두번째 값을 뽑아내는 셈이다.) 이 과정을 n번 반복하여 n dimension의 출력을 뽑아내게 된다.

## Imitation learning: recap

  • 종종(항상은 아니고) 이 방법만으로는 불충분.
    • 문제: 분포 불일치.
  • 다음과 같은 방법을 사용하여 잘 동작하게 할 수 있다.
    • Hacks (e.g. left/right images) - 꼼수를 사용한다
    • State trajectory 분포로부터 sampling
    • 더 많은 On-policy 데이터를 추가(e.g. Dagger 사용)
    • 더욱 정확하게 모델링
An image with a caption

Case study

  • Trail following as classification
    • A Machine Learning Approach to Visual Perception of Forest Trails for Mobile Robots, Giusti et al., ‘16 논문에서는 Quadrotor을 모방 학습을 통해 숲속길을 따라 주행할 수 있게 하였다.
    • input으로는 Monocular RGB 카메라만을 사용하면서도 Distributional drift문제를 개선하였다. 이를 CNN을 통해 처리하였고, output은 왼쪽, 오른쪽, 앞 세가지의 label을 사용하였다.
    • 해결 포인트는 End to End Learning for Self-Driving Cars에서 언급한것중 하나대로 카메라를 왼쪽, 앞, 오른쪽 세개를 사용하는 것이다. 사람이 머리에 카메라를 달고 숲속을 걸어다니며 약 20k 장의 학습데이터를 모았다.
An image with a caption
  • Imitation with LSTMs
    • From virtual demonstration to real-world manipulation using LSTM and MDN, Rahmatizadeh et al., ‘16 논문에서는 박스 옮기는 로봇을 학습시키는 연구를 소개한다. 가상세계에서 로봇을 학습시킨 후 현실세계에서 테스트한다.
    • Non-Markovian behavior를 LSTM으로 다루었다. 또한 Mixture Density Network(MDN)을 사용하여 Multimodal behavior문제 또한 개선하였다.
An image with a caption
  • Multi-Task manipulation with inexpensive robots
    • Vision-Based Multi-Task Manipulation for Inexpensive Robots Using End-To-End Learning from Demonstration, Rahmatizadeh et al., ‘17 논문은 바로 위에 언급한 논문의 저자와 본 강의의 교수가 함께 작성한 논문이다.
    • 일단 제목에서도 나타내듯이 비교적 저렴한 비용으로 장비 셋팅을 하였다. 집게가 달린 6-axis Lynxmotion AL5D robot을 사용하였고, 로봇팔에 카메라를 달아 input으로 사용하였다.
    • Leap motion, Playstation controller까지 합쳐서 총 500달러가 들었다고 한다. 코드까지 공개하며 독자들에게 실험셋팅을 해볼 것을 권유하고 있다. 이러한 셋팅을 이용하여 사람이 로봇을 컨트롤 한 것을 학습하였다. 시도한 테스크는 물건을 집고 옮기고, 밀고, 닦고 등 다섯가지이다. 윗 논문과 마찬가지로 LSTM을 사용하였고, One-hot vector을 함께 넣어줌으로써 multi task를 제어하였다. 또한 VAE-GAN구조를 결합하여 좀더 안정적인 학습을 한다.
An image with a caption
  • Other topics in imitation learning
    • Structured prediction:
      • 번역 task에서, where are you?라는 질문에 I’m in work라는 대답은 적절치 않다. 따라서 work를 지우고 I’m in school로 바꾸어준다. 요점은, output간의 관계를 고려해서 의사결정에 도움을 준다는 것이다. DAgger을 이용해 더 적절한 답안을 찾아내도록 보완가능하다.
    • Inverse reinforcement learning
      • 행동을 모방하는 대신, 목표가 무엇인지 추론한다. (나중에 다시 다룬다.)

Imitation Learning의 한계

  • 사람이 데이터를 가공해야하는데, 보통은 한계가 있다.
    • 그러나 딥러닝은 데이터가 많아야 잘 작동한다.
  • 어떤 테스크는 사람조차 제대로 못한다. (하늘을 날아다니거나, 모터를 제어하는 등)
  • 사람은 알아서 학습하는데 기계는 그러기 힘들다.
    • 스스로의 경험에 의한 무제한적인 데이터가 필요하다.
    • 연속적으로 스스로 학습해야한다.

Reference

CS294-112 Lecture1


© 2020. All rights reserved.

Powered by Hydejack v8.1.1