Yeah wasting ko threats is a very persistent issue. I guess atari/throw-in is fairly high up there in terms of policy and the score loss of ko threats is fairly minimal.jlt wrote:I just played a couple of quick games. In the first one I resigned quickly after losing a group. I won the second game by 18.5. The game felt pretty natural for about 150 moves, but the AI started playing strange moves when it was behind, wasted ko threats although a ko was going on, and didn't see immediate threats at the late endgame.sanderl wrote:Try 'P:weighted' and see how it feels.
Developing weak AIs in KaTrain
-
sanderl
- Beginner
- Posts: 18
- Joined: Sun May 10, 2020 7:47 am
- GD Posts: 0
- Has thanked: 3 times
- Been thanked: 3 times
Re: Developing weak AIs in KaTrain
-
sanderl
- Beginner
- Posts: 18
- Joined: Sun May 10, 2020 7:47 am
- GD Posts: 0
- Has thanked: 3 times
- Been thanked: 3 times
Re: Developing weak AIs in KaTrain
There's some interesting work going on in this github issue.
A contributor developed some calibration for playing a reasonably even game against gnugo and pachi, leading to a new AI option. However, the next step is even more challenging: can we invert this and estimate someone's rank from their moves automatically?
I'd be interesting in hearing if any of you have ideas about this.
A contributor developed some calibration for playing a reasonably even game against gnugo and pachi, leading to a new AI option. However, the next step is even more challenging: can we invert this and estimate someone's rank from their moves automatically?
I'd be interesting in hearing if any of you have ideas about this.
- Bonobo
- Oza
- Posts: 2236
- Joined: Fri Dec 23, 2011 6:39 pm
- Rank: OGS 13k
- GD Posts: 0
- OGS: trohde
- Universal go server handle: trohde
- Location: Lüneburg Heath, North Germany
- Has thanked: 8272 times
- Been thanked: 929 times
- Contact:
Re: Developing weak AIs in KaTrain
Just want to note that I just installed KaTrain on my iMac (June 2017, 27" Retina 5K, macOS 10.14, 32 GB RAM), installation was a breeze following your installation instructions, just a few Terminal commands copy/pasted, and your Teaching Game option simply blew me off my feet, this is SO! AWESOME!
Very nice also that I can use it to play against a calibrated version of KataGo, so I can use this very strong AI to play against an opponent who is just a little bit stronger than I am while learning better moves. (Of course I still prefer human opponents for “real” games but as a tool KaTrain is wonderful!)
I immediately decided to sponsor your project (albeit with a small amount only) on https://github.com/sponsors/sanderland, as I think this is an extremely valuable tool for learning.
Before, I hesitated to install KataGo etc. because I was afraid it would be too much fumbling, but KaTrain makes it all very easy.
Screenshot:
Very nice also that I can use it to play against a calibrated version of KataGo, so I can use this very strong AI to play against an opponent who is just a little bit stronger than I am while learning better moves. (Of course I still prefer human opponents for “real” games but as a tool KaTrain is wonderful!)
I immediately decided to sponsor your project (albeit with a small amount only) on https://github.com/sponsors/sanderland, as I think this is an extremely valuable tool for learning.
Before, I hesitated to install KataGo etc. because I was afraid it would be too much fumbling, but KaTrain makes it all very easy.
Screenshot:
“The only difference between me and a madman is that I’m not mad.” — Salvador Dalí
-
Javaness2
- Gosei
- Posts: 1548
- Joined: Tue Jul 19, 2011 10:48 am
- GD Posts: 0
- Has thanked: 111 times
- Been thanked: 325 times
- Contact:
Re: Developing weak AIs in KaTrain
Just out of interest; if you take a weight file from a STRONG neural net and change just some small part of its contents, what will that do to its strength? Is it a sick hack too far?
- Bonobo
- Oza
- Posts: 2236
- Joined: Fri Dec 23, 2011 6:39 pm
- Rank: OGS 13k
- GD Posts: 0
- OGS: trohde
- Universal go server handle: trohde
- Location: Lüneburg Heath, North Germany
- Has thanked: 8272 times
- Been thanked: 929 times
- Contact:
Re: Developing weak AIs in KaTrain
Sander,
I’m not sure where the best place is for a support question, so I’m asking it here:
Re: “models” I’m a total n00b when it comes to using modern Go AI apps, understanding close to nothing of “weights”, “playouts”, visits, “depth” and “width”, etc.—how do I know which the “best” model for which purpose?
TIA,
Tom
I’m not sure where the best place is for a support question, so I’m asking it here:
Re: “models” I’m a total n00b when it comes to using modern Go AI apps, understanding close to nothing of “weights”, “playouts”, visits, “depth” and “width”, etc.—how do I know which the “best” model for which purpose?
TIA,
Tom
“The only difference between me and a madman is that I’m not mad.” — Salvador Dalí
-
lightvector
- Lives in sente
- Posts: 759
- Joined: Sat Jun 19, 2010 10:11 pm
- Rank: maybe 2d
- GD Posts: 0
- Has thanked: 114 times
- Been thanked: 916 times
Re: Developing weak AIs in KaTrain
Here's some guidance on that question (scroll down a little from here to the "Which model/network should I use?"). Anyone should feel free to relay this guidance. You might have to drill down into the links there to see which models match up with which models that katrain is showing you, but the general point is that bigger nets are slower to run but stronger. Often stronger enough to compensate or more than compensate being slower, but depends on hardware.
https://github.com/lightvector/KataGo#other-questions
https://github.com/lightvector/KataGo#other-questions
- Bonobo
- Oza
- Posts: 2236
- Joined: Fri Dec 23, 2011 6:39 pm
- Rank: OGS 13k
- GD Posts: 0
- OGS: trohde
- Universal go server handle: trohde
- Location: Lüneburg Heath, North Germany
- Has thanked: 8272 times
- Been thanked: 929 times
- Contact:
Re: Developing weak AIs in KaTrain
Thanks a lot, @lightvector!
“The only difference between me and a madman is that I’m not mad.” — Salvador Dalí
-
Pio2001
- Lives in gote
- Posts: 418
- Joined: Mon Feb 16, 2015 12:13 pm
- Rank: kgs 5 kyu
- GD Posts: 0
- KGS: Pio2001
- Has thanked: 9 times
- Been thanked: 83 times
Re: Developing weak AIs in KaTrain
Hi,
Just my two cents : after a bot is weakened, it would be a good thing to prevent it to ignore important ataris.
It feels really unnatural and disappointing when you play atari to a huge chain of stones and the bot just doesn't see it. Capture, game over.
Just my two cents : after a bot is weakened, it would be a good thing to prevent it to ignore important ataris.
It feels really unnatural and disappointing when you play atari to a huge chain of stones and the bot just doesn't see it. Capture, game over.
-
sanderl
- Beginner
- Posts: 18
- Joined: Sun May 10, 2020 7:47 am
- GD Posts: 0
- Has thanked: 3 times
- Been thanked: 3 times
Re: Developing weak AIs in KaTrain
It tries to do this by making 'important enough' moves non-optional, but it can be hard to determine which ones are important enough. However, a super hard to see 30 point life and death problem and a 15 stone atari can be essentially equivalent.Pio2001 wrote:Hi,
Just my two cents : after a bot is weakened, it would be a good thing to prevent it to ignore important ataris.
It feels really unnatural and disappointing when you play atari to a huge chain of stones and the bot just doesn't see it. Capture, game over.
Also when this is a bit too highly tuned, it's easy to get an AI which is accidentally high dan.
If you save example games in which this happens and send them, it will help in creating something that might avoid this.
-
Uberdude
- Judan
- Posts: 6727
- Joined: Thu Nov 24, 2011 11:35 am
- Rank: UK 4 dan
- GD Posts: 0
- KGS: Uberdude 4d
- OGS: Uberdude 7d
- Location: Cambridge, UK
- Has thanked: 436 times
- Been thanked: 3718 times
Re: Developing weak AIs in KaTrain
How about making weak KataGo not playing a move worse than what low level GnuGo would pick. That would probably be a reasonable way to discard wacky bad moves a 25 kyu wouldn't do.
-
sanderl
- Beginner
- Posts: 18
- Joined: Sun May 10, 2020 7:47 am
- GD Posts: 0
- Has thanked: 3 times
- Been thanked: 3 times
Re: Developing weak AIs in KaTrain
How do you know a move is better or worse than a certain level of GnuGo?Uberdude wrote:How about making weak KataGo not playing a move worse than what low level GnuGo would pick. That would probably be a reasonable way to discard wacky bad moves a 25 kyu wouldn't do.
The only thing you have is:
* The policy network values, as a probability map over all moves
* The score/win rate/lcb/utility for the current position for a limited number (~10) of moves.
Most weaker AIs just use the policy, which is around 5d by itself, but does on occasion make mistakes. Less so for the 20b network, but still.
The new KataHandicap setup allows to submit additional queries apart from the one for analysis, so it could be used to double-check the move chosen based on the policy (and then? play the top move instead?) but it requires some serious testing. It can easily end up as the '15k' AI that suddenly plays like an extremely murderous 9p when you invade a moyo.
-
Uberdude
- Judan
- Posts: 6727
- Joined: Thu Nov 24, 2011 11:35 am
- Rank: UK 4 dan
- GD Posts: 0
- KGS: Uberdude 4d
- OGS: Uberdude 7d
- Location: Cambridge, UK
- Has thanked: 436 times
- Been thanked: 3718 times
Re: Developing weak AIs in KaTrain
Ask strong KataGo.sanderl wrote:How do you know a move is better or worse than a certain level of GnuGo?Uberdude wrote:How about making weak KataGo not playing a move worse than what low level GnuGo would pick. That would probably be a reasonable way to discard wacky bad moves a 25 kyu wouldn't do.
So my idea the workflow would be like:
1) Generate move suggestion with weak KataGo (from just policy or whatever else you do to cripple it), called wKn, where n is currently 0
2) Generate move suggestion with GnuGo, called g0
3) Ask strong KataGo (doesn't need to be that strong, maybe just 100 playouts is enough) is g0 > wKn in winrate or score? (doesn't matter really which one used)
3a) If n > 10 (or so) play wKn anyway
3b) If yes: get another choice from weak KataGo (either further down policy, or re-roll random number generator), called wKn where n is now n+1, go to step 3 and compare to this new move
3c) If no, play wKn as it's not a retarded move.
-
sanderl
- Beginner
- Posts: 18
- Joined: Sun May 10, 2020 7:47 am
- GD Posts: 0
- Has thanked: 3 times
- Been thanked: 3 times
Re: Developing weak AIs in KaTrain
This would require packaging another executable for multiple platforms, GTP engine support, with all the UI elements for configuring it and potential errors that can occur.Uberdude wrote:2) Generate move suggestion with GnuGo, called g0
Way too much work for something like this.
Hmm, I wonder if a query with wideRootNoise can be used for this, that should get back a lot of moveInfos for relatively few visits.
-
Limeztone
- Dies in gote
- Posts: 63
- Joined: Sun Jan 12, 2020 9:28 pm
- GD Posts: 0
- Has thanked: 8 times
- Been thanked: 4 times
Re: Developing weak AIs in KaTrain
I am a new user of KaTrain! (I have fooled around a lot with katago)
Nice work!
The calibrated rank, what scale is it aiming for (EGF, AGA, IGS)?
Is it possible to let two bots play each other at different calibrated ranks?
Thanks!
Nice work!
The calibrated rank, what scale is it aiming for (EGF, AGA, IGS)?
Is it possible to let two bots play each other at different calibrated ranks?
Thanks!
-
Limeztone
- Dies in gote
- Posts: 63
- Joined: Sun Jan 12, 2020 9:28 pm
- GD Posts: 0
- Has thanked: 8 times
- Been thanked: 4 times
Re: Developing weak AIs in KaTrain
When trying to get a calibrated rank, don't you think it could be useful to train a very small net (6 block) to just tell how probable a certain move is to be played by an human? And then just skip moves with a (very) low score.
(I bet an atari on a 25 stone group would get a high score)
(I bet an atari on a 25 stone group would get a high score)