What is the "self-learning" of a neural network?
In mainstream board-game engines, neural networks all use offline supervised learning.
The author first has the engine play against itself, generating data (game records).
Taking NNUE data generation as an example, this data contains the position at every move, the score, the result of that game and so on. It is usually generated by self-play at a few plies, or thousands or tens of thousands of nodes, per move.
Once enough data has been generated, it is used for training. The training process can be loosely understood as adjusting the huge number of parameters in the neural network so that its output gets closer to the data. For example, if a position is scored 100, training changes the network parameters so that the evaluation gets closer to that 100.
Because it is offline learning and depends on the author training and releasing the network, you cannot make the engine "learn" by using it (and board games are not suited to online learning at all). An engine does have a temporary store of information, the hash table, so when you analyze positions back and forth it may feel as if the engine has a memory, but that memory is lost once it is reloaded.
So today's strong engines cannot learn while being used. They rely on the author training them and then releasing them.
