가치 반복과 정책 반복의 차이점은 무엇입니까?


93

강화 학습에서 정책 반복가치 반복 의 차이점은 무엇 입니까?

내가 아는 한 가치 반복에서는 Bellman 방정식을 사용하여 최적의 정책을 해결하는 반면, 정책 반복에서는 무작위로 정책 π를 선택하고 해당 정책의 보상을 찾습니다.

내 의심은 PI에서 임의의 정책 π를 선택하는 경우 여러 임의의 정책을 선택하더라도 어떻게 최적의 정책이 보장됩니까?


13
ai.stackexchange.com , stats.stackexchange.com 또는 datascience.stackexchange.com 과 같은 웹 사이트에서이 질문을하는 것이 더 적절 했을 것 입니다.
nbro

답변:


123

나란히 살펴 보겠습니다. 비교를위한 주요 부분이 강조 표시됩니다. 수치는 Sutton과 Barto의 책 : 강화 학습 : 소개에서 발췌 한 것 입니다.

여기에 이미지 설명 입력 키 포인트:

  1. 정책 반복 에는 정책 평가 + 정책 개선이 포함되며 정책이 수렴 될 때까지 두 가지가 반복적으로 반복됩니다.
  2. 가치 반복 에는 최적 가치 찾기 기능 + 하나의 정책 추출이 포함 됩니다. 가치 함수가 최적이되면 그 밖의 정책도 최적 (즉, 수렴)되어야하므로 두 가지가 반복되지 않습니다.
  3. 최적 값 찾기 기능 은 정책 개선 (최대로 인한)과 잘린 정책 평가 (수렴에 관계없이 모든 상태를 한 번만 스윕 한 후 v_ (s) 재 할당)의 조합으로 볼 수도 있습니다.
  4. 정책 평가최적 값 찾기를 위한 알고리즘 은 최대 연산을 제외하고는 매우 유사합니다 (강조 표시된대로).
  5. 마찬가지로 정책 개선정책 추출 의 핵심 단계 는 안정성 검사가 포함 된 것을 제외하고 동일합니다.

내 경험상 정책 이 가치 함수보다 더 빨리 수렴하기 때문에 정책 반복가치 반복 보다 빠릅니다 . 나는 이것이 책에도 설명되어 있음을 기억합니다.

나는 혼동이 주로이 모든 다소 유사한 용어에서 비롯된 것 같으며, 이는 이전에도 나를 혼동했습니다.


3
나는 정책 반복이 더 적은 반복으로 수렴된다는 데 동의하며 여러 곳에서 더 빠르다는 것을 읽었습니다. Burlap에서 두 가지 방법으로 간단한 상자 세계와 미로 해결 실험을했습니다. 값 반복이 더 많은 반복을 수행하지만 수렴에 도달하는 데 걸리는 시간이 더 적다는 것을 알았습니다. YMMV.
라이언

1
@Chrom, 당신은 반대를 읽었어야합니다. 다음은 책의 인용문입니다. " 정책 반복은 종종 놀랍게도 적은 수의 반복으로 수렴됩니다. 이는 책 의 2017nov5 버전 65 페이지에 있는 그림 4.1의 예에서 설명합니다. "
zyxue

3
예, 저는 여러 가지 그리드 세계를 가지고 놀았습니다. 나는 단지 반복의 관점에서 "빠른"것이 아마도 PI를 선호 할 것이라는 점을 지적하려고했습니다. 그러나 초 단위의 "빠름"은 실제로 VI를 선호 할 수 있습니다.
라이언

3
명확히하기 위해 정책 반복은 반복 횟수가 적지 만 값 반복보다 계산적으로 더 복잡합니다. 어느 것이 더 빠른지는 환경에 따라 다릅니다.
RF Nelson

2
나는 이것이 오래된 게시물이라는 것을 알고 있습니다. 그러나 나는 이것을 살펴보면서 강력하게 제안한다 .
탠덤

72

