| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
- r-cnn
- 머신러닝
- LSTM
- opencv
- ubuntu
- hm3dsem
- machine learning
- dynamic programming
- BFS
- Reinforcement Learning
- image processing
- two-stage detector
- 강화학습
- deep learning
- AlexNet
- 그래프 이론
- C++
- 백준
- CNN
- YoLO
- dfs
- MySQL
- 딥러닝
- RL
- Python
- real-time object detection
- eecs 498
- DP
- NLP
- hm3d
- Today
- Total
JINWOOJUNG
[RL] CS285: Lecture 02. Supervised Learning of Behaviors(2) 본문
[RL] CS285: Lecture 02. Supervised Learning of Behaviors(2)
Jinu_01 2025. 12. 14. 17:18본 포스팅은 UC Berkeley 에서 진행된 CS285: Deep Reinforcement Learning, Decision Making and Control
강의자료 및 강의를 기반으로 공부한 내용을 정리하는 포스팅입니다.
앞선 내용과 이어지는 포스팅입니다. 꼭 공부하시고 오시기 바랍니다!!
https://jinwoo-jung.tistory.com/169
[RL] CS285: Lecture 02. Supervised Learning of Behaviors(1)
본 포스팅은 UC Berkeley 에서 진행된 CS285: Deep Reinforcement Learning, Decision Making and Control강의자료 및 강의를 기반으로 공부한 내용을 정리하는 포스팅입니다.https://jinwoo-jung.tistory.com/168 [RL] CS285: Lecture
jinwoo-jung.com
다음으로는 Multi-task Learning 방법이다.
만약에 $p_1$으로 가야하는 1가지 Task만 수행하게 된다면, 최적 경로만 고려했을 때, 해당 경로를 벗어나는 다양한 state를 볼 수 없게 된다. 이는 작은 mistake가 큰 error로 이어지는 결과로 이어질 가능성이 높다.
하지만, $p_1, p_2, p_3$와 같이 여러가지 Task가 있고, 원하는 task로의 조건부 확률로 동작하게 된다면, 다양한 state를 가지기에 policy가 더 강건해질 수 있다.

따라서 Goal-conditioned Behavioral Cloning은 기존 Behavioral Cloning의 고질적 문제인 state distribution shift를 해결한 algorithm이다. Training time에서 $s_T$에 성공적으로 도달한 여러 Trajectories에 대해서 각각의 $s_T$를 goal($g$)로 사용하게 되고, $log \pi_\theta(a^i_t|s^i_t, g=s^i_T)$를 maximize 하도록 학습하게 된다. 즉, 동일한 상태에서도 다른 goal을 가지면 다른 행동을 하기 때문에 다양한 상태를 cover할 수 있다.
하지만, 여기서 새로운 goal distribution shift가 발생하게 된다. 학습 과정을 보면 각 Demo의 마지막 상태인 $s^i_T$를 goal로 하게 된다. 이는 전문가가 실제로 도착한 goal이 된다. 하지만, 학습된 policy를 기반으로 실제 실행 과정에서는 전문가가 도달하지 못한 goal, noise가 포함된 goal, 사용자가 지정한 goal 등 policy가 학습 과정에서 보지 못한 goal을 받을 수 있게 된다.

마지막으로 살펴볼 방법은 Alogirhtm 자체를 바꾸는 방법이다.

Change the algorithm(DAgger)
이전까지 문제가 되었던 state distribution shift를 해결하기 위해 $p_{data}(o_t) = p_{\pi_\theta}(o_t)$로 만들 순 없을까? 그렇다면 train/test 과정에서의 확률 분포가 동일해져 이전의 문제를 해결할 수도 있을 것이다.

이러한 아이디어로 발전된 것이 DAgger: Dataset Aggregation 이다.
DAgger의 목표는 결국 실제 $\pi_\theta$를 기반으로 동작해서 방문한 states를 labeling하여 학습 과정에서 사용하는 것이다. 즉, 2번 과정을 통해 policy 기반으로 방문한 state와 그에 대한 action을 학습 데이터에 추가하게 된다면, 방문할법한 state들을 전부 학습할 수 있기에 $p_{data}(o_t) = p_{\pi_\theta}(o_t)$이 가능하게 된다.
하지만, 3번 과정이 매우 큰 cost를 요구하게 된다.

결국엔 모방학습이 완벽하게 잘 될려면 다양하고 많은 Data는 필수적이다. 그리고 이 Data는 사람이 제공해야되는데 이는 유한할 수 밖에 없다. 또한, 로봇이나 복잡한 기계처럼 다양한 DoF를 가지는 로봇 등에 적합한 행동을 사람이 완벽하게 구현할 수는 없다.

'Reinforcement Learning' 카테고리의 다른 글
| [RL] CS285: Lecture 02. Supervised Learning of Behaviors(1) (0) | 2025.12.14 |
|---|---|
| [RL] CS285: Lecture 01. Introduction (0) | 2025.12.08 |
| Deep Reinforcement Learning (1) | 2024.02.05 |
| Value Function Approximation (0) | 2024.02.04 |
| Model-based RL (1) | 2024.01.28 |
