这是我论文的第二部分：
\section{Introduction}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{figure\*}
\begin{center}
 \includegraphics[width=\linewidth]{images/MSC}
\end{center}
 \caption{\textbf{Framework overview of MSC.}
 Replays are firstly filtered according to predefined criteria and then parsed with PySC2.
 The states in parsed replays are sampled and turned into feature vectors.
 The final files which contain feature-action pairs and the final results are split into training, validation and test set.}
 \label{fig:msc}
\end{figure\*}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Deep learning has surpassed the previous state-of-the-art in playing Atari games~\cite{mnih2015human}, the classic board game Go~\cite{silver2016mastering} and the 3D first-person shooter game Doom~\cite{lample2017playing}.
But it remains as a challenge to play real-time strategy (RTS) games like StarCraft II with deep learning algorithms~\cite{vinyals2017starcraft}.
Such games usually have enormous state and action space compared to Atari games and Doom.
Furthermore, RTS games are usually partially observable, in contrast to Go.

Recent experiment has shown that it's difficult to train a deep neural network (DNN) end-to-end for playing StarCraft II.
\cite{vinyals2017starcraft} introduce a new platform SC2LE on StarCraft II and train a DNN with Asynchronous Advantage Actor Critic (A3C)~\cite{mnih2016asynchronous}.
Unsurprisingly, the agent trained with A3C couldn't win a single game even against the easiest built-in AI.
Based on this experiment and the progresses made in StarCraft I such as micro-management~\cite{peng2017multiagent}, build order prediction~\cite{justesen2017learning} and global state evaluation~\cite{erickson2014global}, we believe that treating StarCraft II as a hierarchical learning problem and breaking it down into micro-management and macro-management is a feasible way to boost the performance of current AI bots.

Micro-management includes all low-level tasks related to unit control, such as collecting mineral shards and fighting against enemy units;
while macro-management refers to the higher-level game strategy that the player is following, such as build order prediction and global state evaluation. 
We could obtain near-human performance in micro-management easily with deep reinforcement learning algorithms such as A3C~\cite{vinyals2017starcraft},
while it's hard to solve macro-management at present, though lots of efforts have been made by StarCraft community~\cite{churchill2011build,synnaeve2011bayesian,erickson2014global,justesen2017learning}.
One promising way for macro-management is to mimic professional human players with machine learning methods.
\cite{erickson2014global} learn to evaluate the global state from replays while~\cite{justesen2017learning} utilize DNN for build order prediction.
Both methods are trained with replays, which are official log files used to record the entire game status when playing StarCraft.

There are many datasets released in StarCraft I for learning macro-management from replays~\cite{weber2009data,cho2013replay,erickson2014global,justesen2017learning}.
But these datasets are designed for specific tasks in macro-management and didn't release the partition for training, validation and test set.
Besides, datasets in~\cite{cho2013replay,erickson2014global} only contain about 500 replays, which are too small for modern machine learning algorithms.
StarData~\cite{lin2017stardata} is the largest dataset in StarCraft I, containing 65646 replays.
But there are only a few replays labeled with the final results, which is not suitable for many tasks in macro-management, such as global state evaluation.
SC2LE~\cite{vinyals2017starcraft} is the largest dataset in StarCraft II, which has 800K replays.
However, there is neither a standard processing procedure nor predefined training, validation and test set.
Besides, it's designed for end-to-end human-like control of StarCraft II, which is not easy to use for tasks in macro-management.

Besides a standard dataset, macro-management algorithms could also be compared by building AI bots which differ only in the macro-management algorithm to play against each other. 
However, such a method works as a black box in its nature. The reasons why an algorithm wins are mixed and uncertain.
For example, the winning algorithm might be trained with a much larger dataset; the dataset might be composed of replays collected from more professional players; the features might contain more information; or, the macro-management module might be more compatible with the specific AI bot.
It is hard to tell which macro-management algorithm is better unless a standard dataset is used.

To take the research of learning macro-management from replays a step further, we build a new dataset MSC based on SC2LE.
It's the biggest dataset dedicated for macro-management in StarCraft II, which could be used for assorted tasks like build order prediction and global state evaluation.
% MSC is based on SC2LE for three reasons: 1) SC2LE is the largest replay dataset in StarCraft. 2) SC2LE is supported officially. 3) The replays in SC2LE have higher quality and more standard format.
We define standard procedure for processing replays from SC2LE, as shown in Figure~\ref{fig:msc}.
After processing, our dataset consists of well-designed feature vectors, pre-defined action space and the final result of each match.
All replays are then divided into training, validation and test set.
Based on MSC, we train baseline models and present the initial baseline results for global state evaluation and build order prediction, which are two of the key tasks in macro-management.
% For the sake of research on other tasks, we also show some statistics of MSC and list some downstream tasks suitable for it.
Our main contributions are two folds and summarized as follows:

