[Computer-go] Building a database for training CNNs

2014-12-20 Thread Álvaro Begué
Hi,

There are things a CNN could probably do well, if only we had the right
database to train it. I have in mind these two possibilities:
 * using a CNN as an evaluation function,
 * using a CNN to estimate ownership for each point (i.e., a number
between -1 and 1 that is an estimate of who is going to end up scoring it).

So we need a large set of positions labelled with a final score for the
game and who ended up scoring each point.

I believe the right database to use for this purpose would consist of
positions from games played by strong computer opponents which play to
maximize score and which play to the bitter end, passing only when the
opponent has no dead stones left on the board.

I would like to know if you think this would be an interesting resource to
have, if you have any recommendations on what engine(s) to use and if you
would be willing to collaborate in creating it. Any other comments are
welcome too, of course.

Cheers,
Álvaro.
___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go

Re: [Computer-go] Building a database for training CNNs

2014-12-20 Thread Erik van der Werf
Hi Álvaro,

I've done things like that, except I didn't use games by strong
computer opponents (none existed at the time), so just human amateur
games. In my experience the critical part is in learning about life 
death. Once you have that, estimating ownership is fairly easy,
asymptotically reaching near 100% prediction accuracy toward the end
of the game. See the following papers for more details:

http://erikvanderwerf.tengen.nl/pubdown/learning_to_score_extended.pdf
http://erikvanderwerf.tengen.nl/pubdown/learningLifeandDeath.pdf
http://erikvanderwerf.tengen.nl/pubdown/predicting_territory.pdf

or just read the second half of my PhD thesis :)

http://erikvanderwerf.tengen.nl/pubdown/thesis_erikvanderwerf.pdf


BTW it's great to see this list come back from the dead. Thanks Petr  Michael!

Best,
Erik


On Sat, Dec 20, 2014 at 4:43 PM, Álvaro Begué alvaro.be...@gmail.com wrote:

 Hi,

 There are things a CNN could probably do well, if only we had the right
 database to train it. I have in mind these two possibilities:
  * using a CNN as an evaluation function,
  * using a CNN to estimate ownership for each point (i.e., a number
 between -1 and 1 that is an estimate of who is going to end up scoring it).

 So we need a large set of positions labelled with a final score for the game
 and who ended up scoring each point.

 I believe the right database to use for this purpose would consist of
 positions from games played by strong computer opponents which play to
 maximize score and which play to the bitter end, passing only when the
 opponent has no dead stones left on the board.

 I would like to know if you think this would be an interesting resource to
 have, if you have any recommendations on what engine(s) to use and if you
 would be willing to collaborate in creating it. Any other comments are
 welcome too, of course.

 Cheers,
 Álvaro.




 ___
 Computer-go mailing list
 Computer-go@computer-go.org
 http://computer-go.org/mailman/listinfo/computer-go
___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go

Re: [Computer-go] Building a database for training CNNs

2014-12-20 Thread Erik van der Werf
On Sat, Dec 20, 2014 at 9:35 PM, Robert Jasiek jas...@snafu.de wrote:
 On 20.12.2014 17:04, Erik van der Werf wrote:

 the critical part is in learning about life 
 death. Once you have that, estimating ownership is fairly easy

 [...] See the following papers for more details: [...]

 http://erikvanderwerf.tengen.nl/pubdown/predicting_territory.pdf


 Estimating ownership or evaluation functions to predict final scores of
 already played games are other things than estimating potential territory.
 Therefore I dislike the title of your paper. Apart from lots of simplistic
 heuristics without relation to human understanding of territorial positional
 judgement, one thing has become clear to me from your paper:

 There are two fundamentally different ways of assessing potential territory:

 1) So far mainly human go: count territory, do not equate influence as
 additional territory.

 2) So far mainly computer go: count territory, equate influence as
 additional territory.

 Human players might think as follows: The player leads by T points.
 Therefore the opponent has to use his superior influence to make T more new
 points than the player. Computers think like this: One value is simpler
 than two values, therefore I combine territory and influence in just one
 number, the predicted score.

 Both methods have their advantages and disadvantages, but it does not mean
 that computers would always have to use (2); they can as well learn to use
 (1). (1) has the advantage that counting territory (or intersections that
 are almost territory) is easy for quiet positions.

 Minor note on your paper: influence and thickness are defined now (see
 Joseki 2 - Strategy) and influence stone difference and mobility are
 related concepts if one wants simpler tools. aji has approached a
 mathematical definition a bit but still some definition work remains.


Sure, I tried lots of simple heuristics to ease the learning task for
the networks. One might hope that 'deep' networks would be able to
learn advanced concepts more easily, perhaps more on par with human
understanding, but for the near future that might still just be
wishful thinking.

At the time I didn't really care much for a fundamental distinction
between territory and influence; I just wanted to have a function to
predict the outcome of the game for every intersection as well as
possible (because it seemed useful as an evaluation function).
Intersections colored with high probability for one side tend to
coincide with what human players call territory, while mediocre
probabilities tend to coincide more with influence. I know there are
non-probabilistic ways to define the two, but I'm not sure it really
matters. Perhaps the more effective approach is to just go directly
for the probability of winning (like MC does).

Best,
Erik
___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go