囲碁AI・LeelaZeroの検討機能

今回は囲碁AI・LeelaZeroの検討機能を紹介していきます。
対局の場合と違い、GPUが搭載されていないパソコンでも起動できる優れものです。
ただし、64bit対応されているものに限るので、この点を確認した上で実装してください。
※6/26:現在は導入手順がさらに簡略化されており、こちらの記事も参照ください。

①Java SE Development Kitのダウンロード
こちらから最新のものをダウンロードしてください。
ダウンロードする際、「Accept License Agreement(利用規約の同意)」のチェックを入れ、
Windowsの64bit対応のパソコンなら、「Windows x64」のものを選択して入れます。

②Lizzieのダウンロード
上記と同じように、こちらの最新のものをダウンロードします。
・GPU搭載PC:lizzie-windows-64-gpu.zip
・GPUなしPC:lizzie-windows-64-cpu.zip
GPUの有無によって入れるものが異なるのでご注意を。

③networkの取得
こちらの下部に「Best Network Hash」という項目があります。
その中で最新のものをダウンロードします。
※解凍できてテキストファイルが出る方は④をスキップ。

④解凍ソフトのダウンロード
こちらより、ALZipをダウンロードします。
→③のファイルを解凍するための道具です。

⑤解凍してテキストファイルを抽出
③でダウンロードしたものをダブルクリックすれば解凍が始まるはずです。
その後にテキストファイルが出てくるので、それをLizzieのファイルの中に入れます。

⑥テキストの拡張子を取り除く
名前の変更で拡張子も出る方
拡張子ごと全て名前を消して「network」に名前を変更します。
警告が出ますが、そのまま拡張子を消してしまって大丈夫です。

名前の変更で拡張子が出ない方
ファイルを開き、上の項目の「表示」をクリックして上部右端にある「オプション」を開く。
フォルダーオプションが現れ、上部の「表示」を押して項目を表示させます。
その中から「登録されている拡張子は表示しない」の項目を外し、右下の「適用」を押す。
これで名前変更時に拡張子が現れるので、拡張子ごと消して「network」に変更。

⑦ALzipを使用した方へ
デスクトップ上にある「Alzip」をクリックしてください。
上部の「Option」から「Preferences」をクリックして設定画面を開きます。
左の項目から「File Association」を選択し、右側の項目から「JAR」のチェック項目を外す。
その後、右下の「OK」を押してOKを押し続ければ、「JAR」ファイルの解凍を止められる。

⑧実行する前に確認事項が一点
「lizzie」のファイルにある「leelaz」をクリックしてみてください。
何事もなく閉じた方
→動作条件を満たしている方なので、特に問題ありません。

エラーで出てしまった方
こちらから「Visual Studio 2015のVisual C++ 再頒布可能パッケージ」をダウンロード。

⑨最後は祈って実行する
「lizzie」のファイルにある「Lizzie」をクリックすれば作動するはずです。

上手の画面が出てくれば大成功です。
操作方法は「x(エックス)」を長押しすれば、適応するコマンドの説明が出ます。
操作は感覚的にできると思いますが、わからない点があれば答えられる範囲で答えます。

※備考
最新のネットワークに書き換えたい場合は③~⑥の手順を行えばできます。
蛇足ですが、新しいものに変える場合は使っていたものを必ず保存しておいてください。
問題が生じたときのバックアップになります。

「編集後記」
⑧の手順を踏んでいないPCがあり、何が原因で使えないのか検証するのに時間かかりました。
i3の64bitのノートPCで動作確認済みなので、おそらく64bitならほとんどのPCで動作します。
明日から遠出するので、ブログは3日ほどお休みします。(コメントの返事はできるかも)

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

