ひとつ前に戻る

囲碁の「次の一手タスク」をニューラルネットワークで作る

ニューラルネットワークの作り

ニューラルネットワークの作りはどうすればよいでしょうか。
簡単に考えると、盤面は7✖7=49箇所あるので、
入力層のノードの数は49、出力層のノードの数も49
となると隠れ層のノードの数も49となります。

しかし入力層の入力値は0.01から1.00にする必要があり、
盤面の状態の空き、黒石、白石を表現するとき、どのように表現すればいいか困ります。
では入力層のノード数は49✖3=147でしょうか?
黒石か白石が置かれていれば、そこは空点ではなく、
黒石も白石も置かれていなければ、そこは空点となるので、
黒石と白石の配置だけで、空点も表現されると考えることもできます。
そこでここでは、ノード数はできれば減らしたいので、
空点の配置は入力せず、黒石と白石の配置だけを入力するようにします。

よって入力層は49✖2=98ノードとします。

また隠れ層のノード数は49、出力層のノード数は49とします。

また、出力層にも入力層と同じ問題がありますが、今回は次の一手は黒番のみということにして、
出力層の出力はすべて黒番の次の一手ということにします。

そのため、すべて黒の手番での局面を学習させることにします。

ひとつ前に戻る