rlcode/reinforcement-learning-kr-v2

/3-atari/1-breakout-dqn/train.py 에서 질문 있습니다!

heisenberg730 opened this issue · 1 comments

203번라인

next_history = np.append(next_state, history[:, :, :, :3], axis=3)

에서, history 의 뒤에 next_state 를 append 하지 않고

next_state 의 뒤에 history 를 append 하는 이유를 알 수 있을까요?

next_state 가 최신 상태인데, 그 뒤에 과거의 state 들을 붙여도 학습이 잘 되나요?

history 안의 각각의 state 들의 정렬된 순서는 학습과는 무관하나요?

자세하게 예를들면, 일련의 상태를 0, 1, 2, 3 이라고 번호를 붙인다면

최초의 history 에는 0, 0, 0, 0 이고,
최초의 next_history 는 203번 라인 식을 따르면 1, 0, 0, 0 이고,

두번째의 history 는 1, 0, 0, 0
두번째의 next_history 는 203번 라인 식을 따르면 2, 1, 0, 0

이런식으로 화면의 순서가 역순으로 쌓이게 되는데 학습에는 상관이 없나요? 아니면 제가 오해하고 있는걸까요?

안녕하세요,

역순으로 쌓이고 있는 것이 맞습니다.
1, 2, 3, 4 이렇게 쌓이는게 사람이 보기에는 더 자연스러운것이 맞지만
학습하는데에는 순서가 섞이는 것이 아니라면 문제가 되지 않습니다.