First of all, it is great to have found this community!
I am currently implementing my own Alpha Zero clone on Connect4. However, I have a mental barrier I cannot overcome.
How can I use one neural network for both players? I do not understand what the input should be.
Do I just put in the board position ($6 \times 7$) and let's say Player1's pieces on the board are represented as $-1$, empty board as $0$ and Player2's pieces as $1$?
To me, that seems the most efficient. But then, in the backpropagation, I feel like this cannot be working. If I update the same network for both players (which Alpha Zero does), don't I try to optimize Player1 and Player 2 at the same time?
I just can't get my head around it. 2 Neural networks, each for one player is understandable for me. But one network? I don't understand how to backpropagate? Should I just flip my "z" (the result of the game) every time I go one layer backward? Is that all there is to using one network?
I hope I made this clear enough. I am quite confused, I tried my best.
Thank you for reading this!