囲碁AIソフト Leela

● フリー囲碁AIソフト Leela 体験レポート ◯

2018/09/09

Leelaの紹介

Leelaはベルギーの個人開発者GCP氏によって作られたグラフィカルユーザーインタフェース(GUI)を備えるフリー囲碁ソフト。Windows/Mac OS/Linux(Ubuntu,Fedora)に対応、MultiprocessorとGPU accelerationをサポートし、さらに、深層学習(Deep learning)も取り入れ、Neural Networkはハイレベルなプロの32millionの状況から学習した結果を参照し、プロが打つと思われる着手を検索する。

ハードウェア構成によっては棋界最高位・九段の実力を凌駕するという。思考エンジンのみの配布に加え、GUI付きのインストーラー版が利用可能で、難易度の自動調整機能も搭載されている。

Leelaを起動すると、9路盤に4つの置石を置いた状態で対局が始まる(ユーザーは先手の黒番)。9路盤は囲碁の初心者が実戦感覚をつかむのに役立つので、初めてならばそのまま対局してみてもよいだろう。

新規対局ダイアログでは、盤の大きさ・コミ(地のハンディキャップ)・置石の数・黒番か白番かを指定する。盤の大きさは最小で7×7マス、最大で25×25マスを選択可能(標準は19×19マス)。そのほかにも思考エンジンの強さ(“Simulations”の数が大きければ大きいほど強い)と深層学習(Neural Network)を利用するかどうかを指定できる。

Leelaの面白い点は、バックグラウンドで思考エンジンを動作させて、候補となる着手点を示してくれるところ。たとえば[Tools]->[Show Network Probabilities]オプションや[Tools]->[Show Best Moves]オプションを有効化すると、碁盤上に着手点をheatmapとして表示することが可能。地合いや模様(勢力圏)を可視化することもできる。なお、入門者にとって[Leela]は少し強すぎるので、囲碁の勉強をしたい場合は[File]->[New Rated Game]メニューから新規対局するのがお勧めだ。この“Rated Game”は30級から開始され、対局を通じて[Leela]がユーザーの強さをはかり、難易度を自動で調整してくれる。(窓の杜より、一部変更)

導入

まずはLeelaのサイトからダウンロード。 使用したpcは富士通の FMV LIFEBOOK AH53 (8GB,core i7,intelGPU搭載だがLeelaはintel GPUは使わない。)
Leela site
"Leela 0.11.0 (graphical interface for Windows, you probably want this one)"をダウンロードする。(2018年8月末現在)

ダウンロードされたzipを解凍し、解凍されたフォルダーからSetupを実行。

[Next]を押す

Leela選択し[Next]を押す

Leelaのアイコンがデスクトップに現れるとSetup終了。

使い方 ① 

Leelaのアイコンをクリックすると9路盤が表示される。これから囲碁を始める人はここからスタートしてもよい。 19路盤を使う場合は、左上の[File]->[New Game]と進む。


Board sizeは盤の大きさ、Handicapは置き石、Your Colorで白番か黑番か、Engine max levelはLeelaが考える深さ、右下のUse Neural Networkにチェック、これを外すと極端に弱くなる。設定し終えたらOKを押す。

左上の操作バー矢印で着手の"進む/戻る"を動かすことが出来る。矢印が10手ずつ、マル矢印が1手ずつ"進む/戻る"。 図は35手目まで戻った。

[Tools]の[Show Network Probabilities]でこれまでの蓄えた経験値(Neural Network)から次の最適な候補手をカラー表示(heatmap)する。候補の評価に応じて赤、オレンジ、薄いブルーなどがある。このようにして、自分の着手とLeelaの候補手の違いを知ることが出来る。[Tools]の[Show Best Moves]も似ているが、こちらはLeelaが考えた最善手。

[Analyze]の[Analysis Window]では着手の評価が、[Show Histogram]では局面の勝率がそれぞれのwindowで表示される。Histogramは青線がMonte Carlo、赤線がNetwork、黒線が両方が合わさった評価。

Analysis Windowの項目説明(Leelaサイトの機械的翻訳 *よく解らないところもある(汗))
項目説明
Effort%Leelaが着手に費やした検索作業の割合。 大きな検索努力は、検索が一貫して良好に見えることを意味する。 Leelaは、新しい有望候補手が登場しない限り、一般的にそのような動きをする
Simulations着手を調査するために使用されたモンテカルロの再生回数。 より多いシミュレーションは、着手がより深く調査されており、勝利の確信をより強くする。
Win%これは、プレーヤーがゲームに勝つためにどのくらいの確率で着手する可能性があるかに関して、Leelaの最高の推測を表わす。 まだ深く調査されていないが、現在の最善の着手により勝利の可能性が高いと思われる着手がある場合、太字で表示される。 このような場合、Leelaがもう少し長く分析するようにしたいかもしれない。
MC Win%現在のポジションからランダム化されたモンテカルロプレイアウトによって決定される可能性が高い 勝率%
Net Win%ニューラルネットワークを使ってポジションを分析することによって決定される可能性が高い勝率%
Net Prob%ニューラルネットワークによって推定されるように、プロプレイヤーがこの着手をする確率。
PV主なバリエーション。 リーラが最適と信じる両方の着手シーケンス。

使い方② - Rated Game

Leelaの面白い使い方にRated Gameがある。最初はよくわからなかったが、人間のレベルに合わせて、Leelaが置き石を増減する。

[File]->[New Rated Game]を選択 ([Set Rated Board Size] で9路盤か19路盤かをセットしておく)

19路盤では、いきなりあなたは15級だとして、置き石が数えきれないほど出てくる。

15級の途中でLeelaが投了

次は5級でスタート。ここで2度勝つといきなり6段にされる

置き石無しの互先。6段では当然負けるので、1段に下がりここで数回勝つと3段になる。途中でやめると下がらない。

使い方③ - 棋譜の保存・読み込み

他の囲碁アプリとsgfファイルでやり取り出来る。図はKiin Editorでコピーし、Leelaで[Paste SGF]のケース。