세 box 모두 w라는 parameter가 관장
- V(s,w): s를 넣었을 때 value를 return
- action in 상태의 Q(s,a,w): s,a를 넣었을 때 value를 return
- action out 상태의 Q(s,an,w): s만 넣었을 때 s에서 할 수 있는 모든 a들에 대해서 여러개의 output를 return
- differentiable(미분가능한) Function Approximator(모방하는 함수)는 뭘 쓸 수 있나?
:linear combinations of features(특성 가중치 합), Neural network
1. Value Function Approximation By Stochastic Gradient Descent
- 설명:
- 목표는 w라는 파라미터 벡터를 최적화하여, 실제 가치 함수 vπ(S)와 근사된 가치 함수 v(S, w)의 차이를 최소화하는 것이다.
- 이 과정에서 Mean-Squared Error(평균 제곱 오차)를 사용하여 경사 하강법으로 값을 최적화한다.
- 그라디언트 샘플링을 통해 매 스텝마다 업데이트를 수행하게 된다.
- 키워드: Stochastic Gradient Descent, 가치 함수 근사, 경사 하강법, Mean Squared Error
이 슬라이드에서 Baird의 반례(Parameter Divergence in Baird's Counterexample)는 강화 학습에서 Off-policy TD 알고리즘이 발산하는 문제를 설명하기 위해 사용된다.
설명:
- 그래프는 비선형 함수 근사 환경에서 Off-policy TD 알고리즘을 사용할 때 나타나는 파라미터 발산을 보여준다.
- 그래프의 세로축은 파라미터 값 θk(i)를 로그 스케일로 표현하고 있으며, 가로축은 Iteration(k)를 나타낸다.
- 이 예시는 TD 알고리즘이 목표 함수의 그라디언트를 따르지 않기 때문에, 학습 중에 수렴하지 않고 계속해서 발산하는 패턴을 보여준다.
- Baird의 반례는 이런 발산 현상을 통해 Off-policy TD 학습이 안정적이지 않을 수 있다는 것을 시각적으로 나타낸다.
주요 포인트:
- Off-policy TD는 비선형 함수 근사에서 수렴하지 않고 발산할 수 있다.
- 이를 해결하기 위해 Gradient TD와 같은 알고리즘이 필요할 수 있다.
설명:
- On-Policy와 Off-Policy 알고리즘들이 테이블 룩업(Table Lookup), 선형 함수 근사(Linear Function Approximation), 비선형 함수 근사(Non-Linear Function Approximation)에서 어떻게 수렴하는지를 보여준다.
- On-Policy에서는 MC(Monte Carlo), TD(0), TD(λ) 알고리즘이 모두 테이블 룩업과 선형 함수 근사에서 수렴하지만, 비선형 함수 근사에서는 TD(λ)만이 부분적으로 수렴한다.
- Off-Policy에서는 MC가 테이블 룩업에서는 수렴하지만 선형 및 비선형 함수 근사에서는 수렴하지 않는다. TD(0)과 TD(λ)도 비슷하게 테이블 룩업에서만 수렴하며, 선형 및 비선형 함수 근사에서는 수렴하지 않는다.
결론:
- On-Policy 학습 알고리즘은 선형 함수 근사까지는 비교적 안정적으로 수렴하지만, Off-Policy는 주로 테이블 룩업 환경에서만 안정적으로 수렴한다.
- 비선형 함수 근사에서는 대부분의 알고리즘들이 수렴하지 않거나 불안정하게 작동할 수 있다.
설명:
- TD(Temporal-Difference)는 특정 목적 함수의 기울기를 따르지 않는다. 이는 비선형 함수 근사를 사용하거나 Off-Policy일 때 TD가 수렴하지 않거나 발산할 수 있음을 의미한다.
- Gradient TD는 프로젝션된 벨만 오차의 진정한 기울기를 따른다. 이는 TD와 달리 수렴성 문제를 개선한 방식이다.
표에서 보여지는 내용:
- On-Policy와 Off-Policy 환경 모두에서 Gradient TD는 테이블 룩업, 선형 함수 근사, 비선형 함수 근사에서 모두 수렴한다.
- 반면 기본 TD 알고리즘은 테이블 룩업에서는 수렴하지만, 비선형 함수 근사에서는 수렴하지 않는다.
- MC(Monte Carlo)는 테이블 룩업과 선형 함수 근사에서는 수렴하지만, 비선형 함수 근사에서는 수렴하지 않는다.
결론:
- Gradient TD는 벨만 오차의 기울기를 따르기 때문에 더 나은 수렴성을 보이며, Off-Policy와 비선형 함수 근사 환경에서도 수렴이 가능하다.
- 반면 기존의 TD 알고리즘은 수렴성 문제를 겪을 수 있으며, 특히 비선형 함수 근사 환경에서는 발산할 가능성이 있다.
설명:
- DQN은 Experience Replay를 사용하여 에이전트가 경험한 데이터를 재사용함으로써 학습 효율성을 높인다. 즉, 에이전트가 환경과 상호작용하며 얻은 데이터를 저장한 후, 랜덤 샘플을 통해 학습함으로써 학습을 더 안정적이고 다양하게 만든다.
- Fixed Q-targets는 Q-learning에서 타겟 값을 일정 기간 동안 고정하여 학습의 안정성을 유지하는 방법이다. 즉, 타겟 Q 네트워크의 파라미터는 고정된 상태로 업데이트가 진행되며, 일정 주기마다 Q 네트워크가 업데이트된다.
주요 과정:
- 행동 선택: 에이전트는 ε-greedy 정책에 따라 행동 ata_t를 선택한다.
- 경험 저장: 현재 상태 sts_t, 행동 ata_t, 보상 rtr_t, 다음 상태 st+1를 리플레이 메모리 DD에 저장한다.
- 랜덤 샘플링: 리플레이 메모리에서 랜덤으로 미니 배치를 샘플링한다.
- Q-타겟 계산: 고정된 파라미터 w−w^{-}를 사용하여 타겟 Q-값을 계산한다.
- Q-타겟은 r+γmaxQ(s′,a′;w−)r 로 계산되며, 이는 다음 상태에서 최적의 행동을 선택하는 값을 기반으로 한다.
- 손실 최적화: Q-네트워크의 파라미터를 Q-타겟과의 차이를 최소화하는 방향으로 학습한다. 이때 **평균 제곱 오차(MSE)**를 사용하여 손실을 최적화한다.
결론:
- Experience Replay는 에이전트가 경험한 데이터를 재사용하여 학습 효율성을 높이고 데이터 간 상관관계를 줄인다.
- Fixed Q-targets는 Q 네트워크의 타겟 값을 일정 기간 동안 고정하여 학습을 더 안정적으로 만들어준다.
1. Q-learning의 문제점:
기존의 Q-learning에서 Q-value를 테이블 형태로 저장했어. 즉, 각 상태-행동 쌍에 대해 Q-value를 저장하고 업데이트했는데, 이 방법은 상태 공간이 크거나 연속적일 때 문제가 돼. 상태가 너무 많아지면, 그 모든 상태에 대해 Q-value를 저장하기 어렵기 때문이지.
2. DQN에서 신경망(NN)의 역할:
DQN에서는 이 문제를 해결하기 위해 Q-value를 신경망을 이용해 근사해. 다시 말해, 신경망은 상태를 입력으로 받고, 그 상태에서 각 행동에 대한 Q-value를 출력해.
3. DQN에서 신경망의 전체 흐름:
- 입력: 에이전트가 현재 상태 s를 신경망에 입력해.
- 출력: 신경망은 상태 s에 대해 모든 가능한 행동 의 Q-value를 출력해.
- 최적 행동 선택: 이 중에서 maxaQ(s,a)를 선택해서 가장 큰 보상을 줄 것 같은 행동을 취해.
- 보상 및 다음 상태: 해당 행동을 취하고 보상 Rt+1와 다음 상태 s′를 얻어.
- 신경망 업데이트: Q-learning 수식을 기반으로 손실 함수를 계산하고, 경사하강법을 통해 신경망의 가중치 θ를 업데이트해.
4. 신경망이 사용되는 이유:
- 상태 공간이 매우 크거나 연속적인 경우, Q-value 테이블을 직접 저장하는 방식은 불가능해. 대신 신경망을 사용하면 상태를 벡터로 변환해 그에 따른 행동의 Q-value를 예측할 수 있어.
- 신경망을 사용하면 에이전트가 직접 경험하지 않은 상태-행동 쌍에 대해서도 일반화된 예측을 할 수 있어. 즉, 모든 상태를 다 학습하지 않아도 유사한 상태에 대한 Q-value를 추정할 수 있는 거지.
원래는 각 상태 (예: 도로의 형태, 주변 차량의 위치, 속도 등)에 대해 Q-value를 저장해야 하는데, 상태 공간이 너무 크면 각각을 Q-table에 저장하는 건 비효율적이야. 그래서 **신경망(NN)**을 사용해서 그 복잡한 상태들을 입력으로 받고, 그 상태에서의 행동에 대한 Q-value를 예측(뽑아내는) 방식이 DQN이야.
정리:
- 입력: 도로의 형태, 주변 차량 위치, 속도 같은 다양한 정보가 상태로 입력됨.
- 신경망: 이 상태 정보를 NN에 넣으면, 신경망이 그 상태에서 가능한 모든 행동 (예: 가속, 감속, 좌회전, 우회전)에 대한 Q-value를 계산해줘.
- 출력: NN의 출력은 그 상태에서 각 행동의 Q-value들이야. 그 중 가장 높은 Q-value를 가진 행동이 최적 행동이 되는 거지.
그래서 NN은 복잡한 상태 공간을 다루면서도, 상태 공간의 각 상태를 기억하지 않고, 새로운 상태에서도 Q-value를 근사할 수 있게 도와줘.
Q-learning VS SARSA VS DQN (Deep Q-Networks)
1. Q-learning
- Off-policy 알고리즘이다. 즉, 에이전트가 실제로 취한 행동과 상관없이 최적의 행동을 기준으로 Q-value를 업데이트한다.
- 업데이트: 다음 상태에서 가능한 모든 행동 중 가장 높은 Q-value를 선택해서 Q-value를 업데이트한다.
- 장점: 더 빠르게 최적 경로를 찾는 경향이 있다.
- 업데이트 방식:
2. SARSA
- On-policy 알고리즘이다. 즉, 에이전트가 현재 정책에 따라 취한 행동을 기준으로 Q-value를 업데이트한다.
- 업데이트: 다음 상태에서 에이전트가 실제로 선택한 행동에 대해 Q-value를 업데이트한다.
- 장점: 더 안전한 경로를 선택하려는 경향이 있다.-
- 업데이트 방식:
3. DQN (Deep Q-Networks)
- Q-learning의 강화된 버전이다.
- 신경망을 사용해 Q-value를 근사한다. 즉, 상태가 매우 많아 테이블로 표현할 수 없는 문제에서도 적용 가능하다.
- Experience Replay: 이전 경험을 샘플링해 신경망을 학습시킴으로써 더 안정적인 학습을 한다.
- Fixed Q-targets: 일정한 시간 동안 Q-value 업데이트를 고정하여 학습을 더 안정적으로 만든다.
- 업데이트 방식:
차이점 요약:
- Q-learning: 최적의 행동을 기준으로 업데이트 (탐험적, 빠른 최적화).
- SARSA: 실제 취한 행동을 기준으로 업데이트 (보수적, 안전한 경로 선택).
- DQN: Q-learning을 신경망과 고정된 타겟을 사용해 확장한 버전, 더 복잡한 상태 공간에 적합함.
참고: https://smj990203.tistory.com/8 [Don't hesitate:티스토리]
'AI > RL' 카테고리의 다른 글
[RL] 3-2 Model-Free Control (1) | 2024.10.12 |
---|---|
[RL] 3-1 Model-Free Prediction - (TD lambda) (2) | 2024.10.12 |
[RL] 3-1 Model-Free Prediction - (TD) (0) | 2024.10.09 |
[RL] 3-1 Model-Free Prediction - (MC) (0) | 2024.10.09 |
[RL] 2-2 Planning by Dynamic Programming (0) | 2024.10.09 |