냥냥펀치데스
BAO_BAO
냥냥펀치데스
  • 분류 전체보기
    • AI 공부
      • AI 끄적
      • ML 끄적
      • DL 끄적
      • 데이터 끄적
      • RL 끄적
      • GAN 끄적
    • 끄적이기
      • etc
      • 독서
    • 컴퓨터 공부
      • 운영체제
      • ADsP 공부
      • 파이썬 공부
      • etc
    • 코딩공부
      • 문제 풀이
    • 금융공학
      • BackTrader 공부
      • etc
      • 논문구현
      • 퀀트 투자 공부
      • 전략 연습
    • 블록체인
      • ICO 분석
      • etc

인기 글

최근 글

전체 방문자
오늘
어제

티스토리

hELLO · Designed By 정상우.
냥냥펀치데스

BAO_BAO

강화학습 겉햙기(3)[벨만 방정식]
AI 공부/RL 끄적

강화학습 겉햙기(3)[벨만 방정식]

2021. 5. 20. 23:25
728x90

강화학습에서도 미래의 보상을 전부 경험하지 않더라도,

현재의 상태에서 예측을 통해 미래의 상태를 가늠해 볼 수 있다.

벨만 방정식은 이처럼 현재 상태와 미래의 성공확률에 대한 연결을 수식화 해준다.

이것을 공부하는 관점에서 바라보면, 시점 t에서의 밸류와 시점 t + 1 에서의 밸류 사이의 관계를 다루고 있으며 또 가치 함수와 정책 함수 사이의 관계도 다룬다. 

 

벨만 기대 방정식을 3단계로 나누어서 생각해보자 

 

● 0 단계 :

상태- 가치 방정식

위수식을 조금 풀어서 쓰면 다음과 같이 풀수 있습니다.

이것은 리턴이 먼저 한 스텝만큼 진행하여 보상을 받고, 그 다음 상태인 st+1부터 미래에 받을 보상을 더해줘도 똑같지 않겠느냐 하는것입니다.

 

 

윗 수식을 보자면 Rt+1은 현재 행동을 선택했을 때 즉각적으로 일어나는 결과, 즉 보상 r이 된다.

그리고 γGt+1은 더 미래에 일어날 일들에 대한 결과이다.

그런데 여기서 봐야할 점은 이 기댓값 Eπ 입니다.

처음 s 에서 시작해서 s'이 정해지기까지 두번의 확률적인 과정을 거쳐야한다.

이때 처음시작은 정책이 액션을 선택하고 그 다음은 환경에 의하여 두번째 동전을 시행한다.

이때 s -> a1 -> s'1 될 확률은 s 가 a1 으로 갈때 비로소 생긴다.

이 s -> a1 이 될 확률을 수식으로 표현하면 π(a1|s) 이라 말할수 있다.

이에 기존 수식을 더 풀어서 표현하자면 이렇다

● 1 단계 :

 

상태-가치 벨만방정식

위 수식을 보면 액션밸류 qπ(a|s) 를 이용하여 상태 밸류 vπ(s) 를 표현하는 식입니다

 

이것을 그림으로 표현하자면 이렇습니다.

정책은  π 로 고정되었을때 vπ(s) = 0.6 * 1 + 0.4 * 2 = 1.4

그래서 우리가 만약 어떤 상태에서 선택할수 있는 모든 액션의 밸류를 알고있다면, 이를 이용해 해당 상태의 밸류를 계산할수 있습니다.

 

그렇다면 반대로 상태의 밸류를 이용해 액션의 밸류를 평가할수 있을까?

행동-가치 벨만방정식

위 수식을 보면  vπ 를 이용해 qπ 를 표현하고자 하는 것입니다

이것을 그림으로 표현하자면 이렇습니다.

정책은  π 로 고정되었을때 qπ(s,a) = 0.5 +0.7 * 1.5 + 0.3 * (-1) = 1.25

그래서 우리가 만약 어떤 상태에서 선택할수 있는 모든 액션의 밸류를 알고있다면, 이를 이용해 해당 상태의 밸류를 계산할수 있습니다.


● 2 단계 :

