FuN은 2개의 계층으로 구성된 Hierarchical Reinforcement Learning 구조이며, architecture의 상단은 manager, 하단은 worker를 의미한다.
•
Manager (high-level hierarchy)
환경의 state를 관찰하여 goal embedding 생성한다. 이 goal은 worker가 앞으로 일정 step 단위로 high-level goal을 설정한다. 이는 agent가 도달해야 할 방향을 나타낸다.
•
Worker (low-level hierarchy)
manager가 정한 goal 을 따라 environment에서 행동(micro action)을 수행한다. manager로부터 받은 goal과 state history를 기반으로 action을 출력한다.
→ manager는 worker에게 방향을 제시하고, worker는 그 방향대로 행동한다.
Figure 추가 설명
1.
는 state 의 embedding 된 것이며, subgoal인 도 같은 embedding space에 있는 vector이다. 이렇게 embedding하는 이유는 high dimension input도 처리할 수 있도록 하기 위함이다. 를 embedding space에서 state표현으로 사용한다. 따라서 FuN의 manager는 단순히 “너는 이 상태로 가”라고 말하지 않는다.
와 같이 embedding state 에서 앞으로 어떤 방향으로 가야 하는지를 벡터로 제시한다. 즉, 이 goal 는 embedding space 상에서의 , 즉 방향이다.
따라서 “embedding space에서, 앞으로 이런 방향으로 움직여봐” 라고 간접적으로 유도하여 worker가 얼마나 잘 따라갔는지를 평가할 수 있다.
2.
: embedding vector의 dimension 수. state embedding , goal
: manager가 subgoal 를 생성할 때 사용하는 goal subspace의 dimension
256 → 16 이 되는건 single linear layer를 거침으로써 dimension이 축소된다.
3.
manager에서의
manager는 goal vector를 그대로 주지 않고, single linear layer를 거쳐 low-dimensional representation 를 준다. 이를 projection matrix 에 곱하여 full goal vector 를 얻는다.
4.
worker에서의
각 action마다 Q-value를 추정하는 방식을 사용한다. 이때 각 action마다 goal 방향에 따른 utility를 측정하게 되고, action의 개수만큼 score를 생성한다.
→ 따라서, worker의 output은 action 개수 만큼의 score를 만들고, 이때 각 score는 에 대응되므로 matrix가 나온다.
•
FuN 의 진행 방식
1.
Manager는 몇 step마다 하나의 goal vector 를 생성한다
2.
이 goal은 embedding space 상에서 방향을 의미함
3.
Worker는 이 goal을 보고 다음 행동들을 결정
4.
Worker가 동안 실행한 결과가 실제 와 얼마나 잘 맞는지를 intrinsic reward로 측정한다.
5.
Manager는 이 reward로만 학습된다. (즉, worker로부터 gradient를 직접 받지 않음)
왜 manager의 goal을 직접 학습하지 않고 gradient flow를 끊는가?
FuN의 구조는 fully differentiable 하다. 원칙적으로 worker의 policy gradient가 manager까지 gradient flow를 통해 전달될 수 있다.
하지만 manager의 high-level goal을 직접적으로 gradient로 학습하게 되면, manager의 high-level goal ()이 단지 worker의 행동 결과에 따라 수동적으로 학습될 수 있다. 이런 경우 manager가 능동적으로 좋은 goal을 생성한다고 보장할 수 없다. 따라서 worker의 gradient가 manager까지 흘러가지 않도록 gradient flow를 끊고 간접적으로 학습 방식을 사용한다.
Manager의 learning: Transition Policy Gradient
Notation
: cosine similarity
: 현재 state embedding
: c step 이후의 state embedding
: manager가 생성한 goal
: manager의 advantage function
즉, goal 방향으로 실제로 잘 움직였다면 → positive advantage → manager의 goal을 더 강화
반대로 잘 못 움직였다면 → negative advantage → goal 방향을 수정
Notation
: 현재 시점의 state embedding
s: 과거 state embedding
: 과거 시점에 manager가 설정한 goal
: 두 벡터 간 cosine similarity
: 과거 몇 스텝을 고려할 것인지 (horizon)
worker는 manager가 생성한 goal 방향으로 잘 이동했는지를 기준으로 intrinsic reward를 받는다.
Notation
: 환경에서 주어진 외적 reward
: manager가 설정한 goal과의 alignment에 기반한 intrinsic reward
: intrinsic reward의 가중치를 조절하는 hyperparameter
worker는 환경의 reward만을 사용하는 것이 아니라 , manager의 goal를 따르는 정도도 비례한 reward를 더하여 학습한다.