Up 入力 作成: 2026-03-29
更新: 2026-04-04


  • 3次元テンソル:
      縦 (1〜9) × 横 (1〜9) × チャンネル (1〜C)

  • チャンネル : 駒の種類ごと, 持ち駒, 手番, 過去の盤面 なと多数
    各チャンネルを平面で表す
    平面に one-hot 表現
     Cf. 画像認識で「RGB の 3 チャンネル」を使う


  • いまの盤面だけではなく,過去数手分の盤面を入力 に含める
      相手の手を読む場合,<流れ>が情報として要る


  • チャンネルの具体的内容
    ◦盤上の駒配置
      9×9 の各マスについて:
    • 先手の歩の平面:
       そのマスに先手の歩があれば 1,なければ 0
    • 後手の歩の平面:
       同様
    • 香,桂,銀,金,角,飛,玉,成駒…と駒種ごとに平面
    • これを 複数手前の盤面まで 重ねる(履歴)
    ◦持ち駒
    • 「先手の持ち歩の枚数」を表す平面
      「先手の持ち角の枚数」を表す平面,‥‥
    • 後手も同様
    • 例えば「0枚」 「1枚以上」などの離散化で複数平面にする設計もある
    ◦手番
    • 「今は先手番か後手番か」を表す 1 枚の平面
    • 先手番なら全マス 1,後手番なら全マス 0(あるいはその逆)
    ◦その他の状態情報
    • 千日手・持将棋に関わる情報
    • 終局条件に関わるフラグ


  • ごく単純化すると,て:
    ◦盤上の駒配置:
       先手の歩:8 平面(履歴 8 手分)
       後手の歩:8 平面
       先手の香:8 平面
       …
    ◦持ち駒:
       先手の持ち歩:1 平面
       先手の持ち角:1 平面
       …
    ◦手番:1 平面
    といった具合に,
      「駒種 × 手番 × 履歴」+「持ち駒」+「手番」
    が全部チャンネルとして積み重なっている,というイメージ


  • 入力は,「シンプルにしようとした分,チャンネル数が多くなった」 というぐあい