2016-12-20 4 views
1

DP 모델의 제한 사항 (DP 모델에 필요한 시간과 공간의 한계)을 극복하기 위해 C++에서 SARSA (람다) 모델을 구현합니다. 이는 계산 시간을 단축합니다 비슷한 연구를하기에는 수 시간 걸린다.) 공간이 적 으면 모델에 더 많은 안색을 더할 수있다.SARSA에 전환 확률 편입

우리는 명시적인 전환 확률을 가지며 차이를 만듭니다. SARSA 모델에 어떻게 통합해야합니까?

확률 자체에 따라 다음 상태를 선택하기 만하면됩니까? 외관상으로는 SARSA 모형은 정확하게 당신이 확율을 사용하기 위하여 예기하지 않는다 - 또는 아마 나는 틀린 책을 읽고있다.

PS- 알고리즘이 제대로 구현되었는지 알 수있는 방법이 있습니까? SARSA와 처음으로 일했습니다.

+0

DP를 기반으로 한 접근 방식의 현재 문제는 많은 상태를 보유하고 있다는 것입니다. 맞습니까? 그런 경우에 SARSA (람다)를 함수 근사치로 사용 하시겠습니까? –

+0

SARSA가 Transiction prob를 요구하지 않기 때문에. 매트릭스, 그것은 단지 각 상태를 임의의 횟수 방문합니다, 그것은 목적을 수행합니다. 제가 사용하고있는 것은 Sutton (141 페이지)이 정의한 SARSA (lambda) on-policy 제어 방법입니다. 확실하지 않은 질문에 대답했다면 다시 물어보십시오. – user4218673

+0

잠재력을 지닌 사다 (SARSA)라고 들었지만 그에 관한 많은 정보를 찾을 수 없었습니다 – user4218673

답변

2

동적 프로그래밍 (Dynamic Programming, DP)과 강화 학습 (RL)의 근본적인 차이점은 환경의 동력학이 알려진 것 (즉 모델)을 가정하고, 후자는 프로세스에서 얻은 데이터 일련의 샘플 형태, 일련의 프로세스 궤적 또는 단일 궤적을 포함 할 수있다. 이 기능으로 인해 RL 방법은 모델 작성이 어렵거나 비용이 많이 드는 경우에 유용합니다. 그러나 두 방법 모두 동일한 작동 원리 (일반화 된 정책 반복 (0120))를 공유한다는 점에 유의해야합니다 (Sutton's book).

이 둘이 비슷하다면 두 접근법 모두 몇 가지 한계점, 즉 차원의 저주를 공유합니다. Busoniu's book에서 (제 3 장 당신의 목적을 위해 유용 아마 무료입니다) :

민주당과 RL 분야에서 중앙 도전, 그 원래의 형태 (즉, 표 형식)에서, DP 및 RL 알고리즘은 할 수있다

일반적인 문제는 으로 구현하십시오. (기타 이유로) 함수 또는 정책의 정확한 표현이 필요하기 때문에 상태 공간과 작업 공간이 유한 수의 개별 요소로 구성되어있을 때만 구현할 수 있습니다. 일반적으로 상태 공간에는 불가능합니다. 무한 수의 요소 (또는 상태의 수가 너무 높을 때 너무 비싸다).

상태와 동작이 매우 많은 값을 취하는 경우에도 값을 나타내는 함수 및 정책은 개의 Q- 함수 (및 Q- 함수의 작업 변수) 수와 함께 기하 급수적으로 커집니다. 이 문제를 차원의 저주라고하며 상태 및 동작 변수가 많은 경우 고전적인 DP 및 RL 알고리즘을 비실용적으로 만듭니다. 이러한 문제에 대처하기 위해 대략적으로 값 함수 인 및/또는 정책을 사용하는 클래식 알고리즘을 사용해야합니다. 실제 관심사의 대부분의 문제에는 크거나 연속적인 상태 및 행동 공간이 있기 때문에 근사가 DP 및 RL에서 필수적입니다.

귀하의 경우에는 일종의 함수 근사법을 사용해야한다는 것이 확실합니다. 그러나 전환 확률 행렬을 알고있는 경우 DP 또는 RL을 기반으로 방법을 선택할 수 있습니다. RL의 경우, 전이는 단순히 동작이 주어지면 다음 상태를 계산하는 데 사용됩니다.

DP 또는 RL을 사용하는 것이 더 좋습니다. 사실 나는 그 해답을 모른다. 그리고 최적의 방법은 당신의 특정 문제에 달려있다. 직관적으로, 계획된 방식 (DP)으로 상태 집합을 샘플링하는 것이 더 안전하다고 보이지만, 최적 상태를 찾기 위해 상태 공간의 큰 부분이 관련되지 않을 수도 있습니다. 그러한 경우, 일련의 궤도 (RL)를 샘플링하는 것이 계산적으로 더 효과적 일 수있다. 어떤 경우에도 두 가지 방법이 올바로 적용되면 유사한 해결책을 제시해야합니다.

참고 : 함수 근사를 사용할 때 수렴 속성이 더 약해지고 반복 프로세스 중에 발산하는 경우가 드물지 않습니다. 특히 근사가 비선형 인 경우 (예 : 인공 신경망) RL이 결합 된 경우.

+0

나는 늦은 답장 @ 파블로 EM에 대해 사과했다. 나는 그 의견을 보았고 돌아 왔으며, 연결 실패 등이 있었음에 틀림 없다. 그리고 메시지는 보내지 않았다. 정말로 감사합니다. – user4218673

+0

괜찮습니다! 도움이되는 것은 기쁨입니다. 유용하다면 간단히 응답을 수락하십시오. http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work :) –

0

전환 가능성에 대한 액세스 권한이있는 경우 Q 값을 기반으로하는 방법을 사용하지 않을 것을 제안합니다. 이미 가지고있는 정보를 추출하려면 추가 샘플링이 필요합니다.

항상 맞는 것은 아니지만 추가 정보가 없으면 modified policy iteration이 문제에 대한 적절한 방법이라고 할 수 있습니다.

+0

mtk99 답을 고맙다. 의미가있다. 주제에 대한 강력한 근거를 가진 많은 문헌을 찾을 수는 없지만, 이것은 논문의 일부이다. 따라서 소스는 신뢰할 수 있어야합니다. 재미 있을지 모르지만 그것에 대해 읽을 것입니다! – user4218673