作品一覧

  • 強い将棋ソフトの創りかた
    値引きあり

    強い将棋ソフトの創りかた

    ビジネス・実用

    5.0
    1巻1,804円 (税込)
    ※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 Pythonプログラミングを行いながら、ディープラーニングの技術を使った将棋AIを完成させていきます。 ディープラーニングフレームワークのPyTorchを活用し、Google Colabで動かしながら学びます。 本書には3つの目的があります。 1つの目的は、ディープラーニングを使用した将棋AIの仕組みを解説することです。ディープラーニングを使用した将棋AIは、従来型の将棋AIよりも特に序中盤での大局観に優れていると言われており、その疑問に答えます。 もう1つの目的は、実際に手を動かして将棋AIを実装してみることです。Pythonプログラミングを行いながら将棋AIを完成させます。 最後の目的は、強い将棋ソフトを創ることです。コンピュータ将棋の大会で優勝したGCT電竜を超えるような、より強い将棋AIを創る方法を解説していきます。 Part 1 導入編 第1章コンピュータ将棋について Part 2 理論編 第2章コンピュータ将棋のアルゴリズム 第3章ディープラーニングの基本 Part 3 実装編 第4章ディープラーニングフレームワーク 第5章Pythonで将棋AIを創る 第6章対局プログラムの実装 第7章GCT電竜を超える強い将棋AIを創る Part 4 発展編 第8章さらに強くするために
  • 将棋AIで学ぶディープラーニング

    将棋AIで学ぶディープラーニング

    ビジネス・実用

    5.0
    1巻3,498円 (税込)
    ※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 人より強い“将棋プログラム”を作ろう 2016年3月、プロ棋士に勝つには後10年かかると言われていたコンピュータ囲碁でAlphaGoがトップ棋士に勝利しました。そこで使われた手法がディープラーニングです。 AlphaGoは局面を「画像」として認識し、打ち手の確率と局面の勝率を予測することで、次の打ち手を決めています。画像とはどのようなものか、次の打ち手をどうやって決めるのか?AlphaGoの論文をヒントに、ディープラーニングを使い棋譜を学習した将棋AIの開発を行います。強化学習のみでトップレベルの強さを持つAlphaZeroの手法も取り入れています。 [導入編]では、コンピュータ将棋の歴史とディープラーニングの関係、コンピュータ将棋の大会の概要を紹介します。 [理論編]では、従来のコンピュータ将棋のアルゴリズム、コンピュータ囲碁で用いられているモンテカルロ木探索とAlphaGoがどのようにディープラーニングを応用したか。基礎的な知識について解説しつつ、これらを将棋AIに応用する方法について述べます。 [実践編]では、ディープラーニングを使った以下の3つの将棋AIについて、PythonとChainerで実装していきます。 方策ネットワーク(policy network)を使って指し手の予測のみでプレイするAI 価値ネットワーク(value network)を使って1手探索を行うAI 方策ネットワークと価値ネットワークを使ってモンテカルロ木探索を行うAI 最後に、より強い将棋AIを作りたいという方のために、ヒントとなる情報を紹介します。

