AI & Data/Reinforcement Learning

[강화학습] 1. Introduction to Reinforcement Learning

테드리 2024. 2. 6. 23:06

강화학습$($Reinforcement Learning$)$이란?

 

강화학습$($Reinforcement Learning, RL$)$은 머신러닝의 한 분야로, 에이전트가 환경과의 상호작용을 통해 어떤 목표를 달성하기 위한 최적의 행동 전략을 학습하는 과정이다. 

 

여기서 중요한 점은 강화학습은 머신러닝의 학습 기법 중 하나이지만, 학습하는 방식은 일반적인 머신러닝과는 다르다는 점이다. 

 

머신러닝과 강화학습의 차이점

  학습 방식 피드백의 형태 환경 사용 데이터
머신러닝 -Supervised Learning

-Unsupervised Learning
-Instant Feedback

-Correct Answer
-Static Dataset -Fixed Dataset
강화학습 -No Supervisor

-By Trial and Error

-By Reward
-Sequential & Delayed Feedback

-Maximize the Sum of Rewards
-Interaction of Agent and Environment -Generated Data 

-Time Dependent Data

 

 

강화학습은 순차적인 피드백 시행착오를 통해 학습한다.

 

이러한 유형의 작업에서는 사람이 데이터에 레이블을 지정하지 않으며, 사람이 데이터 수집을 수집하거나 명시적으로 설계하지 않는다. RL의 목표는 행동하는 것이다.

 


 

강화학습에 필요한 요소들

출처: https://minsuksung-ai.tistory.com/13

 

강화학습의 학습 과정을 간단히 요약하면 다음과 같이 요약할 수 있다.

 

 

주어진 Environment 내에서 Agent가 Reward를 최대화하기 위한 목적으로 현재 State에서 다음 State로의 Action을 취하는 학습 과정

 

 

 

실생활에서 게임을 하고 있는 플레이어의 예시를 생각해보자.

 

플레이어가 처음 게임을 시작할 때는 게임의 규칙이나 목표를 모르는 상태에서 출발한다. 플레이어는 게임을 진행하면서 다양한 버튼을 누르고, 게임 환경으로부터 바로 피드백, 즉 보상을 받는다. 예를 들어, 적을 성공적으로 물리치면 점수를 얻고, 장애물에 부딪히면 생명을 잃게 된다.

 

이러한 시행착오를 통해 플레이어는 점점 게임을 어떻게 플레이해야 하는지, 어떤 행동이 좋은 결과로 이어지는지 학습하게 된다.

 

즉, 게임이라는 주어진 환경 속에서 플레이어가 높은 점수를 획득하기 위해 게임을 플레이하는 방법을 터득하는 과정과 유사하다고 볼 수 있다.


 

 

1. Agent$($에이전트$)$

 

에이전트는 학습을 하는 주체로, 환경과 상호작용하면 행동에 대한 의사결정을 하는 주체이다. 에이전트의 목표는 보상을 최대화하는 것이다. 강화학습의 맥락에서, 에이전트는 최적의 행동을 학습하는 소프트웨어 프로그램이라고 봐도 무방하다.

 

 

2. Environment$($환경$)$

 

 환경은 에이전트가 상호작용하는 외부 세계를 의미한다. 에이전트의 행동에 따라 반응하며, 이 반응은 에이전트에게 피드백을 제공한다.

 

 

3. State$($상태$)$

 

상태는 에이전트가 인식할 수 있는 환경의 표현이다. 에이전트의 결정은 현재 상태에 기반하여 이루어지며, 상태는 시간에 따라 변할 수 있다.

 

$S$는 가능한 모든 상태의 집합을 나타내고, $t$ 시점에서의 상태를 $S_{t}$ 로 표기한다.

 

 

4. Action$($행동$)$

 

행동은 에이전트가 취할 수 있는 모든 가능한 조치로, 에이전트는 현재 상태에서 어떤 행동을 취할지 결정한다.

 

는 주어진 상태 $S$ 에서 에이전트가 취할 수 있는 모든 가능한 행동의 집합을 나타낸다.

$t$ 시점의 상태 $S_{t}$ 에서의 에이전트가 취한 행동은 $A_{t}$로 표기한다.

 

 

5. Reward $($보상$)$

 

보상은 에이전트가 특정 행동을 취했을 때 환경으로부터 받는 피드백이다. 보상의 목표는 에이전트가 장기적으로 최대의 이익을 얻을 수 있는 방향으로 행동을 유도하는 것이다.

 

은 에이전트가 상태 $S_{t}$에서 행동 $A_{t}$를 취했을 때 받는 보상을 나타낸다.

 

 

강화학습 과정

 

  1. 에이전트는 상태 에서 행동 $A_{t}$를 취한다.
  2. 환경은 행동 $A_{t}$에 대응하여 상태를 로 변경하고 보상 $r_{t+1}$을 제공한다.
  3. 에이전트는 새로운 상태 $S_{t+1}$에서 다음 행동을 결정한다.

이 과정에서 에이전트의 목표는 미래의 보상을 최대화하는 행동 정책 $\pi (a|s)$ 를 학습하는 것이다. 여기서 $\pi (a|s)$ 는 상태 $S$ 에서 행동 $A$를 취할 확률을 의미한다.