eric9687.log
로그인
eric9687.log
로그인
강화학습 기초 [1] - 기초 용어 및 기초 이론
eric9687
·
2022년 4월 19일
팔로우
0
강화학습
0
강화학습 기초용어
MDP (Markov Decision Process)
강화학습은 순차적 행동을 결정하는 문제를 푸는데, 그때의 기초가 되는 기법
구성 요소: 상태, 행동, 보상함수, 상태 변환 확률, 감가율
에이전트 Agent
강화학습에서 의사결정을 하는 역할
환경 Environment
에이전트의 의사결정을 반영하고 에이전트에게 정보는 주는 시스템
관측 Observation
환경에서 제공하는 정보
종류
시각적 관측(visual observation): 정보를 이미지로 표현
수치적 관측(vector observation): 정보를 값들의 집합인 벡터로 표현
일반적으로 시점에서의 관측은 Ot
상태 State
에이전트의 의사결정 기반, 상황 인지를 위한 정보
이전 단계의 관측과 향동들을 저장하여 누적 및 사용
관측 정보 전부를 사용
관측 정보 중 일부만 사용
St: t시점에서의 상태
행동 Action
에이전트의 의사결정을 통해 취하는 동작
종류
이산적인 행동(Discrete Action): 행동의 선택지가 있어서 선택 가능
연속적인 해동(Continuous Action): 특정 값(실수)을 수치로 입력하여 행동
at: t시점에서의 행동
단위:
스텝 step: 에이전트가 한번 행동을 취함
에피소드 episode: 모든 스텝이 끝남
정책 Policy
특정 상태에서 취할 수 있는 행동을 선택할 확률 분포
π
\pi
π
라고 표기
보상함수 Reward Function
에이전트는 특정 상태에서 특정 행동을 했을 때 이에 해당하는 보상을 받음
R
s
a
=
E
[
R
t
+
1
∣
S
t
=
s
,
A
t
=
a
]
R_s^a=E[R_{t+1}|S_t=s,A_t=a]
R
s
a
=
E
[
R
t
+
1
∣
S
t
=
s
,
A
t
=
a
]
: 특정행동 a 를 수행했을때의 기댓값
상태 변환 확률 State Transition Function
상태 s에서 행동 a를 했을 때 다음 상태가 s'가 될 확률
P
S
S
′
a
P_{SS'}^a
P
S
S
′
a
감가율 Discourt Factor
미래의 보상을 얼마나 감가할지의 비율
γ
∈
[
0
,
1
]
\gamma\in[0,1]
γ
∈
[
0
,
1
]
반환값 Return
감가율을 적용한 보상들의 합
G
G
G
G
t
=
R
t
+
1
+
γ
R
t
+
1
+
γ
2
R
t
+
1
.
.
.
G_t=R_{t+1}+\gamma R_{t+1}+\gamma ^2 R_{t+1}...
G
t
=
R
t
+
1
+
γ
R
t
+
1
+
γ
2
R
t
+
1
.
.
.
가치함수와 큐함수
강화학습은 보상을 최대화하는 의사결정 방법을 학습하는 것이 목적이다.
- 에이전트는 모든 상태에서 보상을 최대화할 수 있도록 선택해야한다.
현재 상태에서 이동할수 있는 당므상태중 가장 큰 가치(value)가 높은 상태로 이동할 수 있는 행동
가치: 상태의 반환값에 대한 기대값
가치함수 Value function: 특정 상태에 대한 가치를 도출하는 함수
V
(
s
)
=
E
[
G
t
∣
S
t
=
s
]
V(s)=E[G_t|S_t=s]
V
(
s
)
=
E
[
G
t
∣
S
t
=
s
]
->
V
(
s
)
=
E
[
R
t
+
1
+
γ
R
t
+
1
+
γ
2
R
t
+
1
.
.
.
∣
S
t
=
s
]
V(s)=E[R_{t+1}+\gamma R_{t+1}+\gamma ^2 R_{t+1}...|S_t=s]
V
(
s
)
=
E
[
R
t
+
1
+
γ
R
t
+
1
+
γ
2
R
t
+
1
.
.
.
∣
S
t
=
s
]
a
∗
=
a
r
g
m
a
x
a
∈
A
V
(
s
′
)
a^*=argmax_{a\in A}V(s')
a
∗
=
a
r
g
m
a
x
a
∈
A
V
(
s
′
)
: 가치함수를 통해 표현한 최적의 행동
큐함수 Q function: 각 상태에서 특정 행동에 대한 가치를 도출하는 함수
Q
(
s
,
a
)
=
E
[
G
t
∣
S
t
=
s
,
A
t
=
a
]
Q(s,a)=E[G_t|S_t=s,A_t=a]
Q
(
s
,
a
)
=
E
[
G
t
∣
S
t
=
s
,
A
t
=
a
]
->
Q
(
s
,
a
)
=
E
[
R
t
+
1
+
γ
R
t
+
2
+
γ
2
R
t
+
3
+
.
.
.
.
∣
S
t
=
s
,
A
t
=
a
]
Q(s,a)=E[R_{t+1}+\gamma R_{t+2}+\gamma ^2R_{t+3}+....|S_t =s,A_t=a]
Q
(
s
,
a
)
=
E
[
R
t
+
1
+
γ
R
t
+
2
+
γ
2
R
t
+
3
+
.
.
.
.
∣
S
t
=
s
,
A
t
=
a
]
a
∗
=
a
r
g
m
a
x
a
∈
A
Q
(
s
,
a
)
a^*=argmax_{a\in A}Q(s,a)
a
∗
=
a
r
g
m
a
x
a
∈
A
Q
(
s
,
a
)
: 큐함수로 표현한 행동
기초 이론
벨만 방정식 Bellman Equation
: 현재 상태의 가치함수와 다음 상태의 가치함수의 관계를 표현한 식.
V
π
(
s
)
=
E
π
[
G
t
∣
S
t
=
s
]
=
E
π
[
R
t
+
1
+
γ
R
t
+
1
+
γ
2
R
t
+
1
.
.
.
∣
S
t
=
s
]
=
E
π
[
R
t
+
1
+
γ
(
R
t
+
1
+
γ
R
t
+
1
.
.
.
)
∣
S
t
=
s
]
=
E
π
[
R
t
+
1
+
γ
V
π
(
s
t
+
1
)
∣
S
t
=
s
]
V_\pi(s)=E_\pi[G_t|S_t=s]=E_\pi[R_{t+1}+\gamma R_{t+1}+\gamma ^2 R_{t+1}...|S_t=s]=E_\pi[R_{t+1}+\gamma (R_{t+1}+\gamma R_{t+1}...)|S_t=s]=E_\pi[R_{t+1}+\gamma V_\pi(s_{t+1})|S_t=s]
V
π
(
s
)
=
E
π
[
G
t
∣
S
t
=
s
]
=
E
π
[
R
t
+
1
+
γ
R
t
+
1
+
γ
2
R
t
+
1
.
.
.
∣
S
t
=
s
]
=
E
π
[
R
t
+
1
+
γ
(
R
t
+
1
+
γ
R
t
+
1
.
.
.
)
∣
S
t
=
s
]
=
E
π
[
R
t
+
1
+
γ
V
π
(
s
t
+
1
)
∣
S
t
=
s
]
벨만 기대 방정식:
V
π
(
s
)
=
E
π
[
R
t
+
1
+
γ
V
π
(
s
t
+
1
)
∣
S
t
=
s
]
V_\pi(s)=E_\pi[R_{t+1}+\gamma V_\pi(s_{t+1})|S_t=s]
V
π
(
s
)
=
E
π
[
R
t
+
1
+
γ
V
π
(
s
t
+
1
)
∣
S
t
=
s
]
큐함수에 대한 벨만 방정식:
q
π
(
s
,
a
)
=
E
π
[
R
t
+
1
+
γ
q
π
(
S
t
+
1
,
A
t
+
1
∣
S
t
=
s
,
A
t
=
a
]
q_\pi(s,a)=E_\pi[R_{t+1}+\gamma q_\pi(S_{t+1},A_{t+1}|S_t=s,A_t=a]
q
π
(
s
,
a
)
=
E
π
[
R
t
+
1
+
γ
q
π
(
S
t
+
1
,
A
t
+
1
∣
S
t
=
s
,
A
t
=
a
]
벨만 최적 방정식:
강화학습의 목적은 최적의 의사결정을 통해 보상을 최대화
따라서, 현재 정책에 대해서 최적의 가치함수를 찾는 것이 포인트
최적의 가치함수 = 가능한 정책 중 제일 높은 가치를 반환하는 가치함수
v
∗
(
s
)
=
m
a
x
π
v
π
(
s
)
=
m
a
x
a
E
[
R
t
+
1
+
γ
V
π
(
s
t
+
1
)
∣
S
t
=
s
,
A
t
=
a
]
v_*(s)=max_\pi v_\pi (s)=max_aE[R_{t+1}+\gamma V_\pi(s_{t+1})|S_t=s,A_t=a]
v
∗
(
s
)
=
m
a
x
π
v
π
(
s
)
=
m
a
x
a
E
[
R
t
+
1
+
γ
V
π
(
s
t
+
1
)
∣
S
t
=
s
,
A
t
=
a
]
m
a
x
π
q
π
(
s
,
a
)
=
E
[
R
t
+
1
+
γ
m
a
x
a
′
q
∗
(
S
t
+
1
,
a
′
)
∣
S
t
=
s
,
A
t
=
a
]
max_\pi q_\pi(s,a)=E[R_{t+1}+\gamma max_{a'}q_*(S_{t+1,a'})|S_t=s,A_t=a]
m
a
x
π
q
π
(
s
,
a
)
=
E
[
R
t
+
1
+
γ
m
a
x
a
′
q
∗
(
S
t
+
1
,
a
′
)
∣
S
t
=
s
,
A
t
=
a
]
탐험과 이용(Exploration & Exploitation)
에이전트가 최적 정책을 찾기 위해서 여러상황에서 다양한 액션을 경험
탐험: 무작위 탐색 방법(Random Exploration)도 한가지 방법인지만, 시간적인 면에서 비효율적일 수 있다.
이용: 학습된 결과에 따라 에이전트의 행동이 결정됨(탐욕법-greedy method)
최적의 정책 = 탐색과 이용이 적절한 밸런스를 맞춤
ϵ
\epsilon
ϵ
-greedy:
탐험과 이용의 비율에 따라 결정하는 방법.
ϵ
=
0.8
\epsilon = 0.8
ϵ
=
0
.
8
: 80%의 확률로 무작위 탐색, 나머지는 탐욕법
처음엔
ϵ
\epsilon
ϵ
을 1로 시작하여, 점차 줄여 특정값(일반적으로 0.1)으로 줄여가고, 마지막엔 0으로 마무리.
eric9687
그러나 먼저 된 자로서 나중되고 나중 된 자로서 먼저될 자가 많으니라(마:19:30)
팔로우
이전 포스트
[SIGGAPH_2020] Local motion Phases for Learning Multi-Contact Movements
다음 포스트
강화학습 기초 [2] - Unity와 ML agents
0개의 댓글
댓글 작성