As search depth increased, authors found that removing knowledge from the EF (evaluation function) improved the game: because the EF could run more quickly, and hence with more search depth, the knowledge wasn't needed any longer.
If you think about it, the same also applies to deep knowledge v shallow knowledge: once you have a deep knowledge about chess, some of the shallow knowledge becomes redundant. An obvious example of this is that when a weak player is shown a position, they'll count the piece types each side has, but a strong player will quickly make a better assessment without doing that.
"Deep knowledge" and "shallow knowledge" are fuzzy terms, but I'll try to clarify what I mean: there are some concepts in chess (or any other body of knowledge) that are obvious to weak players, which are easy to explain, and which are relatively easy to hand code into an EF. Other things will only be known to strong players, the players who know it will be unable to explain it, and they will be very difficult to hand code into an EF.
Given that brains and nets are pattern recognition machines, another way of putting it would be "simple patterns" v "complex patterns".
Once an EF has deep knowledge, the more that its (now redundant) shallow knowledge that can be disposed of, the smaller a "good" EF can be (it's possible that a net to evaluate chess positions need not be 50 Mb). Removing the shallow knowledge could also improve the evaluation, because the risk that shallow knowledge will be applied in a situation to which it doesn't apply will be removed.
What I am hoping for from this thread are two things:
1. ideas/thoughts that can help me clarify my thinking about this
2. any evidence, however tenuous (and I accept that it's likely to be tenuous), about the amount of shallow knowledge that can be removed from the EF once it has deep knowledge
There is also the question of how many instances of deep knowledge are needed for strong chess at ply 1 - that's another example of something about the nature of chess that we don't know: studies have shown that GMs have knowledge of 50,000 chess patterns, but we don't know how much deep knowledge they have, and we don't know how much of the shallow knowledge that they have is redundant. But maybe we can find some clues, and maybe something you tell me could help me with that.
This thread is a "brainstorm" - there are no "bad ideas" here (moderators - please squish any rudeness directed towards anyone apart from myself in this thread) - please contribute anything you can!
The Nature Of Knowledge
Moderators: hgm, Dann Corbit, Harvey Williamson
-
towforce
- Posts: 11477
- Joined: Thu Mar 09, 2006 12:57 am
- Location: Birmingham UK
The Nature Of Knowledge
Writing is the antidote to confusion.
It's not "how smart you are", it's "how are you smart".
Your brain doesn't work the way you want, so train it!
It's not "how smart you are", it's "how are you smart".
Your brain doesn't work the way you want, so train it!
-
smatovic
- Posts: 2576
- Joined: Wed Mar 10, 2010 10:18 pm
- Location: Hamburg, Germany
- Full name: Srdja Matovic
Re: The Nature Of Knowledge
My thoughts on an ply 1 NN "Behemot":
"The next step for LC0?"
http://talkchess.com/forum3/viewtopic.php?f=2&t=74915
--
Srdja
"The next step for LC0?"
http://talkchess.com/forum3/viewtopic.php?f=2&t=74915
--
Srdja
-
towforce
- Posts: 11477
- Joined: Thu Mar 09, 2006 12:57 am
- Location: Birmingham UK
Re: The Nature Of Knowledge
smatovic wrote: ↑Mon Feb 15, 2021 12:57 pm"The next step for LC0?" http://talkchess.com/forum3/viewtopic.php?f=2&t=74915
Very interesting - thank you very much! For me, two key takeaways:
1. "..known weaknesses, tactics in form of "shallow-traps" in a row, and end-game"
The "shallow traps" seems to indicate that at the level LC0 has reached, what I call "shallow knowledge" is still needed. Unfortunately, we have no way of knowing the extent to which "deep knowledge" has formed in LC0, and how much of its strength derives from "a lot of shallow knowledge".
GMs say that in some positions, there is no option but to calculate ahead: they might be right, or it might be that they themselves are missing a piece of deep knowledge that would enable them to know the outcome of a position without having to do calculation.
The end-game weakness is disappointing because end game skill is one of the key differentiators between weak and strong players. It implies to me that LC0 draws its strength more from a large amount of "shallow knowledge" than from formation of "deep knowledge".
2. Key clip from Kai's response:
"a factor of 10 for the net size gives about 200 Elo improvement at 1 node"
As things stand with LC0, that's a serious issue. I think that if a way could be found to skew the training towards formation of deep knowledge and away from shallow knowledge, this could be overcome.
Writing is the antidote to confusion.
It's not "how smart you are", it's "how are you smart".
Your brain doesn't work the way you want, so train it!
It's not "how smart you are", it's "how are you smart".
Your brain doesn't work the way you want, so train it!
-
cdani
- Posts: 2204
- Joined: Sat Jan 18, 2014 10:24 am
- Location: Andorra
Re: The Nature Of Knowledge
For me chess is mostly tactics, and deep knowledge is a way to find reasonable moves when there is no way to go deep enough.
Lc0 has some problems in endgames because no deep knowledge exists in endgames that obtains better results than search, because endgames are specific.
Lc0 has some problems in endgames because no deep knowledge exists in endgames that obtains better results than search, because endgames are specific.
Daniel José -
http://www.andscacs.com
-
towforce
- Posts: 11477
- Joined: Thu Mar 09, 2006 12:57 am
- Location: Birmingham UK
Re: The Nature Of Knowledge
cdani wrote: ↑Mon Feb 15, 2021 10:46 pm For me chess is mostly tactics, and deep knowledge is a way to find reasonable moves when there is no way to go deep enough.
Lc0 has some problems in endgames because no deep knowledge exists in endgames that obtains better results than search, because endgames are specific.
How do strong humans choose moves in the endgame, then? Why is it that until recently, strong humans could outplay computers in the endgame, even though the computers would have been out searching them? In the 1970s, David Levy gave advice on playing computers, and one of his points was to play for the endgame. Strong players can look at an endgame position and quickly say what's likely to happen.
LC0 will also be able to out search humans in the endgame, and, during its training, it will have "seen" many more endgames than any (single) human ever will.
For me, it seems likely that, in the same number of games, humans learn faster than today's ANNs by using abstraction and conceptualisation. This, again IMO, must lead to them having what I'm calling a deeper knowledge.
However, I am here to learn, and if there's a gap in my knowledge (about knowledge
Writing is the antidote to confusion.
It's not "how smart you are", it's "how are you smart".
Your brain doesn't work the way you want, so train it!
It's not "how smart you are", it's "how are you smart".
Your brain doesn't work the way you want, so train it!
-
Dann Corbit
- Posts: 12482
- Joined: Wed Mar 08, 2006 8:57 pm
- Location: Redmond, WA USA
Re: The Nature Of Knowledge
EGTB represent perfect knowledge.
SF gets one or two orders of magnitude more TB hits than LC0.
I call this "talking to God" about chess.
So it is SF who gets his prayers answered, due to his determination.
I do not think LC0 is capable of more queries because the search is much slower.
But this will change with the new AMD GPUs, when they arrive.
SF gets one or two orders of magnitude more TB hits than LC0.
I call this "talking to God" about chess.
So it is SF who gets his prayers answered, due to his determination.
I do not think LC0 is capable of more queries because the search is much slower.
But this will change with the new AMD GPUs, when they arrive.
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
-
towforce
- Posts: 11477
- Joined: Thu Mar 09, 2006 12:57 am
- Location: Birmingham UK
Re: The Nature Of Knowledge
Dann Corbit wrote: ↑Mon Feb 15, 2021 11:34 pm EGTB represent perfect knowledge.
SF gets one or two orders of magnitude more TB hits than LC0.
I call this "talking to God" about chess.
So it is SF who gets his prayers answered, due to his determination.
A quick thought experiment about a 3 piece endgame: very roughly, the magnitude of the number of ways the pieces can be placed in the board is around P(64, 3) for the 64 squares and the three pieces, which is about 250,000.
If the board was 20x20 instead of 8x8, the magnitude would be around P(400, 3), which is around 64 million - so your tablebase would have to be a lot bigger. However, the "deep knowledge" (or a strong human helping) would enable you to play just as well with almost the same amount of computing work!
Trying to solve the endgame by search on this 20x20 board with a breadth-first search would be a non starter, and any search that wasn't well-pruned would be a disaster,
I do not think LC0 is capable of more queries because the search is much slower.
But this will change with the new AMD GPUs, when they arrive.
Very interesting. Not wanting to go off topic, but do you happen to know whether LC0 can use TPUs (tensor processing units - like GPUs, but cheaper and faster for the same NN work)?
Writing is the antidote to confusion.
It's not "how smart you are", it's "how are you smart".
Your brain doesn't work the way you want, so train it!
It's not "how smart you are", it's "how are you smart".
Your brain doesn't work the way you want, so train it!
-
Uri Blass
- Posts: 10102
- Joined: Thu Mar 09, 2006 12:37 am
- Location: Tel-Aviv Israel
Re: The Nature Of Knowledge
<snipped>
2)During a game a player does not need to count the piece types each side has because it is enough to know the initial count and to count the difference in the line that you search
<snipped>
and there are cases when I can explain both shallow knowledge and deep knowledge and I will give a simple example when the deep knowledge is something that beginners can easily learn but initially they may know only the shallow knowledge.
[d]4k3/4Q3/4K3/8/8/8/8/8 w - - 7 1
I know that this position is checkmate without calculating thank to deep knowledge that tell me that if the king is in the edge of the board(first or last rank or first or last file) and there is queen in square at distance one from it(rook direction) not in the edge of the board and the queen is protected and there is no piece that is not the king that can capture it then it is mate.
I also know to explain it without deep knowledge and say it is mate because the queen threats check and the king e8 cannot capture the queen because the king e6 prevent it and that the king e8 cannot go to d8,f8,d7,f7 because the queen e7 prevent it.
1)I believe that a strong player can count the pieces faster than a weak player.towforce wrote: ↑Mon Feb 15, 2021 12:52 pm As search depth increased, authors found that removing knowledge from the EF (evaluation function) improved the game: because the EF could run more quickly, and hence with more search depth, the knowledge wasn't needed any longer.
If you think about it, the same also applies to deep knowledge v shallow knowledge: once you have a deep knowledge about chess, some of the shallow knowledge becomes redundant. An obvious example of this is that when a weak player is shown a position, they'll count the piece types each side has, but a strong player will quickly make a better assessment without doing that.
2)During a game a player does not need to count the piece types each side has because it is enough to know the initial count and to count the difference in the line that you search
<snipped>
I do not see a reason to remove the shallow knowledge and I do not think that deep knowledge is only about what you are unable to exaplaintowforce wrote: ↑Mon Feb 15, 2021 12:52 pm "Deep knowledge" and "shallow knowledge" are fuzzy terms, but I'll try to clarify what I mean: there are some concepts in chess (or any other body of knowledge) that are obvious to weak players, which are easy to explain, and which are relatively easy to hand code into an EF. Other things will only be known to strong players, the players who know it will be unable to explain it, and they will be very difficult to hand code into an EF.
Given that brains and nets are pattern recognition machines, another way of putting it would be "simple patterns" v "complex patterns".
Once an EF has deep knowledge, the more that its (now redundant) shallow knowledge that can be disposed of, the smaller a "good" EF can be (it's possible that a net to evaluate chess positions need not be 50 Mb). Removing the shallow knowledge could also improve the evaluation, because the risk that shallow knowledge will be applied in a situation to which it doesn't apply will be removed.
and there are cases when I can explain both shallow knowledge and deep knowledge and I will give a simple example when the deep knowledge is something that beginners can easily learn but initially they may know only the shallow knowledge.
[d]4k3/4Q3/4K3/8/8/8/8/8 w - - 7 1
I know that this position is checkmate without calculating thank to deep knowledge that tell me that if the king is in the edge of the board(first or last rank or first or last file) and there is queen in square at distance one from it(rook direction) not in the edge of the board and the queen is protected and there is no piece that is not the king that can capture it then it is mate.
I also know to explain it without deep knowledge and say it is mate because the queen threats check and the king e8 cannot capture the queen because the king e6 prevent it and that the king e8 cannot go to d8,f8,d7,f7 because the queen e7 prevent it.
-
Dann Corbit
- Posts: 12482
- Joined: Wed Mar 08, 2006 8:57 pm
- Location: Redmond, WA USA
Re: The Nature Of Knowledge
I do not know, but I guess that with some modification the TPUs could be used.
I believe they might even be on sale. I think I saw that once.
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
-
towforce
- Posts: 11477
- Joined: Thu Mar 09, 2006 12:57 am
- Location: Birmingham UK
Re: The Nature Of Knowledge
Uri Blass wrote: ↑Tue Feb 16, 2021 12:54 am <snipped>1)I believe that a strong player can count the pieces faster than a weak player.towforce wrote: ↑Mon Feb 15, 2021 12:52 pm As search depth increased, authors found that removing knowledge from the EF (evaluation function) improved the game: because the EF could run more quickly, and hence with more search depth, the knowledge wasn't needed any longer.
If you think about it, the same also applies to deep knowledge v shallow knowledge: once you have a deep knowledge about chess, some of the shallow knowledge becomes redundant. An obvious example of this is that when a weak player is shown a position, they'll count the piece types each side has, but a strong player will quickly make a better assessment without doing that.
2)During a game a player does not need to count the piece types each side has because it is enough to know the initial count and to count the difference in the line that you search
<snipped>I do not see a reason to remove the shallow knowledge and I do not think that deep knowledge is only about what you are unable to exaplaintowforce wrote: ↑Mon Feb 15, 2021 12:52 pm "Deep knowledge" and "shallow knowledge" are fuzzy terms, but I'll try to clarify what I mean: there are some concepts in chess (or any other body of knowledge) that are obvious to weak players, which are easy to explain, and which are relatively easy to hand code into an EF. Other things will only be known to strong players, the players who know it will be unable to explain it, and they will be very difficult to hand code into an EF.
Given that brains and nets are pattern recognition machines, another way of putting it would be "simple patterns" v "complex patterns".
Once an EF has deep knowledge, the more that its (now redundant) shallow knowledge that can be disposed of, the smaller a "good" EF can be (it's possible that a net to evaluate chess positions need not be 50 Mb). Removing the shallow knowledge could also improve the evaluation, because the risk that shallow knowledge will be applied in a situation to which it doesn't apply will be removed.
and there are cases when I can explain both shallow knowledge and deep knowledge and I will give a simple example when the deep knowledge is something that beginners can easily learn but initially they may know only the shallow knowledge.
[d]4k3/4Q3/4K3/8/8/8/8/8 w - - 7 1
I know that this position is checkmate without calculating thank to deep knowledge that tell me that if the king is in the edge of the board(first or last rank or first or last file) and there is queen in square at distance one from it(rook direction) not in the edge of the board and the queen is protected and there is no piece that is not the king that can capture it then it is mate.
I also know to explain it without deep knowledge and say it is mate because the queen threats check and the king e8 cannot capture the queen because the king e6 prevent it and that the king e8 cannot go to d8,f8,d7,f7 because the queen e7 prevent it.
A good and important point raised. Thank you.
I just get the nagging feeling that with regards to the endgame (and hence in other parts of the game), strong players must have some complex patterns - hence what I'm calling "deep knowledge".
Older computers, with a large amount of search depth (even in the early 1990s computers were looking something like 17-25 ply ahead in the endgame, where the branching factor of the game tree is small), and what you'd think would be good knowledge (every computer I played seemed to know that a pawn on row 7 is more valuable than a pawn on row 2 (the starting position) for example), used to get comprehensively outplayed in the end game by strong humans, who couldn't possibly have been considering more than about 4 positions per second.
At some point in their learning, I think that the strong human would have formed deep knowledge/heuristics or complex patterns which enables them to "just know" the truth about an endgame position.
Given that LC0 is said to be weak in the endgame, and that:
1. it will have seen several orders of magnitude more endgames than any human during its training
2. while not as fast as a non-NN eval, it's still very fast by human standards, and probably still looking 17-25 ply ahead in the endgame (maybe someone who uses LC0 can confirm this)
...it is likely that something different is happening between LC0 training and human training. Formation of "deep knowledge" (complex patterns) would certainly be a candidate.
Writing is the antidote to confusion.
It's not "how smart you are", it's "how are you smart".
Your brain doesn't work the way you want, so train it!
It's not "how smart you are", it's "how are you smart".
Your brain doesn't work the way you want, so train it!