実際にやってみないとわからないというのが正直な所ですが
とりあえずはglobal averag poolingを使って試してみるといいと思います。
cnn + 全結合という組み合わせだと、入力サイズが変われば全結合層のネットワーク構造も変えなければなりませんが、GAPを使う事で、ネットワーク構造を変えなくても済みます。
https://qiita.com/mine820/items/1e49bca6d215ce88594a
それでダメなら忘却回避ネットワークというものもあります。
https://qiita.com/yu4u/items/8b1e4f1c04460b89cac2
http://news.livedoor.com/article/detail/12801586/
これは、別々のゲームを混ぜ合わせても一つのネットワークでうまく学習できるというもので
最悪これに頼れば出来ない事はなさそうですが、此方の場合は、サイズが違えば別のゲームと捉えて学習させていくので、質問の趣旨とはちょっとずれているかもしれません
追記
と思ったらサイズがルール上変えられるゲームと別のコメントにありましたね...
もしこれが試合中にも変える事が出来るという意味であれば、ルール上最も大きくできるサイズを入力値とし、次元別に合法手の場所や・今のサイズがわかる情報をバイナリ表現で行えば可能であるように思えます
例えば、ルール上最も大きく出来るサイズが1010とします。
そして今のサイズが55とするのであれば、
[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 1, 1, 1, 1, 1, 0, 0],
[0, 0, 0, 1, 1, 1, 1, 1, 0, 0],
[0, 0, 0, 1, 1, 1, 1, 1, 0, 0],
[0, 0, 0, 1, 1, 1, 1, 1, 0, 0],
[0, 0, 0, 1, 1, 1, 1, 1, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]
というような特徴を与えてやればいいのではないでしょうか?
これとは逆にサイズの範囲外の場所に1を置く事も考えられますね。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/16 16:00