2022.03.07 - [Deep Learning/RL] - [모두RL-④] Stochastic (non-deterministic)에 이어서 김성훈 교수님의 모두를 위한 RL강좌 lecture 6를 듣고 작성하였다.
만약 Q table이 100x100 table이라면, 혹은 그보다 더 많은 pixel을 가진다면?
연산량이 어마어마할 것이다.
그래서 제안된 기법이 Q-Network이다.
Q-function approximation
테이블을 쓰지 않고,
테이블보다 더 작은 수의 뉴런을 사용해서 이런 네트워크를 만들면
어떤 값이든 출력할텐데...
그 출력하는 값을 우리가 원하는 값으로 approximation하면 되지 않을까?

Q-table과 다르게 state(s)만 input으로 사용한다.
그리고 각 action에 대한 결과(reward)를 출력한다.
즉, 모든 가능한 action에 대해서 Q값을 만들어 내도록 한다.
Q-Network training (linear regression)

위처럼 linear regression network라고 할 때, 예측값(output)은 Ws일 것이다. 이게 Q의 optimal한 값이 되도록 학습해야한다. 우리는 linear regression을 학습할 때 우측 상단의 식처럼, 예측값 (Wx)와 실제값 (y)의 차이가 최소가 되도록 학습해야한다. 이걸 Q-Network로 보면, 예측값(Qpred)이 Ws인 것이고 실제값이
식을 다시 써보면 다음과 같다.
Q-Network training(math notations)
위의 경우를 좀더 일반화 시켜보면,
(Approximate
이를 수식으로 표현하면
그리고 이를 학습하는 방법은 아래 식을 minimize하는

Algorithm

1. Q 초기화
2. 첫번째 s1 만들고 전처리 있을 경우 전처리(
3. a 고르기 (E&E)
4. action을 하면 s와 r을 돌려준다.
5. 학습
1) y를 설정한다.(
- 그 다음 단계의 reward가 없을 때 (마지막단계) 그 단계를 terminal이라고 한다.
이때는 다음 state가 없으므로 r이다.
- 그 이전의 state에서의 y는 앞에서 정의한 Q의 식과 같다.
다시말해 우리가 얻고자 하는
2) loss
하지만 이 방법은
'Deep Learning' 카테고리의 다른 글
[XAI] LIME (0) | 2022.03.22 |
---|---|
[모두RL-⑥] DQN (0) | 2022.03.07 |
[모두RL-④] Stochastic (non-deterministic) (0) | 2022.03.07 |
[모두RL-③] E&E과 discounted future reward (0) | 2022.03.07 |
[모두RL-②] Dummy Q-Learning (table) (0) | 2022.03.06 |
댓글