* 바닥부터 배우는 강화학습 도서를 읽고 정리한 글입니다

 

1. 강화학습이란 ?

"순차적인 의사결정 문제에서 누적 보상을 최대화하기 위해 시행착오를 통해 행동을 교정하는 학습과정"

 

예를 들면, 어린이 혼자 두발 자전거를 타면서 배워나가는 과정

 

2. 순차적 의사결정 문제

 - 순차적 의사결정 문제란 

  행위자가 목적을 정한 후 시간 순서대로 주어진 상황에서 목적을 이루기 위해 해당상황을 근거로 목적에 부합한 행동을 하고 그 행동으로 인해 상황이 변화되면 변화된 상황을 근거로 목적에 맞게 행동을 한다. 또 그 행동으로 인해 상황이 변하면 그 변화된 상황을 근거로 목적에 맞게 행동을 하는 순차적인 일련의 문제처리 과정

 

 - 순차적 의사결정 문제의 예

행위자가 아침에 기상해서 학교까지 등교하는 과정을 예를 들 수 있다.

(의사결정)세면 => (의사결정)아침식사 => (의사결정)교복으로 환복 => (의사결정)학교가는 길을 차례로 거쳐 도보로 이동 => 학교 교실 도착

 

이 과정 중에서 등교 과정 시간을 단축하기 위해서는 어떻게 하는 것이 좋을까? 라는 과제가 주어진다면

의사결정 행동에 조금씩 변화를 주면서 시도해보고 시간이 더 걸리는 행동을 피하고 시간을 단축시켰던 행동을 선택하여 전체적으로 등교 과정 시간을 단축시키게 될 것이다.

 

또 다른 예,

주식투자에서 포트폴리오 관리, 운전과정, 게임

 

 - 강화학습은 위의 예와 유사한 방식으로 순차적 의사결정 문제를 잘 처리해나가기 위한 머신러닝 방법이다

 

3. 보상

 - 보상이란 목적에 부합하여 의사결정을 잘 했을 때 그 부분을 의사결정 행위자가 인지할 수 있도록 알려주는 신호이다.

 - 강화학습 목적은 순차적 의사결정 과정에서 받은 보상의 누적합이 최대가 되도록 하는 것이다.

 - 보상의 특징 3가지

   1) 어떻게 X, 얼마나 O

    보상은 "어떻게"에 대한 정보를 가지고 있지 않다. 

    보상은 조금 못하고 있는지, 그저 그렇게 하고 있는지, 잘 하고 있는지, 매우 잘하고 있는지에 대한 정보를 담고 있다.

 

    2) 스칼라

    보상은 스칼라값으로 정해진다(벡터형식이 아니다) => 오직 하나의 목적만을 가지고 있는 값이어야 한다는 의미. 

    보상을 스칼라값 형태로 정할 수 없다면 강화학습 적용이 어렵다.

    최적의 보상을 결정하는 것이 중요하다!!

    보상의 예, 

       - 자산 포트폴리오 배분에서의 이득

       - 자전거 타기에서 넘어지지 않고 나아간 거리

       - 게임에서의 승리

 

   3) 희소하고 지연된 보상

    - 보상이 희소 할 수 있으며, 지연될 수 있다.

    - 행동과 보상이 일대일 대응되면 강화학습은 쉬워진다.

      하지만 대부분의 경우는 어떤 특정행동이 목적에 부합하게 된 것인지 판단을 지나고 나서야 알 수 있다.

      따라서 보상은 여러가지 행동을 한 이후에 주어질 수 있다. 결국 보상은 지연되어 제공될 수 있다는 의미가 된다.

 

4. 에이전트와 환경

위 그림은 순차적 의사결정 문제를 도식화 한 것

에이전트가 액션을 하고 그에 따라 상황이 변하는 것을 하나의 루프라고 한다면 이 루프가 반복되는 것을 순차적 의사결정 문제라 할 수 있다.

 

(1) 에이전트란

 - 강화학습의 주인공

 - 학습하는 대상

 - 운전하는 환경에서는 운전자가 에이전트가 되며, 게임 플레이하는 환경에서는 게임 플레이어가 에이전트

 - 어떤 액션을 할지 정하는 것이 가장 주된 역할

 - 에이전트 입장에서 위 그림의 루프는 3단계로 구성되어 있다

  1) 현재상황 St에서 특정 액션을 결정

  2) 결정된 액션을 환경으로 보냄

  3) 환경으로부터 그에 따른 보상과 다음 상태의 정보를 받음

 

(2) 환경

 - 에이전트를 제외한 모든 요소를 환경이라 한다.

 - 환경의 요소들을 숫자로 표현하여 기록해 놓으면 그것을 "상태" 라고 한다.

   따라서 상태는 여러 숫자들로 구성된 벡터로 볼 수 있다.

 - 환경은 상태변화를 일으키는 역할을 담당한다.

 - 환경 입장에서 위 그림의 루프는 4단계로 구성된다

   1) 에이전트로부터 받은 액션을 통해서 상태 변화 일으킨다

   2) 그 결과 상태가  St => St+1 로 바뀐다

   3) 에이전트에게 줄 보상 Rt+1 도 함께 계산된다

   4) 변경된 상태 St+1,  보상 Rt+1을 에이전트에게 전달

 

순차적 의사결정 문제에서 한 루프를 틱 혹은 타임스텝 이라고 한다.

 

5. 강화 학습의 위력

 (1) 병렬성

   (2) 자가학습

     지도학습처럼 정답을 알려주지 않아도 목적에 부합하도록 스스로 행동을 개선해나가는 능력

 

+ Recent posts