
778
2
부
신경망과 딥러닝
NOTE
_
샘플링된 한 경로가 두 개(또는 그 이상의) 에피소드에 걸칠 수 있습니다! 이런 경우
step
_
type
이
2
(끝)이고
next
_
step
_
type
이
0
(시작)인 전이를 의미하는
경계 전이
boundary
transition
가 포함될 것입니다. 물론
TF
-
Agents
는 이런 경로를 적절하게 처리합니다(예를 들어 경계에 도달하면 정책 상태를 재설정합니다). 경
로의
is
_
boundary
()
메서드는 각 스텝이 경계에 있는지를 나타내는 텐서를 반환합니다.
주 훈련 반복문에서
get
_
next
()
메서드를 호출하는 대신
tf
.
data
.
Dataset
을 사용하겠습니
다. 이렇게 하면
Data
API
의 장점을 사용할 수 있습니다 (예를 들면 병렬화와 프리페칭 ). 이를
위해 재생 버퍼의
as
_
dataset
()
메서드를 호출합니다.
dataset = replay_buffer.as_dataset(
sample_batch_size=64,
num_steps=2,
num_parallel_calls=3).prefetch(3)
(
2015
년
DQN
논문처럼) 훈련 스텝마다
64
개 경로의 배치를 샘플링하겠습니다. 각 경로는
2
개의 스텝을 포함합니다(즉,
2
개의 스텝
=
다음 스텝의 관측을 가진
1
개의 완전한 전이입니
다). 이 데이터셋은
3
개를 병렬로 ...