ユーザーレビュー

  • 強い将棋ソフトの創りかた

    Posted by ブクログ

    最近は以前ほど指さなくなったが、将棋には長く親しんでおり、そのAIの裏側には強い興味を抱いていた。専門的な内容ゆえ、上原隆平著『はじめてのアルゴリズム』のような難解な解説が続くことを覚悟してページをめくったが、意外にも分かりやすい雰囲気に満ちていた。

    ​将棋愛好家にとって聞き慣れた用語が多用されているため、AI全般、そして将棋AIの仕組みを理解する上で非常に相性の良いテキストだと感じる。

    ​本書で触れられているミニマックス法やモンテカルロ木探索といったアルゴリズムは、Web開発など他分野にも通じる知識だと思う。チェスや囲碁との比較、Pythonが選ばれる理由などの背景知識も充実しており、現代のAI技術の潮流を俯瞰することができた。

    ​コンピュータ特有の作法に触れた時、将棋の盤面は81マスあるが、座標が「80」までしかないことに一瞬戸惑った。それが「0番」から数え始めるプログラミングの常識だと気づいた時、自分はまだコンピュータの思考に慣れていないのだと思った。また、AIへの取り組みがまだ浅い自分にとって、GPUの重要性を再認識できたことも大きな収穫だ。

    ​序盤から「コンピュータ将棋大会」への参加方法が記されている点には、著者の「形にして外の世界へ飛び出してほしい」という強い願いを感じる。将棋AIを学ぶ上での良書であると感じたのと同時に、自分の学習の現在地を教えてくれる一冊になったと思う。

    0
    2025年12月22日
  • 将棋AIで学ぶディープラーニング

    Posted by ブクログ

    Ⅰ部 導入編
     1章 コンピュータ将棋について
      省略
    Ⅱ部 理論編
     2章 コンピュータ将棋のアルゴリズム
      ゲームの木、ミニマックス法、αβ法、評価関数について簡単な説明
     3章 コンピュータ囲碁のアルゴリズム
      モンテカルロ法とその発展版UCTアルゴリズム
     4章 AlphaGoの手法
      優先順位制御の改善 -> 方策ネットワーク
      プレイアウトの改善 -> 価値ネットワーク

      方策ネットワーク
       囲碁の局面を画像のように認識して多くの棋譜を学習させてどの着手から優先して指すか決める
      価値ネットワーク
       囲碁の局面を画像のように認識して直接その局面を評価する。
     5章 ディープラーニングについて
      畳み込みニューラルネットワーク(CNN)の説明。
      ディープラーニングの将棋AIへの応用
       ・方策ネットワーク
        局面を19×19の画像として与え、石の色ごとにわけ、学習させる。石の位置だけではなく呼吸点、シチョウなどの特徴点を別のチヤンネルで与え全部で48のチヤンネルを入力とする。
        出力は与えられた局面の着手となる。
       ・価値ネットワーク
        価値ネットワークも局面を与えられ勝率を出力する。-1から+1で-1が負け、+1が勝ちとなる。

     6章 ディープラーニングフレームワーク
      Chainer,TensorFlow,Keras,PyTorchなどの紹介と採用したChainerのインストールなどの説明

     7章 方策ネットワーク
      具体的にソースコードを示しながら実装している。
      プログラムの局面管理、棋譜読み込みなどはPythonで書かれたpython-shogiを活用。

     8章 将棋AIの実装
      GUIソフトを使って対局ができるようにUSIエンジンを実装していく。
      
     10章 価値ネットワーク
      具体的にソースコードを示しながら実装している。
      学習させたプログラムで1手探索させることができる。しかしまだ精度が不足しているの対策が必要

     11章 学習テクニックその2
      精度を上げる手法
      ・転移学習
      ・マルチタスク学習
      ・Residual Networkの採用
     
     12章 モンテカルロ木探索
      これまで探索をしてこなかったので悪手を指すことがよくあった。探索方法としてモンテカルロ探索を採用実装している。
     ここまでの実装で基本形が完成。

     13章 さらに発展させるため
      前章までのプログラムを発展させるための方法
      ・C/C++で実装することで高速化
      ・大規模学習(訓練棋譜を増やす方法)

    0
    2019年12月28日
  • 将棋AIで学ぶディープラーニング

    Posted by ブクログ

    本書は、囲碁におけるAlphaGoの手法を参照しつつ、コンピュータ将棋のアルゴリズムを、モンテカルロ法+ディープラーニングを使って、実装する方法を解説している。

    コンピュータ将棋の従来手法
    →ミニマックス法。
    評価関数の質が要であり、2006年のBonanzaが初めて、評価関数の機械学習を導入した。

    コンピュータ囲碁で用いられているモンテカルロ法
    →ランダムに終局までプレイして、
    その勝敗の平均値から、最も勝率の高い手を選択する。

    AlphaGoにおける、ディープラーニングの適用範囲は、次の2点
    方策ネットワーク(Policy Network)
    → 合法手の中から探索すべき手を選択 → 多クラス分類問題
    価値ネットワーク(Value Network)
    → 「勝ち」になる確率を算出(≒評価関数) → 2値分類問題

    学術的な内容を避けて、扱うテーマをよく吟味しているのだと思うが、理解して貰おうという親切心が紙面に感じられ、とても分かりやすい。

    また、Chainer初心者としては、本書のコードがTrainerライブラリを使わずに実装してあり、
    損失の求め方や、逆伝播の仕組み、学習のループ構造など、
    ブラックボックスになりがちな箇所が、明示されているのがありがたかった。
    Chainer自体についての理解にも役に立った。

    0
    2018年05月29日

新規会員限定 70%OFFクーポン 今すぐGET