비행기 전쟁, Tencent가 WeChat에 출시한 이 미니 게임은 2013년에 큰 인기를 끌었습니다.


이 슈팅 게임에서는 상하좌우로 움직여 적의 항공기를 피하고 최대한 많이 쏴서 높은 점수를 획득할 수 있습니다.


총알은 일정한 간격으로 자동으로 발사되므로 비행기의 위치만 결정하면 됩니다. 게임은 당신이 적에게 맞을 때까지 끝나지 않습니다.


이 미니 게임의 시나리오에서는 DQN(Deep Q Network)을 적용하여 게임 자체를 플레이하고 가장 높은 점수를 얻는 지능형 에이전트를 효과적으로 훈련시켰습니다.


또한 강화 학습 초보자의 학습 과정을 돕기 위한 플랫폼 형태로 만들었습니다.


reward decay, observations, epsilon greedy와 같은 하이퍼파라미터를 조정하여 학습 프로세스와 성능이 어떤 영향을 받는지 직관적으로 확인할 수 있었습니다.


[GitHub]에 Python 버전이 있습니다. 전체 리포지토리를 복제하여 컴퓨터에서 실행할 수 있습니다. 아래는 빠르게 살펴볼 수 있는 자바스크립트 기반의 작은 데모입니다.

비행기 전쟁 + DQN

이 데모는 TensorFlow.js로 빌드된 Seann999의 작업을 기반으로 수정된 버전입니다(자세한 내용은 이 페이지 하단 참조). 아래의 모든 하이퍼파라미터와 설정을 엉망으로 만들어 어떤 흥미로운 일이 일어날지 확인할 수 있습니다.

Acknowledgement

Python 버전의 경우, 비행기 전쟁 게임용 Kill-Console의 재현된 소스 코드와 MorvanZhou의 DQN 코드 샘플 덕분 입니다.
자바스크립트 버전의 경우 Seann999에서 제공한 아이디어와 코드에 감사드립니다. 그의 프로젝트는 우리에게 정말 많은 영감을 주었습니다.
그들이 없었다면 우리가 고등학교 졸업 후 이렇게 짧은 시간에 이 플랫폼을 구축하는 것은 불가능했을 것입니다.
이 웹사이트는 unicar 에 의해 제작되었으며, 이 웹사이트에 사용된 아름다운 벡터 이미지는 freepik 에서 가져왔습니다.

@VMaggieee에 의해 제작됨