답변:
RL의 부트 스트랩은 " 같은 종류 의 추정값 에 대해 업데이트 단계에서 하나 이상의 추정값 사용"으로 읽을 수 있습니다 .
대부분의 TD 업데이트 규칙에는 다음과 같은 SARSA (0) 업데이트가 표시됩니다.
값 는 의 실제 값에 대한 추정치이며 TD 목표라고도합니다. 우리는 부분적으로 다른 Q 값을 업데이트하기 위해 Q 값을 사용하기 때문에 부트 스트랩 방법입니다. 의 형태 , 단계에 대한 즉각적인 보상 및 상태 전이 에서 소량의 실제 관측 된 데이터가 있습니다.
동등한 업데이트 규칙이있는 Monte Carlo와 대조 :
어디 시간의 총 할인 보상이었다 이 상태에서 시작한이 업데이트에서 가정 액션 복용 , 다음 에피소드가 끝날 때까지 현재의 정책을 따랐다. 기술적으로 여기서 터미널 보상 및 상태의 시간 단계입니다. 특히이 목표 값은 기존의 다른 추정치 (기타 Q 값)를 전혀 사용하지 않으며, 환경으로부터의 일련의 관찰 (즉, 보상) 만 사용합니다. 이와 같이,이 보장되는 바이어스 의 참값의 추정값 는 기술적으로 한, 시료 의 .
부트 스트랩의 주요 단점은 (또는 ) 의 시작 값이 무엇이든간에 바이어스된다는 것입니다 . 그것들은 대부분 틀 렸으며, 업데이트 시스템은 자기 참조가 너무 많고 실제 데이터가 충분하지 않기 때문에 전체적으로 불안정 할 수 있습니다. 이것은 신경망을 사용하는 정책 외 학습 (예 : Q- 학습)의 문제입니다.
부트 스트랩이 없으면 긴 궤적을 사용 하는 대신 종종 분산 이 높아 지므로 실제로 추정값이 수렴되기 전에 더 많은 샘플이 필요합니다. 따라서 부트 스트랩 문제에도 불구하고 제대로 작동 할 수 있다면 학습 속도가 훨씬 빨라지고 종종 Monte Carlo 방식보다 선호됩니다.
길이가 다른 궤적의 결과를 혼합하여 부트 스트랩하는 Monte Carlo 샘플 기반 방법과 단일 단계 TD 방법 사이에서 타협 할 수 있습니다. 이것을 TD ( ) 학습 이라고 하며 SARSA ( ) 또는 Q ( ) 와 같은 다양한 특정 방법이 있습니다.
In general, bootstrapping in RL means that you update a value based on some estimates and not on some exact values. E.g.
Incremental Monte Carlo Policy Evaluation updates:
TD(0) Policy Evaluation updates:
In TD(0), the return starting from state is estimated (bootstrapped) by while in MC we use the exact return .