World Model (2)

skjh314108·1일 전

AI 스터디

목록 보기
13/13

참고자료

https://arxiv.org/abs/1803.10122


4. VizDoom


VizDoom은 1인칭 슈팅 게임 Doom을 기반으로 한 인공지능 연구 환경입니다.

논문에서는 몬스터가 발사하는 화염구를 좌우로 움직이며 피하는 Take Cover 과제를 사용합니다. 에이전트의 목표는 최대한 오래 살아남는 것이며, 생존한 시간을 누적 보상으로 사용합니다.

VizDoom 실험에서는 World Model이 생성한 가상 환경 안에서만 제어기를 학습하고 그 행동을 실제 게임 환경에서도 사용할 수 있는지 확인합니다.

이 실험에서 M은 다음 잠재 벡터 뿐만 아니라 다음 시점에서 에이전트가 사망하는지도 예측합니다.

이 논문에서 "Training Inside of the Dream"이라는 표현이 있는데
이는 실제 게임 화면을 매번 입력받을 필요 없이 잠재공간에서 예측과 행동을 반복하는 것을 의미합니다.

만약 가상환경에서 학습된 controller가 실제 게임에서도 화염구를 잘 피할 수 있다면 World Model의 학습이 실제 환경에서도 쓰일 수 있다는 것을 의미합니다.


5. Cheating the World Model


가상환경에서 에이전트의 행동이 좋은 보상을 받았다고 해서 정말 실제 환경에서도 좋은 환경일까요?

World Model은 수집한 데이터로 학습한 환경의 근사 모델입니다.
그 말은 실제 게임의 규칙과 다른 상황을 만들어 낼 수 있다는 뜻이기도 합니다.

논문에서는 이런 상황을 소개합니다.

에이전트가 특정 움직임을 실행하였을 때 몬스터가 화염구를 발사하지 않는 모델의 오류가 나타났습니다.

그에따라
에이전트는 화염구를 피하는 방법 대신 모델의 오류를 이용하여 위험 자체가 발생하지 않도록 하는 방법을 학습한 것입니다.

제어기의 목표는 누적 보상을 최대화하는 것입니다.
따라서 정상적으로 화염구를 피하든 모델의 허점을 이용하든 더 오래 생존할 수 있다면 그 행동을 선택하게 됩니다.
하지만 실제 게임에는 이러한 허점이 없기 때문에 가상 환경에서 높은 보상을 얻은 행동이 실제 환경에서는 효과가 없을 수 있습니다.

따라서 가상환경의 학습에는 보상만 크게 만들도록 학습하는 것 뿐만 아니라 실제 환경에서 더 잘 행동하도록 학습하는 것 또한 포함 해야합니다.

이를 할 수 있도록 Temperature을 활용합니다.


6. Temperature


앞서 얘기했듯 에이전트가 World Model의 허점을 악용하는 것을 막기 위해 Temperature라는 개념을 도입합니다.

이는 M이 예측한 분포에서 다음 잠재 벡터를 샘플링할 때 생성되는 결과의 무작위성을 조절하는 파라미터입니다.

Temperature값을 낮추면 가능성이 높은 쪽에 샘플링이 집중되어 환경의 변화가 일정해집니다.
반대로 높이면 결과가 다양해지므로 환경의 불확실성이 커집니다.


논문에서는 예시로 τ=0.1\tau=0.1일 때 모델이 화염구가 생성되는 다른 혼합 성분으로 충분히 전환하지 못해 몬스터가 화염구를 발사하지 않는 현상이 나타났습니다. 이러한 환경에서는 오래 생존하더라도 실제로 공격을 피하는 방법을 배웠다고 보기 어렵습니다.

Temperature를 적절히 높이면 화염구의 움직임이 더 불규칙해지는 등 가상 환경이 어려워집니다.
에이전트는 다양한 상황에서도 살아남아야 하므로 특정한 모델의 허점에 의존하는 행동을 학습하기 어려워집니다.



논문의 실험에 의하면

낮은 Temperature에서는
가상환경에서는 좋은 점수를 받았지만 실제 환경 점수는 많이 좋지 않습니다.

반면 높은 Temperature에서는
가상환경에서 점수가 낮았음에도 실제 환경 점수는 더 높게 기록되었습니다.

하지만 Temperature값을 너무 높이면 지나치게 불확실성이 커져 controller가 중요한 행동을 학습하기가 어려워집니다.

따라서 적절한 하이퍼파라미터인 Temperature값을 찾는것이 중요합니다.

profile
인공지능, 알고리즘, ps 등을 다룹니다

0개의 댓글