이 section에서는 IQL의 non-stationarity 문제를 importance sampling 기법을 사용하여 해결하는 것을 보입니다. 보통 RL에서 agent가 off-policy를 배우기 위해 target policy가 만든 분포와 모은 데이터의 분포가 다를때 Importance sampling을 진행합니다. 이런 방식을 응용해, 현재 환경에서 만들 분포와 모은 다른환경에서의 분포에 차이를 importance sampling을 통해 해결할 수 있다는 것이 off-environment의 기본 아이디어입니다. 우리는 각 학습할 때마다 다른 agent들의 policies가 바뀌어 환경 분포가 바뀔 것을 알고 있습니다. 그러므로 off-environment를 이용하여 이 문제를 해결할 수 있습니다.
In Fully-observable MARL environment
Q-function이 실제 state s를 볼 수 있다면, 주어진 다른 agent의 policy에 대해 한 agent의 Bellman optimality equation을 다음과 같이 쓸 수 있습니다.
Qa∗(s,ua∣π−a)=∑u−aπ−a(u−a∣s)[r(s,ua,u−a)+γ∑s′P(s′∣s,ua,u−a)maxu′aQa∗(s′,u′a)]
이 때, 시간이 지남에 따라, agent의 policy가 변하므로 이를 기록하기 위한 시간을 넣은 tuple을 만들면 다음과 같이 표기 가능합니다.
<s,uar,π(u−a∣s),s′>(tc)
그렇다면 loss는 replay time tr에 대해 다음과 같이 구할 수 있습니다.
L(θ)=∑i=1bπti−a(u−a∣s)πtr−a(u−a∣s)[(yiDQN−Q(s,u;θ))2]
In Partially-observable MARL environment
partially observable상황에서는 action-observation histories가 agent의 policies뿐만아니라, transition과 observation function과도 연관되어 있기 때문에 좀더 식이 복잡해집니다. 이를 정의하기 위해서 이전의 정의들을 확장해보겠습니다.
state spaces^={s,τ−a}∈S^=S×Tn−1이는 다른 agent들의 이전 history를 포함하여 정의됩니다. 그리고, 그에 상응하는 observation function O^(s^,a)=O(s,a)입니다. reward function은 r^(s^,u)=∑u−aπ−a(u−a∣τ−a)r(s,u)로 joint action에 대해 정의됩니다. 마지막으로 transition probability function P^를 정의하면,
P^(s^′∣s^,u)=P(s′,τ′∣s,τ,u)=∑u−aπ−a(u−a∣τ−a)P(s′∣s,u)P(τ′−a∣τ−a,u−a,s′)
로 정의할 수 있습니다. 바뀐 정의를 가지고 다시 Bellman Equation를 나타내보겠습니다.
Q(τ,u)=∑s^p(s^∣τ)[r^(s^,u)+γ∑τ′,s^′,u′P^(s^′∣s^,u)π(u′,τ′)p(τ′∣τ,s^′,u)Q(τ′,u′)]
다음과 같이 action-observation histories τ에 따른 state s^로 갈확률에 따른 값으로 나타납니다. 이때 양변에 ∑u−aπ−a(u−a∣τ−a) 를 곱해주면, 정의들에 의해 다음 처럼 정의 가능합니다.
Qa∗(s,ua∣π−a)=∑sp(s^∣τ)∑u−aπ−a(u−a∣τ−a)[r(s,u)+γ∑r′,s^′,u′P(s′∣s,u)p(τ′−a∣τ,u−a,s′)π(u′,τ′)p(τ′∣τ,s^′,u)Q(τ′,u′)이 때, 이전엔 π−a(u−a∣s)이었지만 이번엔 π−a(u−a∣τ−a)에 의존하기 때문에 importance weights πti−a(u−a∣s)π−atr(u−a∣s)는 근사값으로 구해짐을 알 수 있습니다.