Epsilon-greedy 정책

이전의 내용에서 행동을 선택하는 정책은 단순히 뉴럴 네트워크가 가장 높은 Q(s, a)를 출력하는 행동 a를 선택하는 것이었습니다.

하지만 이 정책을 가장 효과적인 방식이라고 할 수는 없습니다. 왜냐하면 우리의 뉴럴 네트워크는 처음에 무작위로 초기화되고, 그래서 차선의 행동들을 임의로 선택할 가능성이 있기 때문입니다.

다시 말해서, 에이전트가 전체 게임의 모든 상태-행동-보상 공간을 탐색하지 못하고 최선이 아닌 차선의 선택들을 하게 될 수 있습니다. 게임의 가장 좋은 전략을 찾지 못하는 것을 의미합니다.


탐색과 활용

이제 탐색 (exploration)활용 (exploitation) 이라는 두가지 개념을 이해할 필요가 있습니다.

최적화 문제의 시작점에 있어서 좋은 지역 최소값 (local minima) 또는 가능하다면 전역 최소값 (global minima)을 찾기 위해서 주어진 문제 공간을 광범위하게 탐색하는 것이 좋습니다. 하지만 공간을 적절하게 한 번 탐색하고 나면, 이제 발견한 것들을 잘 활용하면서 가장 작은 최소값을 찾는 것이 최적화 알고리즘이 좋은 해답을 찾는데 있어서 가장 좋은 방법입니다.

_images/exploration_and_exploitation.png

Epsilon-greedy 정책의 탐색 (exploration)과 활용 (exploitation).


그래서 강화학습에 있어서, (특히 훈련의 초반일수록) 행동을 선택하는데 있어서 약간의 임의성 (randomness)을 부여합니다. 그리고 이 임의성을 \(\epsilon\) 값으로 정의합니다.

만약 0에서 1 사이의 임의의 숫자를 얻었을 때, \(\epsilon\) 값보다 작다면, 임의의 행동을 선택합니다. 그리고 \(\epsilon\) 값보다 크다면, 뉴럴 네트워크의 출력값에 근거해서 행동을 선택합니다. 이 \(\epsilon\) 값은 학습 초반에 크고 학습이 이루어 질수록 0에 가까운 값으로 작아집니다. 이렇게 해서, 학습의 초반에 더 많은 가능성들을 탐색하고, 학습의 후반에 뉴럴 네트워크가 좋은 정답을 출력할 수 있도록 합니다.

사람에 비유하면, 이런저런 경험을 많이 해본 사람이 시간이 지나고 나면 여러가지를 고려한 좋은 선택을 할 수 있는 것과 비슷하다고 할 수 있습니다.



이전글/다음글

이전글 :
다음글 :