2014-11-19 2 views
2

연속 상태 (dim = 20) 및 개별 동작 (3 가지 가능한 동작)이있는 환경에서 최적의 정책을 찾으려고합니다. 그리고 구체적인 순간이 있습니다 : 최적의 정책을 위해 하나의 행동 ("행동 0"이라 부름)은 다른 두 가지보다 훨씬 더 자주 선택되어야합니다 (100 번 이상,이 두 가지 행동은 더 위험합니다).연속 상태, 개별 동작에 대한 강화 학습 알고리즘

나는 NN 값 - 근사치로 Q- 학습을 시도했다. 결과는 다소 나빴습니다. NN은 항상 "액션 0"을 선택한다는 것을 알았습니다. NN 가중치에 대한 정책 그래디언트 방법이 도움이 될 수 있다고 생각하지만 개별 작업에이 정책을 사용하는 방법을 이해하지 못합니다.

시도해 볼 것을 조언 해 주시겠습니까? (아마도 알고리즘, 읽을 논문). 상태 공간이 연속이고 동작 공간이 이산 상태 일 때 최첨단 RL 알고리즘은 무엇입니까?

감사합니다.

답변

7

연속 (상태 및/또는 동작) 공간에 Q- 학습을 적용하는 것은 간단한 작업이 아닙니다. 이것은 Q-learning을 NN과 같은 전역 함수 근사자와 결합하려고 할 때 특히 그렇습니다 (필자는 일반적인 다중 층 퍼셉트론과 backpropagation 알고리즘을 이해함). Rich Sutton's page에서 자세한 내용을 볼 수 있습니다. 보다 나은 (또는 적어도 더 쉬운) 해결책은 예를 들어 Radial Basis Function Network와 같은 지역 근사를 사용하는 것입니다 (4.1의 this paper의 이유에 대한 좋은 설명이 있습니다).

한편, 상태 공간의 차원이 너무 커서 로컬 approximators를 사용할 수 없습니다. 따라서 Q- 학습 대신 다른 알고리즘을 사용하는 것이 좋습니다. 연속 상태 및 이산 동작에 대한 매우 경쟁적인 알고리즘은 Fitted Q Iteration이며 일반적으로 트리 함수와 결합되어 Q 함수를 근사화합니다.

마지막으로, 귀하의 경우와 같이 행동의 수가 적을 때 일반적으로 행해지는 일은 각 행동에 대해 독립적 인 근사치를 사용하는 것입니다. 즉, 상태 - 행동 쌍을 입력으로 사용하는 고유 한 근사치 대신에 액션 당 하나씩 3 개의 근사를 사용하여 Q 값을 반환합니다.이 값은 입력으로 상태 만 가져옵니다. 이 예제는 책의 Example 3.1에서 찾을 수 있습니다. Reinforcement Learning and Dynamic Programming Using Function Approximators

+0

큰 감사합니다! 위의 방법을 시도하고 결과에 대해 나중에 작성하겠습니다. – centuri0n

+0

여러분을 환영합니다! 나는 당신의 결과에 대해 듣기를 고대하고 있습니다. –