Potential rank inflation on OGS or How To Beat KataGo With One Simple Trick (free)!

Nice! Did you try it against more visits? Are you 9d already?

1 Like

Create a new account and rank it up by playing adversary moves against KataGo to see how fast you can skyrocket to 9d :smiley:

I beat it too on 9x9(no handicap) and I am not even 10 years old yet

Great news: KataGo now implements similar positions (only the cyclical ones, not the passing ones) to these in a small percentage of its training games (roughly 0.08% of games). An example of a training game with a cyclic topology group position KataGo - Game ID 34889642 (run kata1)

5 Likes

Do they start the game from move 100+? Or is this a bug with the SGF viewer?

I.e., do they pre-generate a game?

Normally KataGo does play from the beginning but when @hexahedron (KataGo’s creator) identifies a blind spot he includes the position as it is so KataGo actually gets to see it. Usually the positions he includes are from pro games where the human found a move better than KataGo’s analysis. In this case the cyclical position was also manually added, otherwise KataGo would never/very rarely get to a position like this (which is why it’s so bad at it in the first place)

4 Likes

Perfectly, each time when Go bot learns how to deal with blind spot attack, new Adversary should be created automatically and generate new blind spot positions. And so on. As part of Go bot training, not as separate project. Then maybe Go bot will become significantly stronger than possible without it.

2 Likes

There’s no guarantee solving for a blind spot creates a new one, and also no guarantee that there will always be easy blind spots to exploit. A big exploit that early zero AIs had was ladders, and KataGo solving for it didn’t seem to create any new blind spots elsewhere. More recently KataGo also trained with broken ladder positions from pro games, making it noticeably better at reading them without worsening play with normal ladders. There will probably still be exploits for adversarial AIs to find even after this, but KataGo should grow more robust to those as it trains on more and more adversarial examples

6 Likes

There are now a couple more GitHub/KataGo threads related to this. Both are interesting because lightvector (the developer of KataGo) gives their view and talks of their hopes of solving this problem.

This thread (starting on 27 Nov) arises from the adversary paper and people trying to emulate the attacks.

This (starting on 16 Dec) is currently quite short:

It all raises the interesting question of whether there is a way of making the zero experience self-play training approach work better, so that manually supplied special training is not needed.

6 Likes

As far as you know, does he only do this with the currently strongest (and largest) network, or does he do this to smaller networks too?
For my private use, I often use smaller networks either to save energy or to explore the “personality” of weaker networks, so it would be cool to have the known shortcomings fixed for smaller networks too.

I installed 15-block Katago in February 2020 and never bothered to update it. The program detects 95%-99% of my mistakes with less than 10 playouts per move. It may need a few thousand playouts in complicated fights or life-and-death problems but I’ve never encountered situations like those described in this thread. Most of the time, my “weak” version of Katago is more reliable than a high dan amateur, that’s more than enough for my personal use.

4 Likes

The smaller networks all are pretty old, and any networks smaller than 20b predate any sort of blind spot training.

The biggest practical impact this has if you are using KataGo to analyze and review real games, is that the small nets could be very bad at certain joseki that people do sometimes play nowadays, most notably Mi Yuting’s flying dagger joseki, but also some of the sharper lines of some 3-4 point pincer josekis. Only the larger networks have ever been trained to fix the errors in judging these josekis.

Less frequently, although all KataGo nets get basic ladders correct due to having hardcoded ladder logic, the smaller nets might mess up various secondary and tertiary things - certain ladder breaker/maker tactics, as well as the rare cases where you need to play out a broken ladder (e.g. the Lee Sedol ladder) - more often than the large nets do. Even the large nets may have some trouble here, although it has been improved a bit from before due to blind spot training. Small nets might also have a bit more trouble with giant dragons.

Beyond these cases, for kyu and low-to-mid amateur dan players, I would expect smaller nets to still be fine.

5 Likes

Oh, hey. I’ve seen in the github discussions that you (I’m assuming you’re lightvector) were looking for a better solution than adding blind spot positions manually.

