7. Q-러닝: 남이 둔 수로 최선의 수를 배운다

자주 하는 실수와 요약

자주 하는 실수
실수 나온 문제 바로잡는 법
SARSA의 목표에 다음 칸에서 가장 좋은 행동의 값을 넣음 1 SARSA는 다음 칸에서 실제로 고른 행동의 값을 넣는다. 가장 좋은 값을 넣는 것은 Q-러닝이다
탐색 차례에 생긴 나쁜 결과를 「운」이라며 학습에서 빼려 함 2 탐색이 계속되는 한 그것은 걷는 방식의 일부다. 온폴리시 학습은 그것까지 셈에 넣는다
비평가가 그리디 디코딩의 값을 배운다고 봄 3 비평가는 롤아웃을 뽑은 정책(샘플링 온도 1)의 값을 배운다
남의 기록에서 다음 수의 실수까지 지금 수의 탓으로 돌림 4 다음 국면의 최선을 목표에 넣으면 남이 둔 기록으로도 최선의 값을 배운다(오프폴리시)
강물이 −50이니 무작위 스텝이 조금만 섞여도 물가 길이 나쁘다고 봄 5 아끼는 스텝 수와 빠지는 기대 손해를 비교한다. 이 산책로에서는 ε\textcolor{#cc00ff}{\varepsilon} ≈ 0.0185가 갈림점이다
리플레이 버퍼의 지난 기록이면 SARSA로 지금 정책을 배울 수 있다고 봄 6 기록 속 다음 행동은 지난 정책의 것이다. 지난 경험으로 지금 정책을 배우려면 Q-러닝처럼 다음 칸의 최선을 지금 표로 셈한다
무작위 차례에서는 가장 좋은 행동이 뽑히지 않는다고 봄 7 가장 좋은 행동의 확률은 1−ε+ε/K1 - \textcolor{#cc00ff}{\varepsilon} + \textcolor{#cc00ff}{\varepsilon}/\textcolor{#0033ff}{K} 다
그리디로 고르다 보면 결국 더 좋은 것으로 돌아온다고 봄 8 다시 고르지 않는 행동의 어림값은 고쳐지지 않는다. 한 번 밀리면 영영 밀릴 수 있다
행동이 수만 개여도 ε-그리디의 탐색이 쓸모 있다고 봄 9 균일한 무작위는 거의 늘 엉뚱한 행동을 시험한다. 언어 모델은 자기 분포로 샘플링해 탐색한다
1등으로 고른 것의 점수를 그 참값으로 읽음 10, 12 여럿 가운데 가장 좋아 보여서 고른 값은 부풀어 있다. 다시 재거나 깎아서 읽는다
평균이 모두 0이면 가장 큰 어림값의 평균도 0이라고 봄 11 E[max⁡]≥max⁡E\mathbb{E}[\max] \ge \max \mathbb{E}. 고르는 노이즈와 읽는 노이즈를 떼면(두 벌 어림) 편향이 사라진다
요약

상태의 가치만으로는 다음 칸을 모르면 행동을 고를 수 없으므로, (상태, 행동) 짝의 값인 행동 가치를 직접 배운다. 행동 가치를 알면 지도 없이도 값이 가장 큰 행동을 고르면 된다.

SARSA는 「받은 보상 + 다음 칸에서 실제로 고른 행동의 값」을 목표로 행동 가치를 고친다. 경험을 모은 정책과 배우는 정책이 같은 온폴리시 학습이라, 탐색으로 생긴 무작위 스텝까지 셈에 넣은 값을 배운다. 강가 산책로에서 SARSA는 물가에서 두 줄 떨어진 13스텝 길을 골랐고, 학습하는 동안 받은 리턴은 −17.51이었다.

Q-러닝은 목표에 다음 칸의 가장 큰 행동 가치를 넣는다. 다음 칸에서 누가 무엇을 골랐든 거기서부터 최선을 다한다고 가정하므로, 무작위 스텝을 섞어 모은 경험으로 무작위 스텝 없는 정책의 값을 배운다(오프폴리시). 같은 산책로에서 Q-러닝은 11스텝 물가 길을 배웠지만 학습하는 동안에는 무작위 스텝으로 자주 빠져 리턴이 −27.19였다. 모든 상태에서 모든 행동을 거듭 시험하고 학습률을 로빈스–먼로 조건대로 줄이면 Q-러닝의 표는 최적 행동 가치에 확률 1로 다가간다. 목표가 다음 행동을 기록에서 꺼내지 않으므로 지난 경험도 다시 쓸 수 있다.

ε-그리디는 확률 ε\textcolor{#cc00ff}{\varepsilon}로만 아무 행동이나 고르고 나머지는 가장 좋아 보이는 행동을 고른다. 탐색이 없으면 첫 경험에 갇히고, 너무 많으면 아는 것을 활용하지 못한다. 식당 다섯 곳에서 ε\textcolor{#cc00ff}{\varepsilon} = 0.1이 늘 그리디(ε\textcolor{#cc00ff}{\varepsilon} = 0)와 ε\textcolor{#cc00ff}{\varepsilon} = 0.3보다 나았다. 언어 모델은 자기 분포에서 샘플링하는 것으로 탐색하고, 엔트로피 붕괴는 그 탐색이 꺼지는 일이다.

Q-러닝의 목표에 든 max⁡\max는 흔들리는 어림값 가운데 위로 튄 것을 고르므로 위로 치우친다(최대화 편향). 평균이 모두 0인 슬롯머신 열 대에서 다섯 번씩 당긴 어림값의 최댓값은 평균 0.688이었다. 더블 Q-러닝은 표를 두 벌 두어 한 벌로 고르고 다른 벌로 읽어 이 편향을 없애는 대신 낮춰 읽을 수 있다. Best-of-N으로 고른 응답의 점수도 노이즈 섞인 점수 가운데 가장 큰 것을 골랐기 때문에 부풀어 있다.

막힌 곳

이 장의 방법들은 모두 표 하나에 기댔는데, 강가 산책로는 칸 40개 × 방향 4개 = 160칸, 식당은 다섯 칸이었다. 표의 칸마다 따로 값을 적고, 그 칸의 (상태, 행동)을 직접 겪어야만 값이 고쳐졌다. 그런데 게임 화면을 보고 조이스틱을 움직이는 문제라면 상태는 화면의 픽셀 전부라서 같은 화면이 두 번 나오는 일조차 드물다. 상태가 화면 픽셀이면 표를 어떻게 채우나?