Inspired by all of the fancy AlphaGo matchups this week, I took another look at the nature paper (which I still haven't fully digested, by the way). I was particularly interested in the input feature selection for the neural networks. As I understand, these are deep neural networks, so learning from the initial feature vector may serve as some sort of first layer, but then subsequent layers, in a way, chunk the information into more complex learned concepts.
Anyway, it seemed informative to me to look at the initial set of features, since these may form a basis of AlphaGo's initial learning - or birth into the world of go, perhaps
The table is listed here:
| Feature | # of planes | Description |
| Stone colour | 3 | Player stone / opponent stone / empty |
| Ones | 1 | A constant plane filled with 1 |
| Turns since | 8 | How many turns since a move was played |
| Liberties | 8 | Number of liberties (empty adjacent points) |
| Capture size | 8 | How many opponent stones would be captured |
| Self-atari size | 8 | How many of own stones would be captured |
| Liberties after move | 8 | Number of liberties after this move is played |
| Ladder capture | 1 | Whether a move at this point is a successful ladder capture |
| Ladder escape | 1 | Whether a move at this point is a successful ladder escape |
| Sensibleness | 1 | Whether a move is legal and does not fill its own eyes |
| Zeros | 1 | A constant plane filled with 0 |
| Player color | 1 | Whether current player is black |
For some reason, the bolded entries above having to do with liberties, stick out to me. Capture size, self-atari size, player color, etc., seem somewhat obvious to me, but sometimes knowing the number of liberties for a group is non-intuitive at a glance. Specifically, in many cases, I do not typically consciously count out the number of liberties that a group has. It's more about my feeling than anything else. I get a "feeling" about the count of liberties based on experience. Consciously counting the literal number of liberties is sometimes not useful, since there are corner situations, eye-no-eye situations, and other complexities that make the practical number of liberties different than the "real" number of liberties. Richard Hunter has an interesting book on this, but I haven't internalized all of the rules he lays out.
Most of the time, my process for identifying strength of groups and/or winners of capturing races is either:
- Feeling (e.g. "this group feels stronger than that group")
- Visualization of a capturing sequence (e.g. "black, white, black, white, ..., ok, black is captured")
Presumably, AlphaGo's interpretation of liberties initially started out from the initial feature - literal number of empty spots around a group. Then, through different layers of the network, maybe it internalized some mechanism of giving a good value to a position, still based partially on the literal liberty count.
From this, I wonder if it is worthwhile to add a new item to my methodology, above, for identifying strong groups and/or winners of capturing races:
- 3. Count actual empty spaces around a group of stones, understanding that certain circumstances may imply a different result.
Because it seems that AlphaGo would still use the feature in its basic form for evaluating a position. Maybe I should add that to my basic set of inputs as well.
Or maybe this is just one way that computers think differently than humans...