不要回复
이 글의 2부는 다음과 같습니다.\섹션{소개}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\begin{figure\*}\begin{center} \포함그래픽[너비=\선폭]{이미지/MSC}\end{center} \caption{\textbf{MSC의 프레임워크 개요.} 리플레이는 먼저 사전 정의된 기준에 따라 필터링된 다음 PySC2로 파싱됩니다. 구문 분석된 리플레이의 상태는 샘플링되어 피처 벡터로 변환됩니다. 특징-행동 쌍이 포함된 최종 파일과 최종 결과는 훈련, 검증 및 테스트 세트로 나뉩니다.} \label{fig:msc}\end{figure\*}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%딥러닝은 아타리 게임~\cite{mnih2015human}, 고전적인 보드 게임인 Go~\cite{silver2016mastering}, 3D 1인칭 슈팅 게임인 Doom~\cite{lample2017playing}에서 이전의 최첨단 기술을 뛰어넘었습니다.하지만 스타크래프트 II와 같은 실시간 전략(RTS) 게임을 딥러닝 알고리즘으로 플레이하는 것은 여전히 도전 과제로 남아 있습니다~\cite{vinyals2017starcraft}.이러한 게임은 일반적으로 아타리 게임이나 둠에 비해 상태 및 액션 공간이 엄청나게 넓습니다.또한 RTS 게임은 바둑과 달리 일반적으로 부분적으로 관찰할 수 있습니다.최근 실험에 따르면 스타크래프트 II를 플레이하기 위해 심층 신경망(DNN)을 엔드 투 엔드로 훈련하는 것이 어렵다는 사실이 밝혀졌습니다.\인용{vinyals2017starcraft}에서는 스타크래프트 II에 새로운 플랫폼 SC2LE을 도입하고 비동기 어드밴티지 액터 크리틱(A3C)으로 DNN을 훈련합니다~\cite{mnih2016asynchronous}.놀랍게도 A3C로 훈련된 에이전트는 가장 쉬운 내장 AI를 상대로도 단 한 번도 승리하지 못했습니다.이 실험과 스타크래프트 I에서 마이크로 매니지먼트~\cite{peng2017multiagent}, 빌드 순서 예측~\cite{justesen2017learning}, 글로벌 상태 평가~\cite{erickson2014global} 등의 성과를 바탕으로 스타크래프트 II를 계층적 학습 문제로 취급하고 이를 마이크로 매니지먼트와 매크로 관리로 세분화하는 것이 현재 인공지능 봇의 성능을 향상시킬 수 있는 실현 가능한 방법이라고 판단했습니다.마이크로 관리에는 광물 파편 수집 및 적 유닛과의 전투와 같이 유닛 제어와 관련된 모든 낮은 수준의 작업이 포함됩니다;매크로 관리는 빌드 순서 예측 및 글로벌 상태 평가와 같이 플레이어가 따르는 더 높은 수준의 게임 전략을 의미합니다. 마이크로 매니지먼트는 A3C~\cite{vinyals2017starcraft}와 같은 심층 강화 학습 알고리즘을 통해 인간에 가까운 성능을 쉽게 얻을 수 있습니다,현재 거시적 관리는 스타크래프트 커뮤니티에서 많은 노력을 기울이고 있지만 해결하기는 어렵습니다~\cite{churchill2011build,synnaeve2011bayesian,erickson2014global,justesen2017learning}.매크로 관리의 한 가지 유망한 방법은 기계 학습 방법을 사용하여 프로 인간 플레이어를 모방하는 것입니다.\인용{erickson2014global}은 리플레이를 통해 글로벌 상태를 평가하는 방법을 학습하고, ~\cite{justesen2017learning}은 빌드 순서 예측을 위해 DNN을 활용합니다.두 방법 모두 스타크래프트 플레이 시 전체 게임 상태를 기록하는 데 사용되는 공식 로그 파일인 리플레이로 학습합니다.스타크래프트 I에는 리플레이를 통한 매크로 관리 학습을 위해 공개된 많은 데이터 세트가 있습니다~\cite{weber2009data,cho2013replay,erickson2014global,justesen2017learning}.그러나 이러한 데이터 세트는 매크로 관리의 특정 작업을 위해 설계되었으며 훈련, 검증 및 테스트 세트를 위한 파티션을 해제하지 않았습니다.게다가, ~\cite{cho2013replay,erickson2014global}의 데이터 세트에는 약 500개의 리플레이만 포함되어 있어 최신 머신 러닝 알고리즘에 사용하기에는 너무 작습니다.StarData~\cite{lin2017stardata}는 65646개의 리플레이를 포함하는 스타크래프트 I에서 가장 큰 데이터 세트입니다.그러나 최종 결과로 레이블이 지정된 리플레이가 몇 개 밖에 없어 글로벌 상태 평가와 같은 거시적 관리의 많은 작업에 적합하지 않습니다.SC2LE~\cite{vinyals2017starcraft}는 스타크래프트 II에서 가장 큰 데이터셋으로, 80만 개의 리플레이가 포함되어 있습니다.그러나 표준 처리 절차나 사전 정의된 훈련, 검증 및 테스트 세트가 없습니다.게다가 스타크래프트 II의 엔드 투 엔드 제어를 위해 설계되어 매크로 관리 작업에는 사용하기 쉽지 않습니다.표준 데이터 세트 외에도 매크로 관리 알고리즘만 다른 AI 봇을 구축하여 서로 대결하는 방식으로 매크로 관리 알고리즘을 비교할 수도 있습니다. 그러나 이러한 방법은 본질적으로 블랙박스처럼 작동합니다. 알고리즘이 승리하는 이유는 다양하고 불확실합니다.예를 들어, 승리한 알고리즘이 훨씬 더 큰 데이터 세트로 학습되었거나, 데이터 세트가 더 많은 프로 플레이어로부터 수집한 리플레이로 구성되었거나, 기능에 더 많은 정보가 포함되어 있거나, 매크로 관리 모듈이 특정 AI 봇과 더 잘 호환될 수 있습니다.표준 데이터셋을 사용하지 않는 한 어떤 매크로 관리 알고리즘이 더 나은지 말하기는 어렵습니다.리플레이를 통한 매크로 관리 학습 연구를 한 단계 더 발전시키기 위해 SC2LE에 기반한 새로운 데이터 세트 MSC를 구축했습니다.이는 스타크래프트 II의 매크로 관리 전용으로 가장 큰 데이터셋으로, 빌드 오더와 같은 다양한 작업에 사용할 수 있습니다.