Closed SongleChen2015 closed 3 years ago
Hello, sorry for late response.
Spatial encoder consist of only CNN works well in the minigame using only unit_id, player feature of screen observation. However, I need to use all feature of paper in full game case as you said.
I am currently developing agent for Simple64 map. Maybe, I am going to add more feature soon.
Thank you for your patience
according https://ychai.uk/notes/2019/07/21/RL/DRL/Decipher-AlphaStar-on-StarCraft-II/ , the spatial encoder may be not consistant with the description of the paper presented below:
Spatial encoder Inputs: map, entity_embeddings Outputs: embedded_spatial - A 1D tensor of the embedded map map_skip - output tensors of intermediate computation, used for skip connections. map: add two features
cameral: whether a location is inside/outside the virtual camera; scattered entities. Pass entity_embeddings through a size 32 conv1D followed by a ReLU, then scattered into a map layer so that the 32 vector at a specific location corresponds to the units placed there. Concatenated all planes including camera, scattered_entities, vasibility, entity_owners, buildable, etc. Project to 32 channels by 2D conv with kernel size 1, followed by a ReLU. Then downsampled from 128x128 to 16x16 through 3 conv2D and ReLUs with different channel sizes (i.e., 64, 128, and 128).
embedded_spatial: The ResBlock output is embedded into a 1D tensor of size 256 by a MLP and a ReLU.