agent 정보
와 덜 집중해야할 agent 정보
가 무엇인지 학습합니다.다양한 reward setting
+ 다양한 action spaces를 가진 setting
)개별화된 reward setting
적대적인 setting
global state를 제공하지 않는 setting
시간 t에서 전체 선수들의 시야 frame(o_1, ..., o_n)
과, 시간 t 의 전체경기장 시야 frame(o)
을 가져옵니다.시간 t에서 나를 제외한 동료 선수들의 행동(a)
도 데이터셋에서 가져옵니다.시간 t에서 내 시야 frame과(o_i)
에서 내가 판단한 내 행동들의 확률분포를 아래 확률 목표와 유사하게 만드는 것이 목표입니다.시간 t에서 전체 선수들의 시야 frame(o_1, ..., o_n)
에서 각 선수들이 현재 생각으로 선택할 행동들(a)
을 먼저 계산합니다.시간 t 의 전체경기장 시야 frame(o)
에서, 각 선수들이 현재 생각으로 선택할 행동들(a)
을 했을 때의 가치의 확률 분포 - baseline시간 t에서 나를 제외한 동료 선수들의 행동(a)
을 dataset에서 가져와서 사용합니다. (실제 내가 돌려본 실험 결과도 이 방법의 성능이 더 좋음)시간 t 의 전체경기장 시야 frame(o)
에서 내가 한 행동의 가치를 아래와 같게 만들고 싶다.내가 한 행동 행동으로 얻은 보상
+ 시간 t+1 의 전체경기장 시야 frame(o')
에서 나와 선수들의 현재 판단(a')으로 할 행동을 했을 때의 가치t+1에서 나를 제외한 주변 동료들의 행동(a')
을 데이터셋에서 가져옵니다. (실제 내가 돌려본 실험 결과도 이 방법의 성능이 더 좋음)target policy network n개
각각에 (o_i_t+1)
을 각각 통과시켜, a'
와 prob
을 구함.-
agent i의 Oi
+ 나머지 agents들의 Oj, aj
를 입력값으로 가짐nn.BatchNorm1d(sdim + adim)
nn.Linear(sdim + adim, hidden_dim)
nn.LeakyReLU
nn.BatchNorm1d(sdim)
nn.Linear(sdim, hidden_dim)
nn.LeakyReLU()
[ [_, _ , -- n마리], ... num_head... , [_, _ , -- n마리] ]
all_head_selectors
nn.Linear(hidden_dim, attend_dim, bias=False)
all_head_keys
nn.Linear(hidden_dim, attend_dim, bias=False)
all_head_values
nn.Linear(hidden_dim, attend_dim)
nn.LeakyReLU()
nn.Linear(2 * hidden_dim, hidden_dim)
nn.LeakyReLU()
nn.Linear(hidden_dim, adim)