활용과 탐험을 반복하는 큐-러닝의 학습 절차는 다음과 같습니다.
1. 초기화: 큐-테이블(Q-table)1에 있는 모든 큐 값을 ‘0’으로 초기화합니다.
▼ 표 12-1 큐-러닝의 큐-테이블
큐-테이블 |
행동 |
|||||
Action1 |
Action2 |
… |
Actionn-1 |
Actionn |
||
상태 |
State1 |
0 |
0 |
… |
0 |
0 |
State2 |
0 |
0 |
… |
0 |
0 |
|
… |
… |
… |
… |
… |
… |
|
Staten-1 |
0 |
0 |
… |
0 |
0 |
|
Staten |
0 |
0 |
… |
0 |
0 |
예를 들어 ‘0’으로 초기화하는 코드는 다음과 같습니다.
Q = np.zeros([env.observation_space.n, env.action_space.n])
2. 행동 a를 선택하고 실행합니다.
3. 보상 r과 다음 상태 s'를 관찰합니다.
4. 상태 s'에서 가능한 모든 행동에 대해 가장 높은 큐 값을 갖는 행동인 a'를 선택합니다.
1 모든 상태와 행동에 대한 기록을 담고 있으며, 이 테이블 용도는 각 상태마다 최적의 행동을 취할 수 있는 가이드를 제공하는 것입니다.