2단게를 마지막으로 진행되어지는데. 이것을 들여다보면 S 에서 a 가 일어날 확률 과 s 에서 a 를 실행하는 것의 밸류를 실행한다. 이때 행동-가치 기대 방정식은 또다시 기댓값으로 풀어지게 되는데, 미래에 일어날 모든 일의 평균치와 같은 것이다.

위 수식의 기댓값은 재귀적으로 끝날때까지 계속 이어질 수 있다.

 

지금까지 우리는 보상함수 r 과 전이함수 P에 대한 정보를 알고 있는 상태에서 MDP 를 구상했습니다.

그러나 우리는 MDP 에 대한 정보를 모르는 상황에서도 강화 학습을 해야합니다.

이러한 상황에서 우리는 보상을 경험을 통해 깨우치고 전이함수를 이해합니다.

이러한 접근법을 모델-프리 접근법이라고 합니다.

반대로 지금처럼 r 과 P 에 대해서 알고있는 상태라면 이를 모델 기반 혹은 플래닝 이라고 합니다

 

벨만 최적 방정식

최적 밸류와 최적 정책

벨만 기대 방정식이 vπ(s) 와 qπ(s,a) 에 대한 수식이라면 벨만 최적 방정식은 v*(s) 와 q*(s,a) 에 대한 수식입니다. vπ(s) 와 qπ(s,a) 는 모두 정책이 π 로 고정되었을때의 밸류라면 v*(s) 와 q*(s,a) 는 최적 밸류에 대한 함수 입니다. 이것을 말로 풀어보자면 MDP 안에 정책π 중 가장 좋은 π* 를 선택하는 것입니다.

그림을 통하여 설명하자면

v*(s) = maxq*(s,a) = max(q*(s,a1),q*(s,a2)) = max(1,2) = 2 입니다

여기서 확률을 계산하지 않는 이유는 100% 의 확률로 a2가 100% 일때 최적의 밸류를 얻게 해주기 때문입니다.

reference : https://jyoondev.tistory.com/142?category=826957

 

강화학습 - (9) 벨만방정식

강화학습 벨만방정식 (Bellman Equation) 현실에서 우리는 피드백을 받지 않고도 많은 것을 배울 수 있다. 처음 자전거를 타고 있다고 가정해 보자. 자전거를 타다가 넘어진 뒤 바위에 부딛쳐 무릎을

jyoondev.tistory.com

https://zoomkoding.github.io/%EA%B0%95%ED%99%94%ED%95%99%EC%8A%B5/2019/07/19/RL-2.html

 

줌코딩의 코딩일기

Zoom in Coding from the Basic.

zoomkoding.github.io

https://coalery.github.io/2020-10-24-bgm-ai-study-introduction-mdp/

 

마르코프 결정 과정(MDP)

마르코프 결정 과정(MDP) 마르코프 결정 과정은 아래처럼 구성되어있다. 상태(State)들의 집합 S 행동(Action)들의 집합 A 전이 함수 P : S×A → S 보상 함수 R : S×A → 실수 집합 R 할인율 𝛾 ∈ [0, 1] 정

coalery.github.io

강화학습 한글자료(PDF) : https://www.gitbook.com/book/dnddnjs/rl/details.

파이썬과 케라스로 배우는 강화학습 : http://wikibook.co.kr/reinforcement-learning/ 

Reinforcement Learning: An introduction: http://www.incompleteideas.net/book/bookdraft2017nov5.pdf

 

 

저작자표시 (새창열림)

'AI 공부 > RL 끄적' 카테고리의 다른 글

강화학습 겉햙기(6)[에이전트]  (0) 2021.05.25
강화학습 겉햙기(5)[Deep RL]  (0) 2021.05.25
강화학습 겉햙기(4)[MDP 접근법]  (0) 2021.05.22
강화학습 겉햙기(2)[마르코프 결정 프로세스]  (0) 2021.05.19
강화학습 겉햙기(1)  (0) 2021.05.19
    'AI 공부/RL 끄적' 카테고리의 다른 글
    • 강화학습 겉햙기(5)[Deep RL]
    • 강화학습 겉햙기(4)[MDP 접근법]
    • 강화학습 겉햙기(2)[마르코프 결정 프로세스]
    • 강화학습 겉햙기(1)
    냥냥펀치데스
    냥냥펀치데스
    데이터 를 공부하는 무지몽매한 자입니다

    티스토리툴바