リラぼっとZ


(リラぼっとELF, リラぼっと9, リラぼっと13については 下の方に記載があります。)

はじめに

ベルギーのGian-Carlo Pascuttoさんによる、AlphaGo Zero論文の追試を 目的とした、Leela Zeroというプロジェクトがあります。 同じ作者の囲碁プログラム Leela とは別物で、人間の知識を入れず人間の棋譜は一切使わないで 自己対戦のみで学習させ、どこまで強くなるか試してみようというプロジェクトです。 GoogleのAlphaGo ZeroはTPUというGoogleのDeep Learning専用ハードウェアを 用いて学習させていたのですが、それを一般のPCでやろうとすると およそ1700年かかると予想され、そこで大勢の人々に協力を呼びかけて みんなのPCの計算能力を借りてなんとかしよう、というプロジェクトになっています。 2018年4月時点で、およそ700人の人々が日々協力し、通算で680万局の 自己対戦が行われています。 プロジェクトのページ (IEではなぜかグラフが見えないので他のブラウザで見てください。) のグラフを見ると、自己対戦の対局数に応じて棋力が伸びていく様子が よくわかります。

2017年11月末にスタートし、最初は単なるランダムでしたが、 棋譜を見ると最近とても強くなっているのが分かり、すでに 旧Leelaを超えて2子は強い、という話も聞こえてくるようになりました。 そこで、Leela Zeroを iGo棋院避難所 で対局できるようにしてみました。

現時点(2018年4月)では、 プロジェクトのページ の下部にあるBest Network Hashの中の、#119というネットワークの重みデータを 使っています。これは学習データそのものであり、基本的に 番号が大きい(=新しい)ほど強いです。#1から始まって、前のものに対して 400戦して勝率が55%以上なら良い重みデータとして合格、という方法で 学習していて、その119世代目のデータということです。

使い方

基本的な使い方はポカぼっとと同じです。 こちらを見て下さい。 ポカぼっとにあるいくつかの機能は省略されています。

ハードウェア

リラぼっとと同じマシン (core i7 4770K + NVidia Titan Black) を使っています。そのため、リラぼっとと同時に動かすことはできません。 リラぼっとと同様、多面打ちは出来ません。 思考時間は1手10秒に設定しました。

注意事項、バグなど

リラぼっとELFについて

2018年5月2日、FacebookのAI研究所が、ELF OpenGoという新しい囲碁AIを 発表しました。 これはLeela Zeroと同様にAlphaGo Zeroの論文の追試を 行ったものです。発表によると、 とのことでした。学習済みの重みデータも公開されているので、 自分でコンパイルすればその強さを味わうことも出来ます。

ELF OpenGoも試してみたいなと思っていたところ、2018年5月5日に Leela Zeroが0.14にversion upされ、 ELF OpenGoの学習データ(を変換したもの) を 使用できるようになりました。そこで、リラぼっとZにELF OpenGoの 学習データを食わせたものを、「リラぼっとELF」として動かすことにしました。

リラぼっとELFの強さについて

ELF OpenGoはLeela Zeroに対して198勝2敗というデータがあります。また、 Leela ZeroにELFの学習データを食わせたものが素のLeela Zeroに対して 402勝29敗というデータもあります。

このように、リラぼっとELFは明らかにリラぼっとZより強そうに見えますが、 実は必ずしもそうとも言い切れません。 402勝29敗の方のデータは、両者とも同じ3200playoutで対戦させたものです。 また、Leela Zeroの現時点でのネットワークサイズが192x15なのに対して ELFのネットワークサイズが224x20で、1playoutあたりの計算時間がELFの方が 大きくなっています。 そのため、同じ持ち時間で比較すると、ELFの方がplayout数が少なくなるため、 両者の差は縮むはずです。

1手15秒で白黒入れ替えながら6戦させてみたところ、ELFがZに対して4勝2敗でした。 この程度の対局数では断定できませんが、 必ずしも圧倒的に強いとは言えないようです。

リラぼっと9, リラぼっと13について

Leela Zeroは今の所19路専用です。ソフトウェアそのものはコンパイルし直せば 別の大きさの碁盤にも対応していますが、Leela Zeroプロジェクトでみんなで 鍛えているのは19路だけだからです。 が、個人で鍛えたネットワークファイルがいくつか公開されているので、 それを使ってリラぼっと9, リラぼっと13を動かしています。 19路ほど鍛えられてはいないはずですが、盤が小さいせいかそれでも それなりに強いようです。

更新履歴


LeelaBot Zero / kashi