강화학습 기본 용어

Seulgi Kim·2023년 4월 23일
0

reinforce learning

목록 보기
1/14

Unity ML Agent

강화학습 에이전트를 학습시키기 위한 도구

Machine Leraning

코드로 명시하지 않은 동작을 데이터로부터 학습하여 실행할 수 있도록 하는 연구분야.
ex) Decision Tree, SVM, Random Forest, ...

세 가지 분야

  1. 지도학습 (Supervised Learning) : Regression, Classification
  2. 비지도학습 (Unsupervised Learning) : Clustering
  3. 강화학습 (Reinforce Learning) : Agent가 환경에서 보상을 얻으며 보상을 최대화하는 방향으로 학습

MDP (Markov Decision Process)

강화학습은 순차적으로 행동을 결정하는 문제를 풀기 위한 기법이다.
MDP는 순차적 의사결정 과정을 수학적으로 모델링한 기법.

5가지 구성요소

상태, 행동, 보상함수, 상태변환확률, 감가율

강화학습 기본 용어

에이전트 (Agent)

강화학습에서 의사결정하는 대상

환경 (Environment)

에이전트의 의사결정을 반영하고, 에이전트에게 정보를 주는 시스템

관측 (Observation)

환경에서 제공하는 정보
시각적 관측 (Visual Observation) : 정보를 이미지로 표시한 것
수치적 관측 (Vector Observation) : 정보를 값들의 집합인 벡터로 표시한 것
특정 시점 t에서의 관측을 oto_t로 표시

상태 (State)

현재 에이전트가 상황을 인지하기 위해 사용하는 정보
에이전트는 상태를 기반으로 의사결정을 수행
특정 시점 t에서의 상태를 sts_t라 표기
ex) 이전 스텝의 관측과 행동을 누적하여 사용, 관측 정보의 일부나 전체를 사용

행동 (Action)

에이전트가 의사결정을 통해 취할 수 있는 행동
이산적인 행동 (Discrete Action) : 선택지
연속적인 행동 (Continuous Action) : 실수값 입력
특정 시점 t에서의 행동을 ata_t라 표기
행동의 단위
Step : 에이전트가 한 번 취하는 행동
Episode : 게임 한 판이 끝나는 시점 (여러 스텝으로 이루어질 수 있다)

정책 (Policy)

특정 상태에서 취할 수 있는 행동을 선택할 확률 분포
일반적으로 π\pi로 표기
ex) π(as)={0.4 if a=up0.4 if a=left0.1 if a=down0.1 if a=right\pi(a|s)= \begin{cases} 0.4 {~\rm if}~a={\rm up} \\ 0.4 {~\rm if}~a={\rm left} \\ 0.1 {~\rm if}~a={\rm down} \\ 0.1 {~\rm if}~a={\rm right} \end{cases}
(π\pi=정책, aa=행동, ss=상태)

보상 함수 (Reward Function)

에이전트가 특정 상태에서 특정 행동을 했을 때 얻는 보상을 함수로 나타낸 것.
특정 상태 ss에서 특정 행동 aa를 했을 때 얻는 보상의 기댓값을 RsaR^a_s로 나타냄.
Rsa=E[Rt+1  St=s,At=a]R^a_s=E[R_{t+1}~|~S_t=s,A_t=a]

상태 변환 확률 (State Transition Function)

상태 ss에서 행동 aa를 했을 때 다음 상태가 ss'이 될 확률
일반적으로 상태 변환 확률을 PssaP^a_{ss'}으로 표기

감가율 (Discount Function)

강화학습은 현재 상태에서 행동을 취했을 때 얻는 보상 뿐만이 아닌, 미래의 보상도 고려해야 한다.
이때 미래에 받을 보상을 현재의 보상과 똑같은 비율로 고려하는 것이 아닌, 감가(discount, γ\gamma로 곱해줌)하여 비율을 고려한다.
미래의 보상을 얼마나 감가(discount)할 지 결정해주는 비율
일반적으로 γ\gamma로 표기
γ[0,1]\gamma\in[0,1]
현재 시점 tt에서 행동 aa를 취했을 때 얻는 보상을 Rt+1R_{t+1}이라 하면, t+kt+k 시점에서 얻는 보상은 γk1Rt+k\gamma^{k-1}R_{t+k}가 된다.

반환값 (Return)

감가율을 고려한 보상들의 합
일반적으로 GG로 표기
Gt=Rt+1+γRt+2+γ2Rt+3+G_t=R_{t+1} + \gamma R_{t+2} + \gamma^2 R_{t+3} + \cdots

강화학습의 목적

보상을 최대화하는 의사 결정 방법을 학습하는 것.
에이전트가 모든 상태에서 보상을 최대화할 수 있는 행동을 선택해야 함.
현재 상태에서 이동할 수 있는 다음 상태 중 가장 가치가 높은 상태로 이동할 수 있는 행동

가치

상태의 반환 값에 대한 기댓값

가치 함수 (Value Function)

가치함수는 특정 상태에 대한 가치를 도출하는 함수
입력으로 상태를 받고 해당 상태의 가치를 출력해준다.
V(s)=E[GtSt=s]V(s) = E[G_t|S_t=s]
현재 시점 tt에서의 상태가 ss이고 특정 행동들 aAa\in A를 취했을 때, 그때의 반환값 GtG_t의 기댓값.
가치함수를 통해 표현한 최적의 행동 : a=argmaxaAV(s)a^*=argmax_{a \in A} V(s')
강화학습은 다음 상태의 보상을 고려하는 것이 아니라 다음 상태의 가치를 고려해야 함.

큐 함수 (Q Function)

각 상태에서 특정 행동에 대한 가치를 도출하는 함수.
입력으로 상태와 행동을 받고 해당 상태에서 각 행동에 대한 가치를 출력.
Q(s,a)=E[GtSt=s,At=a]Q(s,a) = E[G_t|S_t=s,A_t=a]
큐 함수를 통해 표현한 최적의 행동 : a=argmaxaAQ(s,a)a^*=argmax_{a \in A}Q(s,a)

0개의 댓글