신경망을 이용한 Q- 러닝에 관한 질문 에서와 같이 Q- 러닝의 Q- 값을 근사하기 위해 신경망을 사용하려고합니다 . 첫 번째 답변에서 제안했듯이 출력 레이어에 선형 활성화 기능을 사용하고 있지만 숨겨진 레이어에서 시그 모이 드 활성화 기능을 계속 사용하고 있습니다 (2, 나중에 변경할 수는 있음). 또한 조언 된대로 각 작업 대한 출력을 반환하는 단일 NN을 사용하고 있습니다.
그러나, 간단한 카트-폴 밸런싱 문제로 알고리즘이 여전히 분기되고 있습니다. Q- 업데이트가 잘못되었다고 생각합니다. 초기화 후 각 단계에서 수행 한 작업은 다음과 같습니다.
- 모든 조치에 대해 NN의 전달을 사용하여 를 계산하십시오 .
- 새로운 액션, 선택 t 새로운 상태에서, 토지 의 t을 .
- 모든 조치에 대해 NN의 전달을 사용하여 를 계산하십시오 .
- 오류 벡터를
- 가중치 행렬을 업데이트하기 위해 NN을 통해 오류를 역 전파하십시오.
아무도 내가 잘못한 곳을 알려 주시겠습니까?
또한 입력 레이어와 첫 번째 숨겨진 레이어 (예 : 시그 모이 드 함수)에 바이어스 용어를 포함시켜야한다고 생각합니까? 차이가 있습니까?
도움을 주셔서 대단히 감사합니다. 필요한 경우 질문을 명확하게하거나 코드를 공유 할 수 있습니다.