Page 3 of 4
Re: Developing weak AIs in KaTrain
Posted: Thu Jul 16, 2020 1:00 am
by sanderl
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.
How do you know a move is better or worse than a certain level of GnuGo?
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.
Re: Developing weak AIs in KaTrain
Posted: Thu Jul 16, 2020 1:24 am
by Uberdude
sanderl wrote: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.
How do you know a move is better or worse than a certain level of GnuGo?
Ask strong KataGo.
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.
Re: Developing weak AIs in KaTrain
Posted: Thu Jul 16, 2020 1:33 am
by sanderl
Uberdude wrote:2) Generate move suggestion with GnuGo, called g0
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.
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.
Re: Developing weak AIs in KaTrain
Posted: Sat Jul 18, 2020 12:38 pm
by Limeztone
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!
Re: Developing weak AIs in KaTrain
Posted: Sat Jul 18, 2020 12:53 pm
by Limeztone
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)
Re: Developing weak AIs in KaTrain
Posted: Mon Jul 20, 2020 1:55 am
by sanderl
Limeztone wrote: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?
It's calibrated against GnuGO and Pachi - I have no idea what that corresponds to, but the bots seem to be holding their OGS ranks within around 2k, except for katrain-18k which varies a bit more.
Self-play of the same AI is only possible outside the program, see e.g. selfplay in
https://github.com/sanderland/katrain-bots
I am not sure why you think a 6b net policy is closer to human play than the 15b policy.

Re: Developing weak AIs in KaTrain
Posted: Thu Jul 23, 2020 9:50 am
by Limeztone
sanderl wrote:Limeztone wrote: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?
It's calibrated against GnuGO and Pachi - I have no idea what that corresponds to, but the bots seem to be holding their OGS ranks within around 2k, except for katrain-18k which varies a bit more.
Self-play of the same AI is only possible outside the program, see e.g. selfplay in
https://github.com/sanderland/katrain-bots
I am not sure why you think a 6b net policy is closer to human play than the 15b policy.

