4

내 모델에서 다양한 유형의 에이전트에 대한 학습 전략을 구현할 생각입니다. 솔직하게 말하면, 나는 어떤 종류의 질문을 먼저해야하는지, 어디에서 시작해야하는지 아직 모른다.NetLogo에서 강화 학습 구현 (다중 에이전트 모델 학습)

나는 그들이 경험으로 배우기를 원하는 두 가지 유형의 에이전트를 가지고 있으며, 발생할 수있는 특정 상황에 따라 각각 다른 보상을받는 행동 풀이 있습니다.

  1. 에이전트가 있습니다 나는 나 자신을 환영합니다 :)

    다음

    나는 내 문제를 공식화 앞으로려고하는 방법을 문의해야합니다 질문의 종류에 따라서 어떤 제안, 학습 방법을 보강하기 위해 새로운 오전 일생 동안 그들은 문제가되는 몇 가지 사항을 추적합니다.이 지표는 다른 요원에 따라 다릅니다. 예를 들어, 한 요원이 증가하기를 원합니다. A가 A보다 A를 더 원합니다.

  2. 상태는 요원의 평생에 두 개 이상의 옵션이 있습니다. ( S에 대한 명확한 정의가 없습니다. 그들은 몇 번이나 일어날 수 있기 때문에 시간이 걸릴 수도 있고 전혀 일어나지 않을 수도 있습니다. 상담원이 주위를 돌아 다니고 결코 상황을 직면 할 수 없기 때문에
  3. 보상은 상담원이 특정 상담원의 작업에서 얻을 수있는 표시기의 증가 또는 감소입니다 주 및 대리인은 그가 다른 행동을 선택한 경우 이득이 무엇인지 모릅니다.
  4. 게인이 일정하지 않고 상태가 잘 정의되어 있지 않고 한 상태가 다른 상태로 공식적으로 전환되지 않습니다.
  5. 예를 들어 상담원이 같은 위치에있는 상담원 중 하나 (작업 1) 또는 (Action 2) 특정 조건이 true 인 경우 Action A가 해당 에이전트에게 보람이되고 다른 조건에서는 Action 2가 더 높은 보상을 갖습니다. 내 문제는이 시나리오에서의 공유가 다른 에이전트의 특성 (보상 시스템의 조건에 영향을 미침)에 달려 있으며, 다른 상태에서는 상이 할 것이므로 알 수없는 보상이있는 예를 보지 못했습니다. 내 모델에서

는 액션과 같은 상태 사이의 관계 이없는, 그 날 궁금합니다 전혀이 상황에서 RL에 대해 생각하는 그 확인되는 경우.

여기에서 최적화하고자하는 것은 에이전트가 현재 상황을 더 나은 방식으로 판단하고 내부 상태에 의해 트리거되는 필요성에 응답 할 수있는 기능입니다. 그들은 장기 목표를 정의 할 수 있고 상황에 따라 의사 결정에 영향을 미칠 수있는 몇 가지 성격이 있지만 상황의 어떤 행동이 자신이 선호하는 장기 목표를 높이는 데 도움이되었는지 기억해야합니다.

답변

3

내 모델에는 동작과 다음 상태 사이에 아무런 관계가 없으므로이 상황에서 RL에 대해 생각해 본다는 것이 궁금합니다.

이상하게 보입니다. 상태를 변경하지 않으면 액션은 무엇을합니까? 상담원은 자신의 행동이 자신의 상태를 어떻게 바꿀지를 반드시 알 필요는 없습니다. 마찬가지로, 동작은 상태를 불완전하게 바꿀 수 있습니다 (로봇이 밟아서 실제로 시도 할 때 움직이지 않습니다). 사실, 일부 알고리즘은이 불확실성을 위해 특별히 설계되었습니다.

어떤 경우에도 에이전트가 아무런 제어없이 상태 공간을 돌아 다니고 있다고해도 다른 주에 대한 보상을 계속 학습 할 수 있습니다.실제로 많은 RL 알고리즘은 보상이 무엇인지 알아 내기 위해 반 무작위로 상태 공간을 돌아 다니는 것을 포함합니다. 그들은 몇 번 발생 여부 에이전트가 이동할 때문에 모든 일이 그들이

당신은 어떤 일이 일어나는지 확대 고려해 볼 수 있습니다 상황에 직면하지 않을 수 있습니다으로

나는 미국에 대한 명확한 정의가없는 당신이 "국가"로 생각하는 것으로 예를 들어, 위치는 분명히 국가를 식별하는 변수로 들어가야하는 것처럼 보입니다. 모든 국가가 보상을받을 필요는 없습니다 (좋은 RL 알고리즘은 일반적으로 중립국의 선량 측정을 추론하지만).

상담원의 상태를 결정하는 변수를 명확하게 정의하는 것이 좋습니다. 예를 들어, 상태 공간은 current-patch X internal-variable-value X other-agents-present 일 수 있습니다. 가장 단순한 경우 에이전트는 상태를 구성하는 모든 변수를 관찰 할 수 있습니다. 그러나이를 필요로하지 않는 알고리즘이 있습니다. 상담원은 항상이 주에 보상 금액이없는 경우에도 있어야합니다.

이제 알 수없는 보상에 관한. 그것은 실제로 완전히 괜찮습니다. 보상은 random variable 일 수 있습니다. 이 경우 표준 RL 알고리즘을 적용하는 간단한 방법은 의사 결정시 변수의 expected value을 사용하는 것입니다. 분포가 알려지지 않은 경우 알고리즘은 지금까지 관찰 된 보상의 평균을 사용할 수 있습니다.

또는 상태 정의에서 보상을 결정하는 변수를 포함 할 수 있습니다. 그렇게하면 보상이 바뀌면 문자 그대로 다른 상태가됩니다. 예를 들어 로봇이 건물 꼭대기에 있다고 가정합니다. 그것은 그것 앞의 건물 꼭대기에 도착해야합니다. 그냥 앞으로 나아가면, 그것은 땅으로 떨어집니다. 따라서, 그 주에는 매우 낮은 보상이 있습니다. 그러나 한 건물에서 다른 건물로가는 판자를 먼저 놓은 다음 앞으로 나아가면 보상이 변경됩니다. 이를 나타 내기 위해 plank-in-place을 변수로 포함 할 수 있으므로 보드를 배치하면 로봇의 현재 상태와 앞으로 나아갈 때 생기는 상태가 실제로 변경됩니다. 따라서 보상 자체는 변하지 않았습니다. 그것은 단지 다른 상태에 있습니다.

희망적으로 도움이됩니다.

업데이트 2/7/2018 : 최근 upvote는이 질문의 존재를 상기 시켰습니다. 그 이후로 나는 NetLogo에서 RL로 실제로 훨씬 더 넓게 뛰어 들었다. 특히, NetLogo에 대해 python extension을 만들었습니다. 주로 기계 학습 알고리즘을 모델과 통합하기가 더 쉽습니다. 확장의 One of the demos은 모델이 실행될 때 깊은 Q-learning을 사용하는 에이전트 콜렉션을 교육합니다.

+0

나는 상태의 명확한 정의를 가지고 있지 않다는 것을 알기 때문에, 나의 시뮬레이션은 공유 및 도둑질 또는 아무것도하지 않는 것과 같은 사회적 상호 교류에 관한 것이지만, 모든 행동은 모든 요원에게 제공되지 않을 수도 있습니다. 그러나 일부는 내부 상황을 기반으로하고 다른 사람은 훔칠 수 있기 때문에 각 행위에 대해 다양한 행동이 가능합니다. 예를 들어 그룹 내 사용자 또는 그룹 밖에서 만 공유 할 수 있거나 또는 그룹에서 훔쳐보기로 결정할 수 있습니다 아웃 그룹에만 해당, 결정은 에이전트의 평판과 자기 만족에 영향을 미쳤습니다 – Marzy

+0

RL에 처음 왔고 어떤 질문을해야할지 확신하지 못했기 때문에 귀하의 답변이 많이 도움이됩니다. D – Marzy

+1

기쁩니다 도움이됩니다! 행동의 이용 가능성에 관하여 : 이용 가능한 행동은 주에 의해 완벽하게 결정되어야한다. 내부 변수는 상태에 포함될 수 있습니다. 따라서 에이전트가 도용하지 않는 경향이있는 경우 해당 소인은 국가의 일부이며 해당 작업을 사용할 수 없습니다. 마찬가지로 에이전트가 그룹 외부 에이전트와 가까워서 도용 할 수 있다고 가정합니다. 그것은 하나의 상태입니다. 이제 상담원이 그룹 내 상담원과 가까워서 도용 할 수 없다고 가정합니다. 그것은 다른 주입니다. 이런 방식으로, 주정부는 에이전트가 취할 수있는 조치를 결정합니다. –