Lecture 2. Imitation Learning Part 3 ~ Lecture 3. PyTorch
Lecture 2. Part 3
https://rail.eecs.berkeley.edu/deeprlcourse/deeprlcourse/static/slides/lec-2.pdf
Addressing the problem in practice
μμ behavioral cloning μμ λ°μν λ¬Έμ λ€μ μ€μ λ‘λ μ΄λ€ μμΌλ‘ ν΄κ²°νλμ§ λ€λ€λ³Έλ€.
μμ μμ mistake κ° μκΈ°λ©΄ μ΄λ»κ² ν΄μΌν μ§ λͺ¨λ₯΄λ λ¬Έμ λ‘ μΈν΄ mistake μ΄ λμ λκ³ κ²°κ΅μλ ν° μ°¨μ΄κ° μκ²Όλ€κ³ μΈκΈνμλ€.

Be smart about how we collect (and augment) our data
νμ΅ λ°μ΄ν°μ mistake κ° ν¬ν¨λμ΄ μλ€λ©΄, μ΄λ₯Ό μμ νλ λ°©λ²μ μλ €μ€ μ μμ κ²μ΄λ€. κ·Έλμ μλμ μΌλ‘ mistake μ μμ μ¬νμ λ°μ΄ν°μ μ λ£μ μλ μλ€. (λ¬Όλ‘ λ°μ΄ν°μ μ΄ μ’μ§λ μμ§λ§ μ€νλ € μμ μ¬νμ΄ λν΄μ Έ μλ κ²μ΄ μ’μ κ²½μ°λ μμ.)
λ λ€λ₯Έ λ°©λ²μ data augmentation μ΄λ€. κ°μ§ λ°μ΄ν°λ₯Ό μΆκ°νμ¬ μμ μ μ¬ν ν¨κ³Όλ₯Ό μ»μ μ μλ€.
- Case study 1: trail following as classification: μ¬λμ΄ μ§μ μ λ©΄, μ’/μ°μΈ‘λ©΄ μΉ΄λ©λΌλ₯Ό μ₯μ°©νκ³ μ²μμ κ±°λ λ°μ΄ν°λ₯Ό νμ©
- Case study 2: imitation with a cheap robot
Use very powerful models that make very few mistakes
λ°μ΄ν°λ₯Ό μ λ€λ£¨λ κ²λ μ€μνμ§λ§ μ΄κ²λ§μΌλ‘ μΆ©λΆν μ λ’°ν μλ μκ³ , κ·Όλ³Έμ μΈ μμΈμ ν΄κ²°ν νμμ±μ΄ μλ€.
Why might we fail to fit the expert?
λ³Έμ§μ μΌλ‘ μ μ λ¬Έκ°μ νλκ³Ό μΌμΉνκ² λ§λ€κΈ° μ΄λ €μ΄μ§ μμ보μ.
- Non-markovian behavior
μ°λ¦¬κ° ꡬμ±ν policy λ νμ¬μ observation λ₯Ό κΈ°λ°μΌλ‘ νλ€.
νμ§λ§ μ€μ λ‘ μ λ¬Έκ°κ° μ΄λ€ νλμ ν λλ μ΄μ μ μ§νν λ΄μ©λ€μ λͺ¨λ κΈ°μ΅νκ³ νλμ μ·¨νλ€. μ°λ¦¬μ policy μ λ°λ₯΄λ©΄ μ΄μ μ μ΄λ€ μΌμ΄ μΌμ΄λ¬λμ§μ κ΄κ³μμ΄ κ°μ κ²μ λ³Έλ€λ©΄ κ°μ νλμ νλλ‘ λμ΄μκ³ , μ΄λ λ§€μ° λΆμμ°μ€λ½λ€.
How can we use the whole history?
μ¬λ¬ κ°μ νλ μμ μ¬μ©νμ¬ μ΄μ μ κΈ°μ΅(history of observation)μ ν¬ν¨ν μ μλ policy λ₯Ό μΈμ΄λ€. μ΄λ₯Ό μ²λ¦¬νκΈ° μν΄ sequence model μ νμ©νλ€. (Transformer, LSTM cells, etc.)
μ΄λ¬ν λ°©μλ μ μλνμ§ μμ μ μλ€. μ¬λ¬ νλ μμ μ¬μ©νμ¬ νμ΅μ νκΈ° λλ¬Έμ μ¬κ±΄μ λ°λΌ κ° νλ μ κ°μ μκ΄κ΄κ³λ₯Ό μλͺ» νμ νλ causal confusion μ΄ μκΈ°λ κ²μ΄λ€.

