Artificial Intelligence/강화 학습

강화학습 기본 개념 정리

kj11 2024. 1. 7. 20:04

1. 순차적 의사결정 문제

어떤 의사결정을 하고 그로 인해 상황이 바뀌고, 다음 상황에서 또 다시 어떤 행동을 하고 이처럼 각 상황에 따라 하는 행동이 다음에 영향을 주며, 결국 연이은 행동을 잘 선택해야하는 문제가 순차적 의사결정 문제임

 

2. 보상

보상이란 의사결정을 얼마나 자랗고 있는지를 알려주는 신호

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

 -  내가 어떤 행동을 하면 그것에 대해 얼마나 잘하고 잇는지를 평가만 해줌, 어떻게 해야 높은 보상을 얻을 수 있는지는 안알려줌

 -  보상이 낮았던 행동은 덜하고 보상이 높았던 행동들은 더하면서 보상을 최대화하려고 함

 -  강화학습은 스칼라 형태의 보상이 있는 경우에만 적용 가능

 -  희소할 수 있으며 지연될 수도 있다는 특징이 있음

    -> 보상은 선택했던 행동의 빈도에 비해 훨씬 가끔 주어지거나, 행동이 발생한 후 한참 뒤에 나올 수 있고 이 때문에 행동

        과 보상의 연결이 어려워짐

    -> 행동마다 보상이 있는 것이 아니라 행동을 10번 해야 보상이 1번 나타나거나 과거 처음 한 행동의 보상이 주어진다면          이 보상이 어떤 행동 덕분인지 책임 소재가 불분명해지면서 그만큼 학습이 어려워짐

 

3. 에이전트와 환경

에이전트가 액션을 하고 그에 따라 상황이 변하는 것을 하나의 루프라고 할 때 이 루프가 끊임없이 반복되는 것을 순차적 의사결정 문제라고 함

  - 에이전트

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

    에이전트 입장에서 위의 루프는 3단계로 나누어짐

 

    1. 현재 상황 st 에서 어떤 액션을 해야 할지 at를 결정

    2. 결정된 행동 at를 환경으로 보냄

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

 

  - 환경

    에이전트를 제외한 모든 요소를 환경이라고 함

    현재 상태에 대한 모든 정보를 숫자로 표현하여 기록해 놓으면 그것을 상태라고 함

    환경은 상태 변화를 일으키는 역할을 함

 

    1. 에이전트로부터 받은 액션 a(t)를 통해 상태 변화를 일으킴

    2. 그 결과 상태는 st->s(t+1)로 바뀜

    3. 에이전트에게 줄 보상 r(t+1)도 함께 계산

    4. s(t+1)과 r(t+1)을 에이전트에게 전달

   에이전트가 s(t)에서 a(t)를 시행하고, 이르 통해 환경이 s(t+1)로 바뀌면 하나의 루프가 끝남