① 엡실론 욕심쟁이 정책(epsilon greedy policy)3에 따라 행동(action)을 선택합니다. 즉, 행동을 선택하기 위해 활용(exploitation)과 탐험(exploration)이라는 방법을 이용합니다. 따라서 때로는 모델을 활용하게 되고 때로는 리플레이 메모리의 데이터를 랜덤하게 샘플링(sampling)하여 탐험을 합니다. 랜덤 샘플링을 선택할 확률은 EPS_START에서 시작하여 EPS_END를 향해 기하급수적으로 감소합니다. 또한, EPS_DECAY는 감소하는 비율을 제어합니다.
② gym을 이용한 출력은 400×600×3의 형태를 갖지만 때로는 800×1200×3의 형태를 갖기도 합니다. 이때는 데이터의 형태를 (채널, 높이, 너비)로 바꾸어 주어야 합니다.
③ slice는 데이터 중 일부를 잘라서 가져올 때 사용하며 이용 방법은 다음과 같습니다.
text = 'python with pytorch' sliced_text = slice(6) ------ 인덱스 0부터 시작해서 5까지 반환 print(text[sliced_text]) ------ text의 데이터에서 인덱스 0부터 시작해서 5까지 반환
slice를 적용한 결과는 다음과 같습니다.
python
④ 데이터를 실수(float)로 변환하고 출력의 크기를 조정합니다. 또한, np.ascontiguousarray는 메모리에서 연속적인 배열을 반환하고자 할 때 사용합니다. 사용 방법은 다음과 같습니다.