questionet
강화학습이란? 본문
이 페이지는 '바닥부터 배우는 강화학습'의 내용을 정리한 것이다.
강화학습이란?
: 순차적 의사결정 문제에서 누적보상을 최대화하기 위해
시행착오를 거쳐 행동을 교정하는 학습과정.
순차적 의사결정sequential decision making이란?
: 달성해야할 목표를 이루기 위해
거쳐야 하는 단계들이 여러가지가 있는 문제의 경우
각 단계에서 내리게 되는 의사결정과정.
이전 단계에서의 결정에 따른 행동은
상황의 변화를 낳고
변한 상황은 다시
다음 단계에서의 행동에 영향을 준다.
순차적 의사결정과정 문제란?
: 목표를 달성하고 난 다음
그 목표에 이르기까지의 행동들을 단계별로 돌이켜 보면
순차적일 수밖에 없다.
바꿔 말해
어떤 목표를 달성하기 위해선
매 단계에서 다음단계로 가기 위한 행동이
순차적으로 이뤄져야 한다.
왜냐하면 매 순간 내리는 모든 결정은
이후의 결정에 영향을 주기 때문이다.
이런 식으로 접근, 해석할 수 있는 문제는 모두
순차적 의사결정 문제다.
달리 말하면,
1. 이후의 결정에 영향을 주지 않는 결정은 순차적 의사결정이 아니다.
2. 서로 다른 두 개 이상의 목표가 있을 때 (각 목표가 서로 독립적일 때)
각 목표를 위해 하는 행동들이 순차적으로 이뤄져도
그것들은 순차적 의사결정에 의한 행동이 아니다.
(이하 '보상은 스칼라다' 와 연결)
보상이란? 보상의 세 가지 특징은?
: 의사결정을 얼마나 잘하고 있는지 알려주는 신호.
강화학습의 목적은 과정에서 받는 보상의 총합,누적 보상 cumulative reward 을 최대화 하는 것이다.
1. 보상은 행동의 결과가 좋았냐, 나빴냐를 알려주지 그 행동의 방법이 옳으냐, 틀리냐를 알려주지 않는다
어떤 행동을 했을 때
그 행동이 다른 행동보다 목표에 더 가깝게 행동한 것이라면 크게 보상하고
목표와 멀어지게 행동하면 적게 보상한다.
구체적으로 어떻게 행동해야 보상을 받게 할 수 있는지는 알려주지 않는다.
즉,
옳은 행동을 하든 틀린 행동을 하든
목표에 더 가까운 행동이면 보상한다.
그럼으로써 보상이 낮았던 행동들은 덜 하고,
보상이 높았던 행동들은 더 하면서
자신의 행동을 조금씩 수정해 나간다.
2. 보상은 스칼라scalar다.
따라서 오직 하나의 목적만을 가져야 한다.
만약 여러가지 목적들을 달성하고 싶은 경우엔
그것들을 잘 섞어서 하나의 스칼라로 표현해줘야 한다.
한 가지 방법은 가중치를 두는 것이다.
목표가 x, y, z 라면
0.5x + 0.25y + 0.25z 같은 식으로 표현할 수 있다.
강화학습은 스칼라 형태의 보상이 있는 경우에만 적용할 수 있다.
만일 어떤 문제를 하나의 목표 달성 문제로 귀결해낼 수 없다면
그 문제에 강화학습을 적용하는 건 적절하지 못할 수 있다.
서커스단에 고용된 알파클라운alpha clown이
저글링을 하면서 외발자전거를 타는 행동을 해야한다고 해보자
그럼 두 가지 목적이 있는 것이 아닌가?
이건 tricky한 질문이다.
알파클라운이 저글링만 하는 베타클라운이나 외발자전거만 타는 감마클라운보다
저글링과 자전거 타기를 동시에 더 잘할 순 없다.
다시 말해, 알파클라운에게는 두가지 목표가 있는 게 아니라
두가지 행동을 동시에 해내기만 하면 되는 한 가지 목표가 있는 것이고
따라서 가중치 분배 방법으로 해결하면 된다.
(우리가 저글링하면서 자전거를 타는 광대를 보고 환호하는 건
두 개를 동시에 해내서이지 각각을 잘해서가 아니다)
하나의 문제 안에서 다양한 방법으로 보상을 설정할 수 있다.
자전거를 탈 때 1m 갈 때마다 +1을 주든가
1초 안넘어지고 탈때마다 +1을 주든가
목적과 누적보상의 값이 의미하는 바가 잘 대응되도록 정하면 된다.
3. 보상은 희소sparse 할 수 있으며 지연delay될 수 있다.
희소한 보상 : 행동을 10번해야 보상 1번
지연된 보상 : 행동을 10번해야 첫번째 행동에 대해 보상
매 단계의 행동에 대한 보상이 즉각적으로 이뤄지면 학습이 쉬워진다.
그런데 보상이 희소하거나 지연되면, 그 보상이 어떤 행동 덕분이지 불분명해져서
학습이 어려워진다
이 문제를 해결하기 위해 밸류 네트워크(value network) 같은 아이디어가 등장했다.
보상이 희소하거나 지연될 수 있는 건
강화학습이 다루는 문제가 순차적 의사결정 문제이기 때문이다
chapter1 결론
Agent
: 강화학습의 주체 = 학습하는 대상 = 환경 속에서 행동하는 개체
Environment
: 에이젼트를 제외한 모든 요소
= 에이젼트가 어떤 행동을 했을 때 그 결과에 영향을 아주 조금이라도 미치는 모든 요소
= 상태 변화를 일으키는 역할
State
: 상태에 대한 모든 정보를 숫자로 표현해 기록한 것
환경 속에서 에이젼트가 어떤 행동을 하고 나면, 에이젼트의 상태가 바뀐다.

틱tick이란?
에이전트가 St 에서 at를 시행하고, 이를 통해 환경이 St+1로 바뀌면,
즉 에이전트와 환경이 한 번 상호작용하면, 하나의 루프가 끝난다.
이를 틱이라고 한다.
순차적 의사결정 문제에서는 시간의 흐름을 이산적discrete으로 생각하고
그 시간의 단위를 틱 혹은 타임 스텝time step 이라고 한다.
강화학습의 매력
1. 병렬성
똑같은 목적을 달성하려 하는 에이전트들을 동시에 학습 시킨다
각 에이전트들이 얻은 경험을 공유하면
하나의 에이전트가 할 때보다 훨씬 빠르게
보상이 큰 행동들은 자주 하고, 작은 행동들은 덜 하도록 학습시킬 수 있다.
2. 자가학습
자기만의 방식으로 문제를 풀 수 있게 된다.
'Deep learning > 강화학습' 카테고리의 다른 글
MDP를 모를 때 Prediction (0) | 2021.05.04 |
---|