I think what @stone.defender said a few messages ago might be the best/only solution, to basically reframe the training as adversarial instead of self-play - I guess that would have the same notorious drawback of GANs of being really computationally expensive, maybe even worse depending on how it needs to be implemented, but I wonder if at this point of KataGo’s training it might end up being the most efficient way to progress anyway.

I’m just an amateur so I don’t really know what I’m talking about though.

Currently Adversarial plays weird. It beats Kata, but any human can beat Adversarial.

If all weird blind spots in Kata will be fixed:
will Adversarial start to play normally? :slight_smile:

News on recent progress from the Go AI discord: Katago is learning to pay more attention to the remaining liberties in its groups, the improvement is already noticeable but once the training window only includes data from nets that did the new cyclic group training we should see bigger improvements. The following images are, in order, from 2 nets ago, 1 net ago and the most recent net. Notice how the policy on the correct move goes from 2% to 7.8%.



6 Likes

update https://goattack.far.ai/
it can win vs 10 000 000 visits Kata
vs 80,000 rollouts ELF
vs 40,000 visits Leela Zero
still same circle inside circle inside circle trick

7 Likes

Back to highlight something important, “Latest” in their paper refers to 40b-s1184 which was released in June 2022, prior to exploit specific training. KataGo now should do a lot better job at recognizing the shape and capturing the opponents group. Below is a newer test done by @hexahedron on discord where we force KataGo to search moves in the order of highest to lowest policy. Before training, basically the whole board highlights before the correct move, meaning KataGo potentially would never have found the correct move under normal circumstances which is why 10 million visits pre training wasn’t enough. As of right now the policy on the correct move is still lower than what we want but it at least ensures KataGo would eventually find it on its own.
Pre-training:

Post-training (still early):

Hehe, glad to see you’re interested to follow the discord chat. :wink: :upside_down_face: :wink:

Some notes: I didn’t force anything, KataGo already normally searches moves in order of policy. Because of course that would be better than searching them in the opposite or random order.

Also “Pre-training” isn’t pre-training, the screenshot you labeled that is actually is the second-to-most-recent 60b net, from about 2 days ago which is about 21 nets deep into training on cyclic groups. And the “Post-training” screenshot you showed is the recent net, from today, around 22 nets deep into the same training. Both nets have already learned a lot of things related to many different cyclic group positions, this is just the first bare hint of learning about of larger eyeshapes attached to a cyclic group.

Presumably this wasn’t possible in the first 21 nets because it was necessary first to learn to recognize all the many more basic steps after this - e.g. that you should fill the liberties after playing here, and then you should play back in the middle of 3 after black captures 3 white stones, and then you should keep filling more liberties in the eye after that, and that the group should be judged as killable during all of those steps rather than being judged as alive.

If you go one by one through the last 21-22 nets with some example positions, you can gradually trace how the learning is progressing, starting from the most basic things about cyclic groups, gradually on to more complex things (and also with significant variation depending on the specific shape and surroundings).

7 Likes

Anyways, for this particular move in this situation, 10 million visits would be more than enough for either of the screenshotted nets to discover it - the screenshots are the search discovering those moves with each net, in what looks like ~5k and ~500 visits respectively (and with the help of a bit of wide root noise, which is on by default typically for Lizzie-based analysis).

Both nets have learned enough of the more basic things that they only need to put a few visits down this move at all to see it as good, so most of the visit cost comes from waiting until they do put the first visit down that move, and so now is when the learning of the move can start, which has seemingly just started happening. If you go back earlier in the last 22 nets, eventually probably you reach nets where the policy is still similarly low, but also a few visits isn’t enough because the position after a few moves still isn’t recognized as good for White, due to not having learned more basic things yet. If that happens a few times for consecutive moves in the sequence, then you do reach positions where 10 million visits might not be enough. Not sure how far back you have to go, but you can test it if you like! :slight_smile:

7 Likes

human gave to top KGS bot 9 stones handicap and won

https://goattack.far.ai/human-evaluation?row=0#human_vs_jbxkata005_handicap-board

9 Likes