강화학습을 어떻게 공부하면 좋을까 싶어 찾아보다가
딥러닝 공부로 CS231n이 필수 요소처럼 여겨지는 만큼
CS234 역시 같은 위상에 있지 않을까 하는 마음에 듣게 되었다.
하지만 설명 방식이 나와는 잘 맞지 않았다.
예시를 좀 더 들어주면서 설명하면 좋을텐데, 알고리즘만 때려넣는 설명방식이랄까...?
중간 정도까지 강의를 들었지만, 도대체 이해할 수 없이 넘어간 부분이 많았고
한 번 다시 들으면서 내 나름대로 내용을 채워 넣었다.
최대한 한국어 용어와 비유를 사용해서 설명하려고 맷돌을 굴려봤지만
제대로 성공하지 못한 경우가 많다.
Goal of RL: Learn to make good sequences of decision
연속된 결정들을 잘 내릴 수 있도록 학습하는 것
Sequences of decisions: 하나의 결정이 아니라 연속적인 결정을 내리는 문제
Good: 어떤 게 좋은 것인지 평가할 수 있어야 함
Learn: 미리 정답을 알고 있지 않기에 경험을 통해 목적을 이루는 방법을 터득해야 함
강화학습에는 네 가지 핵심적인 요소가 있어서 여타 러닝들과 구분됨
- 최적화(Optimization)는 결과물로서의 행동이 목적에 최고로 부합하는 것이어야 함을 뜻하지만,
- Delayed Consequences: 현재의 행동이 정말 좋은 것인지는 시간이 충분히 흐르기 전까지는 판단하기 어려울 수 있음. 즉각적인 피드백이 없으므로 현재의 결정이 미래에 어떻게 작용하는지 모름.
- Exploration: 강화학습은 경험을 통해 세상을 이해해야 함.
그런데 시도하려는 대상을 선택하는 것부터 경험의 데이터가 검열됨. - Policy: 과거의 경험이 만들어낸 현재 행동의 근거
미리 policy를 설정해두지 않는 이유 == Generalization이 어려워서 - Generalization: 이전에 경험하지 못한 상황이 오더라도 잘 대처할 수 있는 능력
Class Goal: 매우 중요하므로 하나하나 확인해보자
- 강화학습과 다른 AI 모델의 차이점: 위의 네 가지 요소를 잘 설명할 수 있으면 될 듯
- 실생활 문제가 강화학습을 통해 해결가능한지 판별할 수 있는 능력을 탑재하고, 해당하는 경우에 강화학습의 시스템으로 표현할 수 있어야 하며 어떤 알고리즘이 잘 작동할지 설명할 수 있어야 함 → 로봇 손으로 물체를 집는 경우, 시뮬레이션이나 다른 AI 모델로는 물체의 마찰력과 로봇 팔 움직임 예측 등을 계산하기 어려워 강화학습을 주로 사용함
- 강화학습 알고리즘을 직접 구현할 수 있어야 하고, 어떤 경우에 잘 작동하는지 숙지하고 있어야 함
- Exploration과 Exploitation 이 어느 경우에 필요한지, 어떤 것에 더 비중을 둬야하는지 결정할 수 있어야 함
"강화학습 알고리즘" 이라는 내용이 계속 반복되어서 상당히 중요하게 쓰이는구나 하고 예측해볼 수 있음. 또한 exploration과 exploitation 문제는 단순히 강화학습의 특성이 아니라 핵심적인 문제로 취급다고 생각됨
Tutor Agent의 예시
좋은 tutoring 방식을 학습하는 tutor agent의 예시. Tutor가 학생에게 문제를 주면서 학습을 지도하고 있음. 이 때 학생이 옳은 답을 내면 Tutor는 +1의 평가를 받고, 틀릴 경우에는 -1 받게 됨. 시간이 흐르면 tutor는 학생이 풀기 쉬운 문제만 제시하며 어려운 문제는 내지 않음
Deterministic policy vs. Stochastic policy
결정론적 세계관에서는 과거의 정보들이 단 하나의 현재를 만들고, 이로 인해 내릴 수 있는 선택도 한정되어 있음. 하지만 양자론적 세계관에서는 모든 상황이 확률로서 존재하면서 다양한 상황에서 더 다양한 선택을 내릴 수 있게 됨.
실생활은 물론 후자의 형태로 존재해서 강화학습 적용시에도 확률모델을 사용하는 것이 유용함
기억해야 하는 용어들
States, Actions, Rewards, Model, Policy, Value Functions은 앞으로 모든 강의에서 사용되므로 정의를 올바르게 익히는 것이 중요함. 여기서는 간단하게 Mars Rover라고 하는 화성탐사로봇의 예시를 들었지만, 강의가 진행될수록 뭐가 뭔지 헷갈려지므로 여기서라도 쉽게 이해하고 넘어가는 게 좋음. 나중 강의에서는 어차피 이해 못하므로 너무 힘줘서 받아들일 필요는 없음
특히 value function은 한 행동지침을 선택했을 때 미래에 받을 수 있는 보상의 현재 가치로 이해하면 되는데, 변종이 자꾸 생겨나서 나중에 포기하게 됨. 경제학에서처럼 4%의 이자로 매년 초에100원씩 받는 연금이 있을 때 현재가치를 생각하면 지금으로서는 이해하기 좋을 듯(계산: 100/(1-1/1.04) = 2600 원)
Exploration and Exploitation 예시
Mars Rover가 왼쪽으로 갈 때 reward를 받고 오른쪽은 그러지 못한다면, 왼쪽으로 가는 것만 시도할 것. 하지만 현재에 도움이 되는 선택과 미래에 도움이 되는 선택을 균형맞게 내릴 수 있어야 함. Exploration은 현재에 도움이 덜 되는 선택일 지라도 새로운 행동을 선택하는 것을 뜻하고, Exploitation은 현재에 도움이 되는 쪽으로 계속해서 선택해 나가는 것을 뜻함
마시멜로 이야기를 생각해보면, 눈 앞의 이익을 미뤄서 나중에 두 개의 마시멜로를 받은 아이들이 Exploration을 잘 활용한 아이들. 반대로 "닥치고 정치"에서 김어준처럼 현재의 이익을 좇아서 돈도 없는데 양복을 사입고 그것을 기회로 여행지에서 숙박업체 삐끼 활동을 했던 게 Exploitation의 예시 정도 되려나?
강화학습 알고리즘의 종류
앞서 나온 변수들은 주어질 때도 있고, 알아서 계산해야할 때도 있음. 각 상황에서 알고리즘이 어떻게 구성되는지 배울 예정. 다 고만고만 해보여서 더 헷갈리는데, 각 상황에 맞는 사례를 한 가지씩 외우고 있으면 편할 듯
'트렌드 한눈에 보기 > 학계 트렌드' 카테고리의 다른 글
[CS234] Lecture 3 - Model Free Policy Evaluation 정리 (0) | 2020.12.11 |
---|---|
[CS234] Lecture 2: Given a model of the world 정리 (0) | 2020.12.10 |
[서울대 기계과] 웨어러블의 방향은 아이언맨을 향해 가고 있나요? (하편) (0) | 2020.12.08 |
[서울대 기계과] 웨어러블의 방향은 아이언맨을 향해 가고 있나요? (상편) (0) | 2020.12.07 |
[서울대학교 기계과] 자기소개서에 바로 넣을 수 있는 IROS2020 로봇 연구 동향 (0) | 2020.11.28 |