go4thewin wrote:Is there anyway to play the nonzero version of katago on ogs? Thanks for the test matches!
"kata-bot" on OGS is now running one of the latest nets.
You're likely not going to notice any difference, however (except maybe if you try to play mi-yuting's flying dagger, but even then I think kata now often wants to dodge that joseki on its own). The "non-zero" training doesn't teach it to play any moves or shapes or any style of play that it wouldn't already consider good on its own or that it wasn't already playing. It just helps it to find a few of the blind spots where it would consider a move good if only it searched it deeply enough but didn't actually do so, and a human player came along and demonstrated that move. Of course, plenty of embarrassing blind spots remain.
Maybe, a little. But I wouldn't count on there being a large effect for any particular joseki. Maybe just some more general familiarity with the kinds of midgame positions and patterns and shapes that occur in human games that would be less likely in a bot vs bot self-play.
There shouldn't be anything special about "40 blocks", it happens for other network sizes, and also happens for pretty much any bots, not just KataGo. It's usually because the bot doesn't understand something *else* on the board that is going worse than it anticipated, so it plays some delaying move, very slightly postponing the inevitable. It's like the bot's version of a human timesuji in that it happens at similar times - when there's a messy hard-to-understand-for-that-player situation imminent. Except it's not to gain useful thinking time, it just that it doesn't know how to stop the situation, so it just wastes some time and some aji.
A second rarer case where it happens is because a bot is overlooking or incorrectly rejecting some move in some imminent fight, but if it plays the ko threat, in that *slightly different* board position it finds the move. This would be bizarre for a human to then not apply that same discovered move back to the original position, but bots don't think in a human-like way. Basically, for a bot, you can think of every move as being searched by a separate copy of the bot, and these copies don't talk to each other except by means of reporting how good or bad their result was. This is because the search algorithm sitting on top of the otherwise very sophisticated neural net is pretty stupid,, and nobody yet understands how to integrate it better than to shuffle these top-level evaluations around. So it's perfectly possible that the "copy" of the bot that read out the upcoming fight after wasting the ko threat found a better move than "copy" of the bot that read out the upcoming fight without wasting the ko threat, just by random chance. Then they compare values, wasting the ko threat got a better score, so that's the move the bot plays. This is uncommon, but it does happen.
The perhaps rarest situation is when the bot actually just evaluates the board as better without the ko threat, due to some sort of overfitting. Maybe similar shapes came up in self-play games before and it didn't waste the ko threat in those games and that side lost more games than would have been fair due to bad luck, whereas in games when it did waste the ko threat (or perhaps had to use the ko threat legitimately in an earlier ko), it randomly won more games than would have been fair due to good luck. If unlucky/lucky enough here, maybe the neural net develops some sort of superstition - "hey every time I leave this shape on the board where I still have the ko threat I lose the game, whereas when I waste the threat and leave *that* shape on the board, I win". So even though the action itself logically couldn't have caused those losses/wins in that way, the net may still be affected by its superstition (not unlike many humans have their own superstitions about things in real life that make no logical sense), until eventually more training and more games fix that superstition.
I've also seen this, but the first two reasons, and the first reason especially, are much more common.
The neural nets for all modern bots generally do assign positive value to having ko threats and to leaving aji, so all three pathologies above are fighting against a general bias towards preserving one's threats and aji. Which is why wasting of threats and aji doesn't happen willy-nilly all the time, it just happens occasionally here and there. E.g. as many as multiple times in a game in some cases, but only a small percentage of the moves overall. Only when one of the above three effects (or possibly rare others) is strong enough to overwhelm the bias to want to preserve them.
I noticed something similar with Leela 11. I tried to get some idea of its assessment of the size of plays by setting up an independent section of the board with a simple gote of known size, with no ko threat. Usually I balanced that with another independent section of the board that was completely settled, also with no ko threat, so that I knew that the whole board had a mean value of zero. OC, proper komi would have been affected.
It was a dismal failure. Leela 11 was bumfuzzled. My guess is that in its training it had encountered nothing at all like such a board and was therefore clueless.
The Adkins Principle: At some point, doesn't thinking have to go on?
— Winona Adkins
Though not the case here with wasted threat, but there is another quirk when a bot starts to understand things are going poor direction for it (as search deepens it returns worse and worse scores).
In such cases it can also prefer moves that create the most potential answers. Even slightly worse moves look better if there are more responses to be searched, as this causes the overall search depth to increase slower (thus pushing the bad development a bit farther / pull the horizont nearer).
By 40-block extended, I meant one of the experimental networks. So it is possible that this is some overfitting as we are looking at a flying-dagger variation. (and japanese rules 6.5 komi btw)
Three tests with KG 1.4.5, network g170e-b20c256x2-s5303129600-d1228401921, maxVisits = 100, 1000, 10000, and 100000.
gogui-twogtp 1.5.1, komi 7.5, chinese rule, no error, no duplicate game.
1000visits vs 100visits : 1000visits wins 20-0 (all games by resignation)
10000visits vs 1000visits : 10000visits wins 20-0 (19 games by resignation, 1 game by 0.5)
100000visits vs 10000visits : 100000visits wins 5-0 (4 games by resignation, 1 game by 0.5, each game ~4800sec)
Does it continue like this ? (can't wait for a quantum computer to test it )
Stats for 100000visits vs 10000visits