κ°μμμλ λΈλ μ΄ν¬ νμλ±κ³Ό μ λ©΄λΆκ° κ°μ΄ μλ μ΄λ―Έμ§λ₯Ό μμλ‘ λ€μλ€. λ§μ½ μ¬λμ΄ λνλμ λΈλ μ΄ν¬ νμλ±μ΄ μΌμ‘λ€λ©΄, μ΄κ²μ νμλ±μ΄ μμΈμ΄ μλλΌ μ¬λμ΄ λνλ κ²μ΄ μ§μ§ μμΈμ΄λ€.
κ·Έλ¬λ μ΄νμ νμλ±μ΄ κ³μ μΌμ§λ©΄μ λͺ¨λΈμ νμλ±κ³Ό κ°μ κ°μ μΈκ³Όκ΄κ³μ μ§μ€νκ² λλ€. κ·Έλμ μ΄λ¬ν λ°©μμ 보쑰μ₯μΉμ μ§μ§ μμΈκ³Ό νΌλμ μΌκΈ°νκ³ μλͺ»λ μκ΄κ΄κ³λ₯Ό μ λν μ μλ€.
Question
- Q 1: Does including history mitigate casual confusion?
- Q 2: Can DAgger mitigate causal confusion?
- Multimodal behavior
μΌμͺ½, μ€λ₯Έμͺ½κ³Ό μ§μ κ³Ό κ°μ΄ μ΄μ°μ μΈ νλ¨μ λ΄λ¦΄ λλ λ¬Έμ κ° λμ§ μμ§λ§ μ°μμ μΈ νλμ μνν λλ λ¬Έμ κ° μλ€.

μμ κ°μ΄, μ§μ μ μ μΈν μ’μ°μΈ‘μΌλ‘ μ΄λν΄μΌ νλ κ²½μ° μΆλ ₯μ κ°μ°μμ λΆν¬λ‘ νννλ©΄ νλμ νκ· κ³Ό λΆμ°μΌλ‘ μ΄λ£¨μ΄μ Έ μκΈ° λλ¬Έμ΄λ€.
κ·Έλμ μ°μμ μΈ λΆν¬λ₯Ό μ€λͺ κ°λ₯ν λ€λ₯Έ λ°©μμ μ¬μ©νκ±°λ, μ΄μ°νλ₯Ό μ¬μ ν μ¬μ©νλ λ κ³ μ°¨μμ 곡κ°μμ μ¬μ©νλ λ°©λ²μ΄ μλ€.
Expressive continuous distributions
- Mixture of Gaussians
- Latent variable models
- Diffusion models
discretization
μ΄μ°νλ 볡μ‘ν λΆν¬λ₯Ό νννλλ° μ’μ λ°©λ²μ΄μ§λ§ κ³ μ°¨μμ space λ₯Ό μ΄μ°νλ‘ λ°λ‘ νννλ κ²μ μ΄λ ΅λ€.
μλνλ©΄ μ°¨μμ΄ λμμ§ μλ‘ ννν΄μΌ νλλ° νμν ꡬκ°μ μκ° κΈ°νκΈμμ μΌλ‘ λμ΄λλ€.
λ°λΌμ, ν λ²μ ν μ°¨μλ§ νννλ autoregressive discretization μ μ¬μ©νλ€.

LSTM μ΄λ Transformer μ κ°μ sequence model λ‘ μΈμ½λ©νμ¬ μ΄μ°νλ κ²°κ³Όλ₯Ό μ»μΌλ©΄ μ΄λ₯Ό μ°μμ μΌλ‘ λ£μ΄ λ€μ μμΈ‘μ μ»μ΄λΈλ€.
μ΄λ₯Ό μμμ μΌλ‘ νννλ©΄ κ²°κ΅ λͺ¨λ μ λν νλ₯ λΆν¬λ₯Ό μ»κΈ° λλ¬Έμ΄λ€. λ°λΌμ autoregressive discretization λ λ§€μ° μ’μ λ°©μμ΄μ§λ§ 무κ²λ€λ λ¨μ μ΄ μλ€.
- Case study 3: imitation with diffusion model (Chi et al, Diffusion Policy: Visuomotor Policy Learning via Action Diffusion)
- Case study 4: imitation with latent variable (Zhao et al. Learning Fine-Graned Bimanual Manipulation with Low-Cost Hardward)
- Case study 5: imitation with Transformeres (Brohan et al. RT-1: Robotics Transformer), transfomersλ₯Ό νμ©ν discretization λ°©λ²
Use multi-task learning
Does learning many tasks become easier?
μ΄μ μ²λΌ νλμ μμΉ μ λλ¬νκΈ° μν μ λ¬Έκ°μ νμ΅ λ°μ΄ν°λ₯Ό ꡬμ±νλ κ²μ΄ μλλΌ μ¬λ¬ κ°μ λ₯Ό λλ¬νλ κ³Όμ μ νμ΅νλ κ²μ΄λ€.

