컴공돌이의 스터디 블로그

[시즌RL].Lecture 4 - Q-Learning exploit&exploration and discounted reward 본문

강의 Study/모두를 위한 머신러닝과 딥러닝 강의

[시즌RL].Lecture 4 - Q-Learning exploit&exploration and discounted reward

제갈초아 2018. 3. 9. 13:34

* 이 글은 홍콩과기대 김성훈 교수님의 무료 동영상 강좌 "모두를 위한 머신러닝과 딥러닝 강의"를 보고 요점을 정리한 글 입니다.


Q-Learning Algorithm



  Reinforcement Learning(강화 학습)에서 Agent가 Action을 결정하는 것을 도와주는 함수를 Q-Function이라고 하고 Q-Function의 출력값을 사용해서 Action을 결정하는 것을 Q-Learning이라고 합니다. Q-Learning의 알고리즘을 수식으로 표현하면 아래와 같습니다.



  하지만 위의 수식을 그대로 사용해서 학습을 하게될 경우, 한번 목표에 도달하게된 경로로만 움직이고 새로운 길을 학습하지 않는다는 문제점이 발생하게 됩니다. 이러한 문제점을 해결하기 위해서는 몇 가지 방법을 사용할 수 있습니다. 그중 대표적인 방법들로는 E-Greedy 방법Random Noise를 더해주는 방법이 있습니다.



E-Greedy



  E-Greedy 방법이란 e값을 설정해준 뒤 random하게 나온 수가 e보다 작으면 새로운 길으로 움직이고 e보다 크면 Max Q가 나온 길로 움직이게 해주는 방법입니다. 이 방법을 통해서 항상 같은 길로 움직이는 게 아닌 새로운 길을 학습할 수 있게 됩니다.


  하지만 여러번의 학습 후 제일 좋다고 생각하는 길을 알아내었을 때도 일정 확률로 새로운 길을 학습하게 된다면 굉장히 비 효율적으로 변하게 됩니다. 이러한 방법을 해결하기 위해서는 위에서 설명한 E-Greedy 방법에 추가적으로 학습한 수가 많으면 많을수록 e값을 작게 만들어 뒤로 갈수록 새로운 길로 움직이는 확률을 줄이는 방법을 사용하고 이러한 방법을 Decaying E-Greedy라고 합니다.



Add Random Noise



  Random Noise를 더해주는 방법은 말 그대로 Q값에 random한 값을 더해주는 방법을 의미합니다. 이 방법을 사용하게 되면 E-Greedy 방법 처럼 새로운 길을 학습할 수 있게 됩니다. 하지만 E-Greedy와 다른 점은 이 방법을 사용하게 되면 완전한 random한 길로 새롭게 움직이는 것이 아니라 Q값이 2번째 혹은 3번째로 큰 길로 움직일 확률이 높다는 점 입니다. 


  Random Noise를 더해주는 방법 또한 E-Greedy 방법과 같이 학습한 수가 많으면 많을수록 Q값에 더해주는 random한 값을 작게 만들어주어서 뒤로 갈수록 새로운 길로 움직이는 확률을 줄여주는 방법을 사용합니다.



Q-Learning Algorithm with Discount Reward



  위에서 설명한 E-Greedy방법 혹은 Random Noise를 더해주는 방법을 통해서 새로운 길을 학습할 수 있게 되었습니다. 하지만 이대로 사용한다면 시작점부터 목표로 움직일수 있는 모든 길의 Q값이 1이 되는 문제점이 발생하게 됩니다. 이 문제점을 해결하기 위해서는 Discount Reward라는 방법을 사용해 주어야 합니다.


  Environment는 확률적입니다. 따라서 현재의 Reward보다 미래의 Reward를 낮게 볼 수 있습니다. 이러한 개념을 적용시킨다면 기존의 전체 Reward를 가 아니라  으로 표현이 가능할 것입니다. 이 공식을 임의의 지점 t에서 부터의 Reward에 적용시켜 본다면 로 표현이 가능하고 이 공식을 바꾸어보면 으로 표현이 가능합니다. Reward의 최대값을 구하기 위해서는 Q-Function의 최대값을 반환하는 Action을 입력해야 하므로 결국 는  임을 알 수 있습니다.




* Summary *

1. E-Greedy 방법 Random Noise를 더해주는 방법을 사용하면 항상 같은 길로 움직이는 게 아닌 새로운 길을 학습할 수 있게 된다.

2.  E-Greedy 방법이란 e값을 설정해준 뒤 random하게 나온 수가 e보다 작으면 새로운 길으로 움직이고 e보다 크면 Max Q가 나온 길로 움직이게 해주는 방법이다.

3. 학습한 수가 많으면 많을수록 e값을 작게 만들어 뒤로 갈수록 새로운 길로 움직이는 확률을 줄이는 방법을 사용하는 방법을 Decaying E-Greedy라고 한다.

4. Random Noise를 더해주는 방법은 말 그대로 Q값에 random한 값을 더해주는 방법이다.

5. Random Noise를 더해주는 방법 또한 E-Greedy 방법과 같이 학습한 수가 많으면 많을수록 Q값에 더해주는 random한 값을 작게 만들어주어서 뒤로 갈수록 새로운 길로 움직이는 확률을 줄여주는 방법을 사용한다.

6. Environment는 확률적이기 때문에 현재의 Reward보다 미래의 Reward를 낮게 보고 이러한 개념을 적용시킨 것이 Discount Reward이다.

7.으로 표현이 가능하다.

반응형
Comments