rlcode / reinforcement-learning-kr

[파이썬과 케라스로 배우는 강화학습] 예제
MIT License
371 stars 228 forks source link

load_weights - 모델의 predict()의 액션값이 항상 같음 #13

Open peterkiminno opened 6 years ago

peterkiminno commented 6 years ago

안녕하세요.

'reinforcement-learning-kr/3-atari/1-breakout/breakout_a3c.py' 코드에서 매우 높은 학습 결과(성능)을 나타내는 모델의 weights 저장한 후 다시 불러와서 play할 때에, 마치 처음 학습하는 것과 같이 항상 같은 값(액션)을 계속 리턴합니다.

비슷한 문제가 다루어 지는지 몇몇 이슈를 확인해 보았었는데, optimizer와 loss를 모델의 weights과 serializing 해야 한다는 내용들도 있고... 어떤 문제가 있는지 감이 잡히지 않습니다. 시원한 답변 부탁드립니다.

감사합니다.

dnddnjs commented 6 years ago

안녕하세요!

저희는 그런 문제를 만나지는 않았습니다. 처음 학습하는 거면 항상 같은 값이 아니라 거의 랜덤하게 행동하는 거라서 같은 행동을 계속하는 거면 모델 자체가 잘못 수렴한게 아닌가 싶습니다. 불러와서 실행하실 때는 저희 코드로 하셨나요?

PeterDeSOM commented 6 years ago

문제를 해소하였습니다. 세션을 열고 global_variables_initializer()를 해 주어야 하네요. 감사합니다.