golbin / TensorFlow-Tutorials

텐서플로우를 기초부터 응용까지 단계별로 연습할 수 있는 소스 코드를 제공합니다

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DQN 질문드립니다.

taki0112 opened this issue · comments

여기에 질문드려도 되는지 모르겠네요
DQN - model.py를 코드를 보며 공부중입니다. 다음과 같은 코드에서 질문이 있습니다.

    def get_action(self):
        Q_value = self.session.run(self.Q_value,
                                   feed_dict={self.input_X: [self.state]})

        action = np.argmax(Q_value[0])

        return action

여기서 action을 가져올때, 왜 Q_value[0]에서 가져오는건가요 ?

Q_value는 self.Q_value의 conv network의 action수만큼 이루어진 배열(?)같은것인데(output layer) 여기서 왜 0번째값의 argmax를 구하는지 모르겠습니다.

여기에 질문올려도 되는지 모르겠네요 ㅠㅠ

답변 부탁드립니다.

감사합니다.

말씀하신대로 하나의 state 에 한 개의 Q_value 가 나오지만, 보시면 feed_dict 에 [self.state] 로 state 의 배열을 넣습니다. 학습시 미니배치를 사용하기 때문인데요.

그래서 하나만 넣어도 결과로는 [Q_value] 배열이 나오기 때문에 첫번째 값을 가져와서 쓰는 것 입니다.