コメント

  1. KUNIOKI ICHINOSE より:

    この記事のお陰でLizzieを動かすことができました。
    特に⑧は初めて見ましてこれが決め手になりました、ありがとうございます。
    ただ問題も残っていまして、2台のPCのうち1台のみが成功しもう1台がなぜ動かないかは解りませんでした。
    気が付いた点を書いておきますと
    ・③のnetworkのURLが間違っている
    ・私の場合Jarファイルのクリックでは動かずreadmeにあるバッチファイルで動かした
    ・2台目のPCでは動いていないのでlizziepropertiesファイルがホルダー内に生成されていない
    等です。

  2. okao より:

    ご指摘ありがとうございます!
    ・③のURLについては正しいものに差し替えました、失礼しました。
    ・基本的に拡張子jarで動かすもののはずですが…改善策をすぐ出せそうにないです。
    ・lizzie.propertiesは急所のファイルなので、おそらくこれが原因だと思われます。
     実行すれば自然に現れるファイルで、これも原因を調べてみます。
     →USBなどでそのファイルを受け渡せば動くようになるかもしれません。

  3. KUNIOKI ICHINOSE より:

    ご丁寧にありがとうございます。
    昨晩遅くまで動かそうとしていて、今日は囲碁大会に行っていていま帰りました。
    USBでpropertiesを移動するのはやってみましたがダメでした。
    またホルダーごと全てコピーもダメでした。
    実は昨晩寝る直前に⑧を再度やったら⑧の対策を打ったにも係わらず別のdllが無いようなメッセージが出ました。
    これで今日帰宅後そのdllの入手方法をググろうとしたのですが、うっかりしてdll名をメモしませんでした。
    いま再度起動してもdllが無い相当のメッセージが出てこない、再現しないのです。
    まぁ結局振り出しに戻ったのですが、再度全部アンインストール相当をして再インストールしようと思います。取り敢えず気長にやります。

  4. okao より:

    基本的にはJava SEとC++があれば動作環境は整うはずです。64bitのPCであればスペックに依存せずに使えるはずなので、再度試してみてください(dll名がわかれば、高度な環境設定でない限り対処法が載っていると思います)。

  5. jin より:

    LeelaZeroの検討機能や、ELFOpenGoとの対局機能を導入したいのですが
    パソコンのスペックとかは、最低どれぐらい必要でしょうか?
    高性能のグラフィックボードとかは必須ですか?

    あと静かな環境でこれらを作動させると、パソコンの音とか
    結構気になりますか?

    • okao より:

      LeelaZeroの検討機能については64bitのパソコンであれば動作できます。ただし、当然CPUのみで動作する形なので、ファンが凄い勢いで回ることがあるのでご了承ください。i3のCPUのノートパソコンで動作確認済みですが、音が多少出ますね。

      対局機能はGPUが搭載されているのが前提で、自分はGTX1050のi7-7700で快適に対局できています。GPUとCPUの最低条件は未検証なので、もし間違えなく使いたいのであればゲーミングPCのような高性能のものをオススメします。

      ※購入時のアドバイス
      低スペックの場合はそれなりの設定や知識が必要になる場合があります。検討機能ならCPUi5以上、対局するならGPU1050以上、CPUi5以上あった方がいい気がします。中古で低価格で購入する手はありますが、知識がないと非常に危険なのでオススメしません。

      • jin より:

        詳細な情報ありがとうございました!

        持ち運びたいので、ゲーミングノートパソコンを検討してみます!

  6. Jcqarw より:

    情報ありがとうございます。
    今朝の週刊碁からこちらにきて、私のPCにインストールし起動してみました。
    ただ、このページの手順どおりではなく、かなり端折りました。
    実施したのは、②⑧⑨のみです。
    JavaはSDK全体は不要でJREのみでOKのようです。
    networkは内蔵されています。というか、手順③のサイトからnetworkにたどり着けませんでした。
    私の場合⑨で一旦起動がブロックされたので、ここでつまづく人もいるかもしれませんね。ブロック画面の詳細情報をクリックすれば実行可能なんですが。
    以上、ご報告まで。

    • okao より:

      ご報告ありがとうございます。旧バージョンでは手順を踏む必要がありますが、最新のものは手順が省ける部分もあります。

  7. 河野美明 より:

    以下よろしくお願いします。
    1)現在Leela version0.11.0を使用していますがこれで保存した棋譜(sgfファイル)もLizzieで検討可能ですか?
    2)Lizzieの検討機能とLeelaのAnalyzeとの違いは?
    3)現行PCは2011年に購入(CORE i3)してWIN10で動かしていますがLizzieが立ち上がりません。エラー表示もでません。(visual studio2015もダウンロードしました)
    何か心あたりがあれば教えてください。

    • okao より:

      ブログをみてくださりありがとうございます。まず一つ目ですが、sgfを読み込むことも保存することも可能です。分岐は読み込まないのでご注意を。二つ目については実力の差の問題ですね。現状のleelazeroとleelaでは天と地の差があるのでleelazeroの検討機能であるlizzieの活用をお勧めします。三つ目については64bitであることを確認してみてください。また、この記事は一つ古い導入方法で現在は導入手順が簡略化されています。こちらの記事を参照ください。

  8. YK より:

    気がつくことがあれば教えてください。

    Leela 0.11.0で対局したSgf棋譜をLizzieで検討したいと考え、okaoさんの通りに実行して「上の画面が出てくれば大成功です」までいきました。そして「o」でSgfも読み込みましたが「検討機能」働きません。
    (次に打つ最適の場所とか現状の優劣を表示するバーグラフとか・・が表示されません)
    0.11.0でも強すぎるのでZeroと対局することが考えていません(gpu無しの普通のPCですし・・)が0.11.0の検討機能より分かりやすいのであれば勉強したいと思っています。

    • okao より:

      lizzieのバージョンは0.5の最新のものでしょうか?手の探索はspaceを押せば始まるので、試してみてください。(背景が草原の旧バージョンは探索のON/OFFの反応が遅いです)

  9. YK より:

    okao様早々のお返事ありがとうございました。
    lizzie0.5Windowx64.CPUとなっていましたので0.5だと思います。(画面背景は竹林です)
    画面で目まぐるしく石が動いていましたがこれが「探索」でしたか・・((m_m))
    ただ・・・明らかなシチョウを逃げるなど違和感があり今まで通りLeelaで検討したいと思います。色々と教えていただきありがとうございました。

  10. ttugio より:

    はじめまして。丁寧な解説、ありがとうございます。
    Lizzieをダブルクリックで開き、問題局面をsgfファイルをつくりコマンドoで読ませてみました。
    読めたので、スペースを押したら、検討1の画面になりました。
    検討1で数字の高い候補手が正解というのでしょうか。
    また、これはあらかじめ黒石・白石が置かれているところからのスタートですが、自分の
    棋譜の途中で検討させるのは、どうすればよいのでしょうか。初心者なものですから、頓珍漢な質問ですみません。

  11. okao より:

    上の数値が勝率を表し、下の数値は探索数(その手を何回調べたか)になります。
    基本的には探索数が多いほど有力であるとみているので、多いものが最善に近いです。
    ただし、囲碁AIは探索させて最善手が変わることも多いためご注意を。
    また、詰碁やシチョウを苦手とする特徴もあり、正解が異なる場合もあります。

    手順がある棋譜であれば、自由に操作できるので読み込ませれば問題なく検討できます。
    検討したい場面まで進めて探索させる、又は途中で気になる変化を並べて探索させる、
    こんな要領で簡単に操作可能なので試してみてください。

  12. YK より:

    また教えてください。
    Leela 0.11.0で対局したSgf棋譜をLizzieで検討しています。
    置き碁ですので最初は横棒グラフは黒優勢ですが途中から逆転してそのまま負け碁になるのがほとんどです。
    そこで逆転時点に遡ってどう打てば良かったのか調べています。
    ここで素朴な疑問ですが逆転前の状態からLizzieの「最善」通りに打てば(置き碁のハンデがあるので)黒が勝つのかと思っていましたが白勝ちになりました。
    何か変な気がするのですが….?

    • okao より:

      シチョウや細かい読みになった際、ときどき判断ミスをすることがあります。またsgfで読み込ませた際に、本来はコミ7目半で行うものでコミなしの棋譜を読み込ませたらバグが発生しやすくなるかもしれません。置き碁の場合はダイナミックコミを使う手もありますが、その手法は解決策ではなく緩和策なので導入方法は割愛します。

  13. YK より:

    okao様、お騒がせてすみません。
    8:26pmのYKです。「最善」通りに打ったつもりだったのですが落ち着いて打ち直してみると黒勝ちになりました。少し時間をおくと最善手も結構変わるのですね。