Lecture 4: Q Learning exploitation & exploration (table)
What I learnt
- Dummy Q Learning은 한 번 길을 알아내면, 효율과 관계없이 계속해서 동일한 선택을 하게 됨. Exploitation 활용은, 이처럼 경험에 기반에 최선의 선택을 계속하는 것을 말함. 맛집을 예시로 든다면, 한 두번 시도해본 곳 중, 가장 맛있었던 곳을 계속해서 방문하는 방법임. 어떻게 보면 좋은 방법처럼 보일 수 있으나, 세상은 넓고 더 맛있는 집이 있을 가능성이 있는데, 이로 인해 얻을 수 있는 더 큰 보상은 포기하게 되는 방법임. 이와 반대의 개념이 Exploration 탐색으로, 가능성을 열어두고 계속 새로운 시도를 해보는 방법을 말함. 탐색을 선택하는 경우, 이미 최고의 길을, 맛집을 찾았음에도 불구하고, 계속 새로운 시도를 하기에 보상을 최대화하지 못할 가능성이 있음. 두 개념은 강화학습에서 매우 중요한 trade-off 관계로, 적절한 수준으로 밸런싱해야 궁극적인 목표인 총 보상의 최대화를 달성할 수 있음.
- Exploitation만 하고 있는 Dummy Q Learning에 액션을 선택하는 단계에서 exploration을 허락하여 최적화하는 방법이 있음.
- E-Greedy: Dummy Q Learning은 순간마다 최선의 선택을 하는 greedy 방법이라고 할 수 있는데, 여기 E(앱실론)을 추가하여 탐색을 허용하고 성능을 향상하는 방법이 있음. e는 0~1 사이의 값을 가질 수 있는 하이퍼파라미터로, 에이전트가 액션을 선택하기 직전, 무작위로 확률을 택하여, 만약 확률이 e보다 작은 경우, 무작위의 탐색을 택하고, e보다 큰 경우 greedy 한 선택을 하는 방법이다. 단순한 방법이지만, exploration의 정도를 e로 조절하여, 단순한 Greedy 방법보다 더 나은 선택의 가능성을 높이고 최적화를 더 효율적으로, 또는 효과적으로 달성할 수 있게 함
- Decaying Greedy: e-greedy의 경우, 탐색을 허용하여 더 나은 성능을 낼 수 있지만, 한편으로는 탐색의 기회가 이미 찾은 최적의 방법을 택하는 것을 방해할 수 있다. 이를 보완하는 방법이 decaying greedy 방법으로, e을 사용하는 것은 같으나 경험의 누적 횟수에 기반에 e의 값을 줄인다. 이는 경험을 많이 할수록, 이미 최선의 방법을 찾았으니 exploitation에 더 집중할 수 있게 하고, 경험이 적으면 최선의 방법을 찾았을 가능성이 적으니 exploration을 더 크게 허용하는 개념에 기초한다.
- Add Random Noise: 앱실론 대신 Q에 무작위로 노이즈를 추가하여, 탐색을 허용하는 방법도 있다. 앱실론을 사용하면 액션에 대한 Q 값을 무시하고 다음 액션을 선택하게 된다. 그러나 무작위 노이즈의 추가는 기존 Q 값에 노이즈가 더해지는 것이므로, 최악 또는 미지의 가능성을 가지는 액션보다는 차선의 Q 값을 가지는 액션이 선택되게 되며 이는 최적화에 긍정적인 영향을 줄 수 있다.
- Add Decaying Random Noise
- 사실 Dummy는 말그대로 dummy 였다. Q값 업데이트 시 보상과 미래 상태와 액션의 최대 Q값을 더했는데, 이러면 매우 비효율적인 방법으로 보상에 도달하는 방법과 최단거리로 이동하는 방법이 동일하게 최적의 방법으로 여겨지게 된다. 이를 보완하여 온전한 Q-Learning의 알고리즘을 만들기 위해서는 discounted factor를 추가하면 된다.
- discounted factor, r, 감마는 보상에 더해지는 미래 최대 Q값에 곱해져서, 보상과 멀어질수록 Q값이 작아지게 한다. 이런 경우, greedy 방법으로 액션을 선택하면, 최단거리로 보상에 도달하는 방법이 더 우선적으로 선택되게 된다.
- 최종적으로 Q Learning은 다음과 같이 Q테이블의 값을 업데이트하게 된다. Q^(S,A) <- r + r * Q(S', A')
- Q learning에서 이상적인 Q를 근사하는 Q^는 determinstic world(상태마다 항상 같은 보상을 주는 환경)과 finite actions (유한한 액션 수)의 경우, 항상 Q를 근사할 수 있게 된다고 함.
What I wonder
- 간단한 알고리즘으로 위 내용만 보고도 충분히 구현까지 완료할 수 있었음. 유한하지 않은 액션을 가지는 경우, determinstic world 가 아닌 경우가 훨씬 더 많을텐데, 이런 경우에도 Q-learning이 보상을 최대화하는데 큰 역할을 할 수 있을지 그렇다면 어떻게 할지 궁금해짐!! 다음 강의를 통해 해소할 수 있을 듯!