μ΄λ¬ν λ°©λ²μ μλμ μΌλ‘ μ€μλ₯Ό λ£κ±°λ augmentation μμ΄ λ€μν state μμ λ°μ΄ν°λ₯Ό μ»μ μ μκ² λλ€. μ¦, μ λ¬Έκ°κ° μΌλ‘ κ°κΈ° μν μ΅μ μ κ²½λ‘μμ λ°©λ¬Ένμ§ μμ λ€λ₯Έ state λ€μ΄ λ€λ₯Έ λ₯Ό λλ¬νκΈ° μν κ²½λ‘μμ μ»κ² λλ κ²μ΄λ€.

Related works
- Learning Latent Plans from Play, C. Lynch et al. Google Brain
- Unsupervised Visuomotor Control through Distributional Planning Networks, Yu, Tianhe, et al.
- Learning to Reach Goals via Iterated Supervised Learning, D. Ghosh et al., UCB
- GNM: A General Navigation Model to Drive Any Robot, Shah et al.
- Hindsight Experience Replay, Marin Andrychowicz et al., OpenAI
Change the algorithm (DAgger)
μμ νμ΅ν κ²½λ‘μ κ° μ§νν κ²½λ‘κ° μ°¨μ΄λ¬λ κ²μ λΆν¬ μ΄λμ λ¬Έμ λ‘ μ€λͺ ν μ μλ€. μ¦ μ κ° λ€λ₯΄λ€λ κ²μ΄λ€.
κ·Έλ λ€λ©΄ policy λ₯Ό μμ νλ (μ΄μ μ λ΄μ©)λμ λ°μ΄ν°λ₯Ό μμ νμ¬ μ λ§λ€ μ μμκΉ?
DAgger κ° μ΄ λ¬Έμ μ λν λ΅μ μ»κΈ° μν λ°©λ²μ΄λ€.
DAgger (Datset Aggregation)μ policy λ₯Ό μ€μ νκ²½μμ μνν΄μ state κ° μ΄λ»κ² λ°λλμ§ λ³΄κ³ , μ§μ μ¬λλ€μκ² λΌλ²¨λ§μ μμ²νλ κ²μ΄λ€.

μ΄λ κ² λ₯Ό κ³μ μννμ¬ μ μ¬ν λΆν¬λ₯Ό κ°μ§κ² λλ©° μ λΆν¬κ° λ°μ΄ν° μΈνΈλ₯Ό μ§λ°°νκ² λλ€.
DAgger μ λ¬Έμ μ μ μ¬λμ΄ μ§μ λΌλ²¨λ§νλ κ²μ΄ μΌμ΄ μΌμ΄λ νμ κ²ν νλ κ²μ΄λ―λ‘ λΆμμ°μ€λ½κ³ , λ§€ μκ° λΉ λ₯΄κ² κ²°μ μ λ΄λ €μΌ νλ κ²½μ°μ λͺ¨λ κ²μ λ€μ λΌλ²¨λ§νλ―λ‘ ν΄κ²°νκΈ΄ μ΄λ ΅λ€.
μ΄μ¨λ μΆκ°μ μΈ λ°μ΄ν°λ₯Ό μ»μ μ μλ€λ κ°ν μ μ νμ μ μ νμ μΈ λ³΅μ‘λλ₯Ό κ°μ§ μ μκ²λλ€.
Lecture 3. PyTorch Tutorial
https://rail.eecs.berkeley.edu/deeprlcourse/deeprlcourse/static/slides/lec-3.pdf
https://colab.research.google.com/drive/12nQiv6aZHXNuCfAAuTjJenDWKQbIt2Mz
RL Connection: You would want to be doing simulator-related tasks with numpy, convert to torch when doing model-related tasks, and convert back to feed output into simulator.