I am writing an artificial intelligence of a game. The algorithm needs a neural network to represent some information of the game board. The board is an 8*8 grid and each position in the grid has 4 types of contents. Since the type of a position is a discrete value, I binarize the type to a vector of size 4 (according to Arun Iyer's suggestions). Thus, I can map the game board to a 8*8*4 tensor that feeds to the neural network.
Since the game board can be viewed (roughly) as an 8*8 image with 4 channels, I think a convolutional neural network may be helpful. Am I right?
If that's right, I am wondering if my design of the three convolution layers (all with stride 1) makes sense: a 3*3 kernel with 32 feature maps, followed by a 3*3 kernel with 64 feature maps and followed by a 2*2 kernel with 64 feature maps.
Through testing, I found this structure is helpful and I want to add more layers or more parameters. However, since the input is too small (8*8), adding more convolution layers will make the size of the last feature maps (before FC layers) very small (may be 1*1 or 2*2). Does small feature map worsen the model's performance? Or should I use some other network architectures?
Thanks in advance!
P.S. I am applying deep reinforcement learning on the game. The output of the network is the estimated rewards the agent could get under current game board configuration. The network is trained using q-learning.