에서 정책의 반복 알고리즘은 임의의 정책을 시작, 다음, 다음, 이전 값 기능을 기반으로 새 (개선) 정책을 찾을 수 등 해당 정책 (정책 평가 단계)의 값 기능을 찾을 수 있습니다. 이 과정에서 각 정책은 이전 정책보다 엄격한 개선이 보장됩니다 (이미 최적 상태 인 경우 제외). 정책이 주어지면 해당 값 함수는 Bellman 연산자 를 사용하여 얻을 수 있습니다 .

값 반복 에서는 임의 값 함수로 시작한 다음 최적 값 함수에 도달 할 때까지 반복 프로세스에서 새로운 (개선 된) 값 함수를 찾습니다. 최적 값 함수에서 최적의 정책을 쉽게 도출 할 수 있습니다. 이 프로세스는 최적 성 Bellman 연산자를 기반으로합니다 .

어떤 의미에서 두 알고리즘은 동일한 작동 원리를 공유하며 일반화 된 정책 반복 의 두 가지 경우로 볼 수 있습니다 . 그러나 최적 성 Bellman 연산자에는 비선형이므로 다른 기능 이있는 max 연산자가 포함되어 있습니다. 또한 순수 값 반복과 순수 정책 반복간에 하이브리드 방법을 사용할 수 있습니다.


1
이것에 대한 좋은 설명. 이걸 정책 반복에 추가해 보겠습니다. 벨만 기대 방정식을 사용하고 값 반복에서는 melman 최대 방정식을 사용합니다. 값 반복의 경우 반복 횟수가 적을 수 있지만 한 번의 반복에는 많은 작업이있을 수 있습니다. 정책 반복을 위해 더 많은 반복
Shamane Siriwardhana 2017

정책 반복에도 최대 연산자가 없습니까? 그렇지 않으면 새 값 함수를 기반으로 정책을 업데이트하는 방법은 무엇입니까?
huangzonghao

아니요, SARSA 알고리즘은 정책 반복의 전형적인 예입니다. 이 의사 코드 ( incompleteideas.net/book/ebook/node64.html ) 에서 볼 수 있듯이 값 함수 업데이트에는 max 연산자가 포함되어 있지 않습니다. 그러나 가치 함수 (예 : 탐욕스러운 행동)에서 최선의 행동을 선택하는 최대 연산자를 의미한다면, 그렇습니다. 그러한 과정에는 최대 작업이 있습니다.
Pablo EM

10

기본적인 차이점은-

에서 정책 반복 - 당신은 무작위로 정책을 선택하고에 해당하는 값 기능을 발견하고 이전 값 기능을 기반으로 새 (개선) 정책을 찾을 수 있습니다, 그래서 이것에 최적의 정책으로 이어질 것입니다.

에서 값 반복 - 당신은 무작위로 다음 값 기능을 선택하는 최적 값 함수의 다음 파생 최적의 정책 최적의 값 기능에 도달 할 때까지, 반복적 인 과정에서 새로운 (개선) 값 기능을 찾을 수 있습니다.

정책 반복은“정책 평가 —-> 정책 개선”원칙에 따라 작동합니다.

가치 반복은“최적 가치 기능 —-> 최적 정책”의 원칙에 따라 작동합니다.


0

내가 아는 한 @zyxue의 아이디어와는 달리 VI는 일반적으로 PI보다 훨씬 빠릅니다 .

이미 알고 있듯이 그 이유는 매우 간단합니다. Bellman Equation은 주어진 정책에 대한 값 함수를 해결하는 데 사용됩니다. 최적의 정책에 대한 가치 함수를 직접 해결할 수 있기 때문에 현재 정책에 대한 가치 함수를 해결하는 것은 분명히 시간 낭비입니다.

PI의 수렴성에 대한 질문은 각 정보 상태에 대한 전략을 개선하면 게임 전체에 대한 전략이 개선된다는 사실을 간과 할 수 있다고 생각합니다. Counterfactual Regret Minimization에 익숙하다면 증명하기 쉽습니다. 각 정보 상태에 대한 후회의 합이 전체 후회의 상한을 형성하므로 각 상태에 대한 후회를 최소화하면 전반적인 후회가 최소화됩니다. 최적의 정책으로 이어집니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.