본문 바로가기
바닥부터 배우는 강화 학습

[ 바닥부터 배우는 강화 학습 ] 01. 강화 학습이란

by sxlvxrjxms2s2itsmes2s2 2023. 9. 18.

 

1.1 지도 학습과 강화 학습

기계 학습 

  • 강화 학습 
    시행착오를 통해 스스로 발전해 나가는 과정
    => 순차적 의사결정 문제에서 누적 보상을 최대화 하기 위해 시행착오를 통해 행동을 교정하는 학습 과정
  • 지도 학습
    지도자 혹은 정답이 주어져 있는 학습
    학습에 사용되는 데이터의 특징을 사람이 선택
  • 비지도 학습
    ex ) 사람 얼굴 1만 장을 학습한 후에 1만 장에 포함되어 있지 않은 새로운 사람의 얼굴을 생성
    ex ) 클러스터링 : 주어진 데이터 중 성질이 비슷한 것들끼리 묶는 것

 

1.2 순차적 의사결정 문제

순차적 의사결정 문제?
= 어떤 행동(의사결정)을 하고, 그로 인해 상황이 바뀌고, 다음 상황에서 또 다시 어떤 행동을 하고 ...

   각 상황에 따라 하는 행동이 다음 상황에 영향을 주는 것

 

ex ) 운전, 주식 투자에서의 포트폴리오 관리, 게임 ..

 

1.3 보상

보상(reward)이란 얼마나 잘하고 있는지 알려주는 신호

강화 학습의 목적 = 과정에서 받는 보상의 총합, 즉 누적 보상을 최대화하는 것

 

보상의 특징

  • 어떻게 x, 얼마나 o
    보상은 "어떻게"에 대한 정보를 담고 있지 않다.
    "얼마나" 잘 하고 있는지 평가를 해줄 뿐이다.
    사후적으로 보상이 낮았던 행동들은 덜 하고, 보상이 높았던 행동들은 더 하면서 보상을 최대화하도록 행동을 조금씩 수정

  • 스칼라
    스칼라는 벡터와 다르게 크기를 나타내는 값 하나로 이루어져 있다.
    보상이 벡터라면 동시에 2개 이상의 값을 목표로 할 수 있겠으나 스칼라이기에 오직 하나의 목적만을 가져야 한다.
    따라서 잘 섞어서 하나의 스칼라 형태로 표현해줘야 한다.
    어떻게? = 가중치를 두어서 표현

  • 희소하고 지연된 보상
    보상이 희소할 수 있고, 또 지연될 수 있다.

 

1.4 에이전트와 환경

에이전트가 액션을 하고 그에 따라 상황이 변하는 것을 하나의 루프라고 했을 때,

이 루프가 끊임없이 반복되는 것 = 순차적 의사결정 문제

 

  • 에이전트는 강화 학습의 주인공이자 주체
    학습하는 대상이며 동시에 환경 속에서 행동하는 개체를 가리키는 용어

    1. 현재 상황 \( s_t \)에서 어떤 액션을 해야 할지 <수식>를 결정
    2. 결정된 행동 \( a_t \)를 환경으로 보냄
    3. 환경으로부터 그에 따른 보상과 다음 상태의 정보를 받음
  • 에이전트를 제외한 모든 요소를 환경이라고 한다.
    자전거를 타는 아이의 상황에서는 아이를 제외한 모든 것이 환경
  • 현재 상태에 대한 모든 정보를 숫자로 표현하여 기록해 놓는 것 = 상태
  • 환경은 결국 상태 변화를 일으키는 역할을 담당
  • 환경이 하는 일

    1. 에이전트로부터 받은 액션 \( a_t \)를 통해서 상태 변화를 일으킴
    2. 그 결과 상태는 \( s_t \) → \( s_t+1 \)로 바뀜
    3. 에이전트에게 줄 보상 \(r_t+1\)도 함께 계산
    4. \(s_t+1\)과 \(r_t+1\)을 에이전트에게 전달

 

에이전트가 \( s_t \)에서 \( a_t \)를 시행하고 이를 통해 환경이 \( s_t+1 \)로 바뀌면 하나의 루프가 끝난다.

 

 

1.5 강화 학습의 위력

 

병렬성의 힘

수많은 컴퓨터를 병렬로 연결하여 학습 = 속도 up

 

자가 학습의 매력

유연하고 자유로움, 성능도 뛰어남

 

알파고가 사람을 뛰어넘는 것이 가능했던 이유는 자가 학습에 기반을 둔 강화학습 덕분이다.

승리라는 목표만 알려줬을 뿐 그 과정은 알아서 찾도록 했기 때문에 충분한 계산 능력과 어우러져 사람이 생각해 낼 수 없는 수를 찾아냈던 것.