에 설명 된대로 Q-Learning을 구현했습니다.
http://web.cs.swarthmore.edu/~meeden/cs81/s12/papers/MarkStevePaper.pdf
약. Q (S, A) 다음과 같은 신경망 구조를 사용합니다.
- 활성화 시그 모이 드
- 동작 뉴런에 대한 입력, 입력 수 + 1 (모든 입력의 크기가 0-1 임)
- 출력, 단일 출력. Q- 값
- M 개의 숨겨진 레이어 N 개
- 탐색 방법 임의 0 <rand () <propExplore
다음 공식을 사용하여 각 학습 반복에서
Q-Target 값을 계산 한 다음 다음을 사용하여 오류를 계산합니다.
error = QTarget - LastQValueReturnedFromNN
신경망을 통해 에러를 다시 전파한다.
Q1, 나는 올바른 길을 가고 있습니까? 각 동작마다 하나의 출력 뉴런으로 NN을 구현하는 논문을 보았습니다.
Q2, 내 보상 기능은 -1과 1 사이의 숫자를 반환합니다. 활성화 기능이 S 자형 (0 1) 일 때 -1과 1 사이의 숫자를 반환해도 괜찮습니까?
Q3, 충분한 훈련 사례가 주어진이 방법에 대한 나의 이해로부터 최적의 정책 와이트를 찾기 위해 격리되어야 하는가? XOR에 대한 훈련을 할 때 때때로 2k 반복 후에 그것을 배우고 때로는 40k 50k 반복 후에도 배우지 않습니다.