I just read about deep Q-learning, which is using a neural network for the value function instead of a table.
I saw the example here: https://yanpanlau.github.io/2016/07/10/FlappyBirdUsing Keras and Deep Q-Keras.htmlNetwork to Play FlappyBird and he used a CNN to get the Q-value.
My confusion is on the last layer of his neural net. Neurons in the output layer each represent an action (flap, or not flap). I also see the other projects where the output layer also represents all available actions (move-left, stop, etc.)
How would you represent all the available actions of a chess game? Every pawn has a unique and available movement. We also need to choose how far it will move (rook can move more than one square). I've read Giraffe chess engine's paper and can't find how he represents the output layer (I'll read once again).
I hope somebody here can give a nice explanation about how to design NN architecture in Q-learning, I'm new in reinforcement learning.