2016-12-01 5 views
0

안녕하세요, Q-learning에서 에이전트는 목표에 도달 할 때까지 조치를 취합니다. 알고리즘은 수렴을 얻을 때까지 여러 번 실행됩니다. 예를 들어, 목표는 시간 시뮬레이션이 끝날 때까지 최대 처리량을 얻는 것입니다. 시뮬레이션 시간은 n 개의 동등한 기간 T로 나누어지고 보상은 시간에 따라 변합니다. 따라서 요원은 각 기간마다 자신의 상태를 n 번 업데이트합니다. 이 경우 n은 단계 ​​또는 반복의 수로 간주됩니까? 또한, Q 값의 갱신은 선택된 조치를 실행하거나 실행 전에 수행됩니다 (실제 보상의 근사치 인 보상 기능 사용). 내 질문에 답변 해 주시면 감사하겠습니다.q-learning의 반복 및 보상

답변

0

첫 번째로, 강화 학습에는 에이전트 - 환경 상호 작용이 자연스럽게 별도의 에피소드 시퀀스 (일시적인 작업)로 나뉘는 작업과 그렇지 않은 작업 계속) [Sutton book ref.].

상담원의 목표는 시뮬레이션 또는 실제 환경에서받는 보상의 총액을 최대화하는 것입니다. 즉각적인 보상이 아닌 최대화, 즉 의 누적 보상입니다.

에피소드 태스크의 경우 각 에피소드의 지속 시간이 다른 경우가 많습니다 (예 : 각 에피소드가 체스 게임 인 경우 각 게임은 일반적으로 다른 수의 운동으로 끝납니다).

보상 기능은 변경되지 않지만 에이전트가받은 보상은 취한 조치에 따라 변경됩니다. Q-learning 알고리즘에서 에이전트는 각 단계 이후에 Q-function을 업데이트합니다 (각 기간/에피소드의 시작이 아님).

귀하의 정의에 따르면 n은 에피소드 당 단계 수 (앞에서 설명한대로 한 에피소드마다 다를 수 있음)로 간주됩니다. 전체 단계 수는 모든 에피소드의 합계가 n입니다. '반복'이라는 용어는 일부 신문/서적에서 에피소드의 수를 나타낼 수 있으므로 문맥을 알아야합니다.

Q 기능의 갱신은 선택된 조치를 실행 한 후에 수행됩니다. 상담원은 보상 및 다음 상태를 관찰하기 위해 현재 작업을 실행해야합니다.

보상 기능은 실제 보상의 근사치가 아닙니다. 진짜 보상은 존재하지 않습니다. 보상 기능은 사용자가 목표가 무엇인지 상담원에게 '알리기'위해 설계되었습니다. Sutton and Barto 책의이 주제에 대한 자세한 내용은 Section 3.2 Goals and Rewards.

+0

안녕하십니까. 설명해 주셔서 대단히 감사합니다. 필자는 제 경우에는 일회성 작업으로 문제를 모델링하는 것이 적절한 방법이 아니라고 생각합니다 (목표는 시뮬레이션 중에 최대 처리량을 얻는 것이므로). 따라서 지속적인 작업을 포함하는 수식이 더 적합합니다. 이 경우 상담원이 작업을 수행하는 방법과 모든 상담원이 상태를 변경하는 데 관심이없는 컨버전스를 달성 할 수 있습니까? – student26

+0

왜 에이전트가 가치 기능을 변경하는 데 관심이 없습니까? 상담원의 목표를 반영한 ​​보상을 정의해야합니다. 예를 들어, 난방 시스템 (잠재적으로 연속적인 작업)을 작동시키는 작업 인 경우, 상담원이 소비량에 비례하는 음의 보상을 받으면 상담원이 소비량을 최소화하려고 시도 할 수 있습니다. –

+0

@ student26, 원래 질문에 답했고 필요하면 Q-learning 구현에 관한 새로운 질문을 자유롭게 열어 주시기 바랍니다. 고마워. –