[CS285] 1. Introduction
카테고리: CS285
태그: RL
💡 이 글은 『2024 PseudoLab 전반기 강화학습팀』으로 진행되었으며, CS285 Fall 2023를 따라 정리했습니다.
이번주는 발제를 맡아 Presentation으로 대체한다. Presentation 양식은 DSBA 연구실의 것을 유사하게 만들어 보았다.
1. Reinforcement Learning
1.1. What is “Reinforcement Learning”?
강화학습에는 두 가지 정의가 있는데, 첫째는 Problem으로서의 강화학습이고, 둘째는 Learning으로서의 강화학습이다. Problem으로서의 강화학습은 일종의 문제 정의, 즉 형식을 나타내고, Learning으로서의 강화학습은 이러한 문제를 해결하는 방법을 나타낸다.
일반적인 supervised learning과 비교하였을 때, 강화학습은 여러 차이점이 있다. 첫째로, supervised learning은 labelling된 데이터를 통해 학습하는 반면, 강화학습은 직접 데이터를 얻어 학습한다. 그리고 supervised learning에서는 i.i.d. 즉 독립적이고 동일하게 분포된 데이터를 사용하지만, 강화학습에서 얻는 데이터는 그 전의 데이터들, 또는 행동(action)이 결과에 영향을 미치기 때문에 i.i.d.가 아니다.
전체적으로 볼 때 supervised learning은 data를 어떻게 사용할 것인지와 더 관련되어 있고, 강화학습은 optimization에 더 관련되어 있다. 결과적으로는 data도, optimization도 중요하다.
1.2. Advantages of RL
RL은 supervised learning이 하기 어려운 태스크들에 사용할 수 있다. 먼저 complex physical task에 RL이 적합하다. 로봇의 움직임을 제어하려고 할 때, 사람은 로봇의 움직임을 정확하게 파악하고 휴리스틱하게 명령을 내리기 어렵기 때문에 supervised learning을 하기가 어렵다. 그러나 RL은 로봇이 “스스로” 학습하도록 하여 이 문제를 해결한다.
두 번째는 창발성(emergence)이다. Supervised learning은 데이터를 통해 학습하기 때문에 궁극적인 목표가 사람과 “똑같이” 학습하는 것이다. 그러나 RL은 사람과 다른 방식으로 학습하기 때문에 새로운 방식으로 문제를 해결할 수 있다. 즉, 새로운 해결 방식을 기대할 수 있다. 알파고가 사람이라면 두지 않을 것 같은 수를 둔다거나, 벽돌깨기 게임에서 사람이 하지 않을 것 같은 방식으로 공을 튕겨서 벽돌을 깨는 등이 그 예시이다.
그리고 설계 과정에서 real world case에 쉽게 적용할 수 있다. 강의에서는 그 예시로 자율주행, LLM, Vision 등을 들었다.
2. Beyond Learning from Reward
2.1. Reward is not a gold standard
일반적으로 RL 알고리즘은 state $s_t$에 따라 action $a_t$를 하고, 그에 따라 reward $r_t$를 받는다. 그리고 이 reward를 통해 학습을 한다. 그러나 이러한 방식은 실제 자연에서의 방식과 약간 괴리가 있다. 만약 치타가 사냥을 통해 먹이를 먹는 것이 reward라고 하면, 치타는 사냥을 하기 전에 reward를 받지 못하므로 정말 많은 치타가 굶어 죽을 것이다. 그러나 치타는 다른 치타들이 사냥하는 것을 보고(demonstration), 세상을 관찰하며 앞으로 어떻게 행동해야 할지 예측하고(observation), 다른 일들을 하면서도 근육을 사용하는 법을 배워(other tasks) 사냥을 하게 된다. 이러한 방식을 적용한 것들이 Imitation Learning, Inverse Reinforcement Learning, Prediction, Unsupervised learning, Transfer Learning 등이다.
2.2. Challenges of RL
이러한 상황에서 아직 RL 분야에는 많은 challenge가 남아 있다. 아직 data(supervised learning)와 RL을 동시에 사용하는 좋은 방법론이 나오지 못했다. 그리고 RL은 학습의 속도가 너무 느리다(즉 너무 “눈치가 없다”). 만약 transfer learning을 한다면 어디서 어떻게 해야 할지 정형화된 것이 없으며, 아직 reward function의 정의와 prediction의 역할에 대한 이해가 부족하다.
3. Intelligent Machines
강의 후반부에는 지능을 가진 기계, 즉 intelligent machine에 대해 소개한다. 이를 들으면서 RL에 대한 여러가지 생각이 들었다. 실제 real-world reward system은 RL에서의 간단한 모델링처럼 돌아가지 않는 것 같다. 유명한 Schultz의 실험에 따르면, 쥐는 cue만 있어도 reward를 받기 전에 dopamine이 나오고, 만약 이 경우 reward를 주지 않으면 오히려 level이 떨어진다. 이러한 것들을 RL이 잘 모델링할 수 있을까?
그리고 인간의 보상 체계는 dopamine system보다 훨씬 복잡하다. 그런 체계를 RL 측면에서 해석하고자 하는 시도가 많다. 이러한 것들도 RL이 모델링할 수 있을까? 개인적으로는 이러한 생물학적 시스템을 그대로 모방하는 것이 물론 재미있는 분야일 수는 있지만, 컴퓨터의 장점들(계산량, 데이터 등)을 더 살릴 수 있는 쪽으로 모델링하는 것이 더 효율적이지 않을까 생각되었다. 앞으로의 RL 강의를 들으면서, 이러한 부분들을 고려해볼 것이다.
댓글 남기기