I am sorry if I was unclear. But the smaller net should not be trained to play go. It should be taught to tell how probable it is that a certain move would be played by an human. It should not be trained through self play. It should be train by "watching" human games of all levels. It must be trained on human games (that's why earlier versions of AlplhaGo could give that info) It's a totally new net trained from scratch. I suggested 6b so it would be as fast as possible. And it should not use playouts. It should be used i parallel with a net that plays go. It should help the weakening process to not skip moves that would be obvious to an human.
Did that made it any clearer?
It should easily be able to distinct between a 25 stone atari and a slightly more difficult life and death problem.
Re: Developing weak AIs in KaTrain
Posted: Thu Jul 23, 2020 10:10 am
by Bill Spight
Limeztone wrote:It should easily be able to distinct between a 25 stone atari and a slightly more difficult life and death problem.
Most life and death problems are not as big as capturing 25 stones vs. letting them escape.

Re: Developing weak AIs in KaTrain
Posted: Thu Jul 23, 2020 12:58 pm
by Limeztone
Bill Spight wrote:Limeztone wrote:It should easily be able to distinct between a 25 stone atari and a slightly more difficult life and death problem.
Most life and death problems are not as big as capturing 25 stones vs. letting them escape.

I think you are missing the point!
This is not playing and it's not choosing between two different moves.
It is a mean to weaken the bot so it does not always find the correct move in a tricky tsumego.
But still be able to answer to a simple atari on a "big" group.
A strong bot will "always" know where to play.
When you weaken it you want it to not always play the best move.
But that will unfortunately make the bot not answering ataris.
Because not answering an atari and not live with a tricky tsumego are all the same to the bot.
But for an human not answering an atari looks plain stupid.
So we don't want the bot to skip answering an atari as to make it's mistakes more human like.
What I proposed was a mean I think will help to accomplish that.
Re: Developing weak AIs in KaTrain
Posted: Thu Jul 23, 2020 3:02 pm
by Bill Spight
Limeztone wrote:Bill Spight wrote:Limeztone wrote:It should easily be able to distinct between a 25 stone atari and a slightly more difficult life and death problem.
Most life and death problems are not as big as capturing 25 stones vs. letting them escape.

I think you are missing the point!
Perhaps you are missing my point, I dunno.
This is not playing and it's not choosing between two different moves.
It's a comparison between the size of two different moves, right?
It is a mean to weaken the bot so it does not always find the correct move in a tricky tsumego.
My guess is that you mean "means". I.e., it is a way to weaken the bot, not an average.
But still be able to answer to a simple atari on a "big" group.
To which the question is how big? I was pointing out that the size of capturing a 25 stone group is rather bigger than most tsumego problems or life and death problems than arise on the go board.
Re: Developing weak AIs in KaTrain
Posted: Fri Jul 24, 2020 2:57 am
by Limeztone
Bill Spight wrote:Limeztone wrote:Bill Spight wrote:
Most life and death problems are not as big as capturing 25 stones vs. letting them escape.

I think you are missing the point!
Perhaps you are missing my point, I dunno.
This is not playing and it's not choosing between two different moves.
It's a comparison between the size of two different moves, right?
No it is definitely not!
(it has nothing to do with the size of a any move)
And thats where you are missing my point.
PS Yeah it should be means (sorry for my bad english)
Re: Developing weak AIs in KaTrain
Posted: Fri Jul 24, 2020 8:24 am
by Bill Spight
Bill Spight wrote:Limeztone wrote:Bill Spight wrote:
Most life and death problems are not as big as capturing 25 stones vs. letting them escape.

I think you are missing the point!
Perhaps you are missing my point, I dunno.
This is not playing and it's not choosing between two different moves.
It's a comparison between the size of two different moves, right?
Limeztone wrote:No it is definitely not!
(it has nothing to do with the size of a any move)
And thats where you are missing my point.
PS Yeah it should be means (sorry for my bad english)
Well, it is a comparison, right? What are you comparing?
Why 25 stones and not 15 stones or 10 stones?
Re: Developing weak AIs in KaTrain
Posted: Fri Jul 24, 2020 2:45 pm
by Limeztone
Bill Spight wrote:
Well, it is a comparison, right? What are you comparing?
Why 25 stones and not 15 stones or 10 stones?
It was an arbitrary choice.
I could have typed 15 or 10 it does not matter.
It was just a way I hoped to clarify the usage, obviously I failed
And NO there is not really a comparison (at least not in playing value)!!
The net will ONLY tell how probable it is that a human would make that move, nothing else!
That's what it will be trained for. Like a net that is teached recognise a cat in a picture.
It's not a tricky thing to do.
PS If one would care to teach such a net I am quite sure it will be very helpful in making the weakening more humanlike.
PS2 The only reason to use a small net (like 6 block or 10 block) is to reduce memory usage, the running time will have no impact.
Re: Developing weak AIs in KaTrain
Posted: Fri Jul 24, 2020 4:33 pm
by Bill Spight
So, based upon what you are saying we can edit the following statement, right?
Limeztone wrote:It should easily be able to distinct between a 25 stone atari and a slightly more difficult life and death problem.
How's this?
The smaller net should easily be able to distinguish between some atari and some life and death problem.
I actually think that you meant to say more than that, however.

Re: Developing weak AIs in KaTrain
Posted: Sat Jul 25, 2020 2:42 am
by Limeztone
Bill Spight wrote:So, based upon what you are saying we can edit the following statement, right?
Limeztone wrote:It should easily be able to distinct between a 25 stone atari and a slightly more difficult life and death problem.
How's this?
The smaller net should easily be able to distinguish between some atari and some life and death problem.
I actually think that you meant to say more than that, however.

I give up!
I think you are trolling me! (If not reread my posts)