2016-11-21 2 views
3

Sutton & Barto's Book에 기반한 선형 그래디언트 디센트 Sarsa를 구현하려고합니다. 아래 그림의 알고리즘을 참조하십시오.선형, 그래디언트 강하 Sarsa 이해 (Sutton & Barto 기반)

그러나, 나는 알고리즘에 무언가를 이해하는 데 어려움을 겪고 :

  • 취할 수있는 방법을 여러 가지 조치 w 및 z 독립의 차원인가? 그것은 그들이 얼마나 많은 행동에 독립적인지 말할 수있는 특징의 수와 같은 차원을 가진 책에서 보인다.
  • 각 작업에 대해 w와 z가 있습니까? 또한이 책에서 나는 이것이 사실 일 수는 없다는 것을 알 수 없다.
  • 위 두 글 머리표에있는 경우 인덱스 목록 F_a가 작업에 어떻게 의존하는지 알 수 없으므로 작업 값 기능 q_a가 작업에 어떻게 의존 할 수 있는지 알 수 없습니다 (표시된 줄 참조). 알고리즘에서는 노란색이 아래에 표시됩니다.)하지만 액션 값은 액션에 의존해야합니다. 그래서

나는 누군가가 나를 위해이 문제를 명확히하는 데 도움 수 있기를 바랍니다 :)

Sarsa algo

답변

3

w는 함수 approximator에 대한 가중치 벡터이다 ... 뭔가 내가받지하고있다. 근사값을 구하는 함수는 Q(s,a)이며 상태 값을 취하는 값을 알려주는 action-value 함수입니다. 무게를 정의하는 것은 당신에게 달려 있지만 그렇습니다. 가중치의 동작을 어떻게 나타낼 지 생각할 필요가 있습니다. 한 가지 방법은 일련의 상태 피쳐를 정의한 다음 액션 당 한 번 인스턴스화하는 것입니다 (여러 개의 개별 벡터 w 벡터). 편의상, 이러한 벡터를 하나의 큰 w으로 연결할 수 있습니다. 왜냐하면 상태 - 동작 쌍의 기능에 의해 활성화 된 체중 벡터의 덩어리 만 업데이트된다는 것을 알고 있기 때문입니다. 하나의 액션 당 여러 개의 분리 된 상태 피쳐 세트를 갖는 것은 액션 스페이스가 크다면 많은 가중치를 갖기 때문에 여러 액션을 단일 가중치의 다른 스칼라 값으로 압축 할 수 있습니다. 실제 Q 값이 동작간에 가깝다면 바로 수행 할 수 있으며, 최적화가 필요한 가중치가 적기 때문에 실제로 더 빨리 학습 할 수 있습니다. 표현은 유연합니다. 그것은 당신에게 달렸습니다!

이 책의 두 번째 버전 (작성자 사이트에서 초안을 사용할 수 있음)에 설명 된대로 알고리즘을 살펴 보는 것이 좋습니다. 표기법이 더 명확합니다. 여러분이 올린 알고리즘은 사실 λ 반환 방법입니다. 12 장에서 읽을 수 있습니다 (z은 적격 추적입니다. w과 같은 차원이며 질문하는 데 중요하지 않습니다). 에피소드의 반 - 그라디언트 Sarsa, 동일한 알고리즘과 일부 종소리 및 휘파람이 섹션 10.1에 나와 있습니다.

+0

안녕하세요 Nick 님, 감사합니다. 대답은 의미가 있습니다. 위의 알고리즘을 각 동작에 대해 하나의 w로 구현했으며 작동했습니다. 여러 액션을 동일한 스칼라로 압축하는 것과 관련하여 요점을 명확히 할 수 있습니까? 결합 할 수있는 상태의 행동을 알기 위해 이전의 모델 지식이 필요합니까? – bbiegel

+0

예. 표 형식의 값을 초과하는 매개 변수화 (각 S-A 쌍마다 하나의 이진 특성/가중치가 있음)에는 값 함수의 형식에 대한 가정이 필요합니다. 로컬 영역의 상태가 거의 동일한 값을 가지고 있음을 알게되면,이를 단일 바이너리 기능으로 축소 할 수 있습니다. 두 작업이 비슷한 경우 두 개의 스칼라 활성화로 단일 기능으로 축소 할 수 있습니다. 이는 가치 함수의 차이를 표현하는 능력을 제한합니다. 가치 함수는 학습하려는 근본적인 가치 함수를 얼마나 잘 반영하는지에 따라 좋거나 나쁠 수 있습니다. –