fc2ブログ

Articles

NNUEの学習にチャレンジしてみる

 タヌキさんチームがWCSC28で提唱されたNNUE評価関数について、Qhapaqさんが解説記事を書いてくれたこともあり、私も試しに学習に挑戦してみることにした。
 とりあえず学習は回せた感じがして、評価関数がアウトプットフォルダにできていたのは確認した。
 まだテスト対戦とかしていないので動くのかどうかはわからないけど、学習させることはできたかなという風には思っている。
 ぼちぼち頑張りたい。

大富豪プログラムのサンプルを動作させることができました

 大富豪AIの大会UECdaに向けて、とりあえずサンプルをダウンロードして動作させてみました。
 C版のサーバーが動かし方が分からなかったですがjava版のサーバーが動かせて、サンプルのクライアントを5つ立ち上げたら大富豪が始まるのを確認することができました。
 それで、これをどう改造するんだという話ですが、とりあえずサンプルを動かせてだいぶ満足しました。

PyaqをGoGuiで動作させることができました

 囲碁プログラムのPyaqをGoGuiで動かすことができました。
 ただ、CGOSにつなげようとしたのだが、これが繋がらない。どうすればつなげることができるのだろうかということを考えている。
 GoGuiにつなげることができたらGNUGOとの自己対戦はローカルでできるんじゃないかということを思うのでそれにチャレンジしてみたいと思っている。GNUGOに勝てるようになったら使えるんじゃないかということを思うので。

電通大で大渡さんの大富豪AIの講演会を聞いてきました

 5/26土の午後に電気通信大学で大富豪AIの大会、UECdaに向けて? 過去4回チャンピオンを獲得している大渡さんの講演会があったので聴講してきました。
 非常に勉強になりました。そして、以前からUECdaは興味深い大会だと思っていて、できるようならば参加してみたいとも思っていたのですが、その思いを強くしました。
 これまでに囲碁・将棋とやってきましたが、大富豪もやってみる価値はあるだろうということを思います。
 前から思っていたことではありますが、サンプルと言うかライブラリを有意に改造することができるか、ということが問題です。それができるようであればぜひ大会に参加したいとは思いますが、改造するアイデアが出てこないことには参加できないので、なんとかまた頑張ってみたいなということを現時点では思っています。

PyaqをGPUで動作させることが出来ました、CUDAのバージョンに注意したほうが良いと思います

Screenshot from 2018-05-18 04-21-57
https://github.com/ymgaq/Pyaq
↑先日CPUで動作させることが出来た囲碁プログラムのPyaqですが、GPUでも動作させることが出来ました。
 やってみて、CUDAを「9.0」で入れないと動かなかったです。私がダウンロードしたときは「9.1」だったのですが、インストールするときにちゃんとバージョンを指定して「9.0」を入れてあげないと動かないです。あとは何やったか忘れました。
 とりあえずGPUで動かすことが出来てよかったです。

山口さんが公開したPythonの囲碁プログラムPyaqをCPUで動作させることが出来ました、TensorFlowのバージョンに注意したほうが良いと思います

https://github.com/ymgaq/Pyaq
↑山口さんが教育用として公開したPythonで1000行くらいで書かれている囲碁プログラムのPyaqですが、やっと動かすことが出来ました。動かしてみたら大分面白そうなのでこれを改造して7月に使えないかということをちょっと思いました。
 で、動かすにあたって躓いた点をメモ書きしておきます。

 ギットハブの説明サイトからリンクが張ってある「UbuntuにTensorFlowをインストール」のページから貼ってあるリンクはTensorFlowのバージョンが古くて(VER0.7)そのままでは動かないです。そういえばTwitterで書いてあったような気がしましたがその時はまだやっていなかったので読み飛ばしておりました。なんか動かなくてよく分からないエラーが出るなとは思っていたのですがいろいろと調べるとTensorFlowのバージョンが古いためらしい。それなので新しいの(VER1.8)を入れるとまたエラーが出る。また調べると「新しすぎてもダメでちょっとバージョンを戻せば動く」みたいなのが出てきたので「VER1.5」を入れたら無事に動作しました。
 そこに引っかかって大分苦戦したのでメモ書きしておきます。
 ちなみに現時点ではまだCPUでしか動かせていません。なんとかGPUで動かせないかまた頑張ってみたいと思います。

次は囲碁でEsArgoを9路に対応させたいと思っている

 今度は7月に備えて囲碁ソフトを改良したい。今回は9路盤部門があるのでAI竜星戦2017を戦った19路盤のEsArgoを9路盤用に改造することをしたい。ウェブで見ていると19路用のポリシーネットを9路に転用して使うことができるらしいのでそれで9路でそこそこ闘える9路版EsArgoを作りたいと思っている。
 山口さんがPyaqを公開されたのでそれも動かしてみたいのだが、前に試したらテンサーフローの部分で上手く動かなくてなんだかわからないエラーメッセージが大量に出るところで止まっている。
 まだ少し時間があると思っているので余り慌てないでぼちぼちとやりたいと思っている。

5/3-5/5の川崎でのことについて

 川崎に出かけてきた。なんか、書きたいなと思ってはいるのだが興奮しすぎたり考えがまとまらない感じで書ける感じでもなくて。
 今回は最終リザルトが二次予選15位で、シード権を獲得したのだが、不思議なことに悔しくてしょうがない。
 今回参加するまでは「1次予選突破がノーマル・サクセス、総合16位に入ってシード権を獲得できたらそれはエクストラ・サクセス」だと思っていた。だから総合で16位以内の15位に入ってシード権を獲得出来たのでそれはエクストラ・サクセスを達成したことなので十分に喜んでいいはずなのだが、そして5/2の前日準備の時にAWSに接続できないということが分かって、今回はローカルのノートPC、i5のCPUで4コアで戦わないといけないと思った時点で「これは多分一次予選通過できないよな」と思って5/2の夜帰る時に気分がお通夜だったことを思い出せば上々といってよかったのだが、もしAWSが使えてたら8位入賞は狙えたんじゃないかと思ってしまってとにかく悔しくてしょうがない。
 懇親会のときのスピーチでQhapaqさんが「今回aperypaqに六割勝てる評価関数で参加した」と言っていてそれが衝撃で。「ArgoCorseが今回用意した評価関数もaperypaqに六割勝てるものだったのですが」と思って。だからAWSのm5.24xlargeを使ってマシン的に互角だったら8位入賞は狙えたんじゃないかと、終わってから思うと、それが悔しくてしょうがない。
 HoneyWaffleさんが「入賞するとこんなのくれますよ」といって賞状の写真を見せてくれたのですが、私はあの紙切れ一枚が欲しくてしょうがない。
 それにしても、参加者の皆さまがとにかくレベルが高くて面白い人が多くて、会場で話をしていると楽しくて楽しくてしょうがなかった。この人達と知り合いで在り続けるためにまたこれを続けたいということを思う。また頑張りたいと思う。

「やねうら王」の最新版Ver4.82が公開されたのでプログラムを移植していた

 割と直前だったので移植作業が間に合うか不安だったのだが、書き換えた定跡部分は変更がなかったのかコードをコピペしてコンパイルしたら通ったので一日で最新版への移植作業をすることが出来ました。これで最新版で勝負することができそうでそれが良かったと思っています。
 というか、いよいよサーバーへのつなぎ方がわからない。将棋所でfloodgateでの対局ができる状態にはしているからあとは会場に行って聞くというつもりでいる。

将棋はAWSでの動作ができるまでにはなった

 AWSにプログラムをコピーして将棋所で動かせるようにはなんとかした。予想以上に大変だったのでびっくりした(700MBある評価関数をソウルのサーバーまでコピーしようとすると何度も途中で止まってやり直すことになったり)。
 あとは、現状は無料プランで動かしているので、これを高いプランにして動作するかどうかを確認する感じ。
 オフィシャルから通信テストをしろというメールが来ているけどつなぎ方がわからない。将棋所でfloodgateでの対局が出来ているから多分当日に行けばおしえてくれるんじゃねって思っている。
 あとはLANポートの増設とLANケーブルをアマゾンで買いたい。
 そんな感じでなんとかなればと思っている。

AWSでソウルのサーバーの借り方がやっと分かった

 AWSを借りようかと思ったとき「よく分からないがCPUの数が多ければ多いほどよいのか」と思ったので、それで選んだのだが、それでなんでm4.16xlargeなのかというと、登録していた東京サーバーではこれが一番だったから。ソウルのサーバーにはm5.24xlargeがあるのは分かっていたが、ソウルのサーバーの借り方が分からなかったので東京サーバーでの一番であるm4.16xlargeを使うって登録をしたのだが、なんてことはなくAWSの画面右上の「東京」って部分をクリックして「ソウル」を選択するだけでソウルのサーバーが借りられるのだな。なぜこれが今までできなかったのかと出来てみると不思議に思うばかり。
 そんなわけで、ソウルのサーバーを借りる方法がわかったのでm5.24xlargeを使って勝負する方法が大分わかってきた。得物では引けを取らなくなったということが嬉しい。まあ得物が良くても使いこなせる気はしないですが。

将棋のプログラムはとりあえず移植して動作はするようになった気がする

 将棋のプログラムを「やねうら王」2017から2018に移植する。エラーを消してコンパイルは通るようになったので将棋所を使って動作試験をしている。
 アピール文に書いたとおり、定跡の部分を書き換えているので、そこのところで時々フリーズする。定跡がヒットしなくて探索に移るところでフリーズすることが時々出るのでこれがなんでだろうかと思っている。ただ、これ以外は移植は出来ているという気がするのでそれは良かったかなと思う所。
 冷静に考えて、AWSに課金する金がもったいないと言うか、安いと言うほど安くはないと思うと、どうするかなというか、別段AWSに課金しても大して強くならんと思うのでノートPCでいいかなということをチラホラと思うので、割とギリギリまでAWSを使うかどうか悩みそうな感じがする。

将棋のプログラムの移植を少しする

 SDT5のときの将棋のプログラムを、「やねうら王」2017だったのでそれを2018に移植しようとする。
 ある程度やってエラーを消してコンパイルは多分通るようになったと思うので、またこれからちゃんと動作しているか調整を行いたいと思う。
 移植ができれば、AWSでの動作に入れるのでのんびりやっていきたいと思う。

AWSのサーバーで将棋所を入れて「やねうら王」+elmo評価関数を自己対戦させることに成功しました

 AWSのサーバーで将棋の対局をさせる方法を習得したく、試しているのですが、今日やっとAWSのサーバーで将棋所を使ってやねうら王を動作させることに成功しました。あとは自分でコンパイルした実行ファイルを使えるかどうかをこれから試してみたいと思っています。あとは現状Windowsサーバーなので、できるようならばUbuntuで動かせるようにしたほうが料金が安くすむので助かります。

コンピュータ囲碁対局サーバCGOSへのつなぎ方Ubuntu編

http://www.yss-aya.com/cgos/
 コンピュータ囲碁のソフトを作った時にオンライン対局サーバCGOSに接続して対局する方法が分からなかったのでメモ書きしておきます。
 Ubuntuの14.04か16.04で接続を確認しています。

 同じフォルダに以下のファイルを入れてください。

***************
囲碁プログラムをコンパイルした実行ファイル
cgosGtp.tcl
config.txt
cgosGtp-linux-x86_64(←Linuxで64ビットの場合、32ビットだったら32のやつをダウンロードしておく)
***************

config.txtには以下のように記載したテキストファイルを作ります。

#--------------------------------------------------------
# config file
# Bot name must be within 18 characters.
# Port is 6809 in 9x9, 6819 in 19x19.
# -------------------------------------------------

%section server
server yss-aya.com
port 6819

%section player
name EsArgo #(←CGOS上で表示するソフトの名前)
password xxxxxxxx #(←パスワード,他の人がこの名前で対局できないようにするため?)
invoke ./test #(←ここにプログラムの実行ファイルを指定する)
priority 7 #(←優先順位は複数のプログラムを同時に走らせるとき用らしい、一つだけのときはあんまり関係ないっぽい)
#---------------------------------------------------------

 以上のファイルを同じフォルダに置いたら以下のようにコマンドを打つとサーバーに繋がって対局が始まります。最大で30分待たされます。80局位対局するとレーティングが決定します。それまでは暫定レーティングです。

argon@argon-desktop:~$ ./cgosGtp-linux-x86_64 -c config.txt

floodgateでレーティングを出すことが出来ました

 110億局面の300GBの教師データから生成した評価関数とApery(SDT5)の評価関数を1:1でブレンドしたものを使って、「やねうら王」2018の最新版でi5のCPUを1cで走らせてレーティング3149だった(ArgoCorse1.10bの名前でやってみた)。とりあえずfloodgateでレーティングが出せれば設定とかを変更してみてどれが強いのかというのを数値で測ることができるので大変に有益であると思う。
 囲碁対局サーバーのCGOSでも思ったけど、自分で作ったソフトを戦わせてみてレーティングが出るということがなんとも面白い。サッカーのFIFAランキングみたいなもので。「レーティングを上げるゲーム」として捉えてみたら大会以外でも開発のモチベーションを上げることができるような気がする。
 とりあえず、floodgateの棋譜から定跡を生成してそれを使って対局できないかを試してみたいと思っている(棋譜をそのまま定跡にすると定跡ファイルのサイズが大きすぎて使えないんじゃないかという不安がある)。

コンピュータ将棋の対局サーバーのfloodgateに繋げるようになりました

 コンピュータ将棋の対局サーバーのfloodgateであるが、先日ようやっと繋いで対局できるようになりました。
 将棋所の標準機能で簡単につなげるはずなのだが、どうやっても繋げず、AI竜星戦のときに「きふわらべ」さんから「パスワードのところに設定情報を入れて」という話を聞いてやってみたがそれでも繋がらなくてどうなっていたんだと思っていたのだが、なんとなく棋譜を見ようと検索してニコニコ大百科がヒットして「現在の設定では持ち時間5分」とあったので、もしやと思ったので時間を5分に設定したら繋がった。公式ページには「時間は10分」て書いてあるからそれでやっていたら繋がらずまさかニコニコ大百科の一文のほうが正しい情報だったとは。
 とりあえずまだレーティングが出ていないので、しばらく対局してレーティングが出せるかどうか試してみたいと思います。

CGOSに繋いて見るがイリーガルムーブとかが辛い

 エスアル碁(EsArgo)をCGOSにつないで打ってみるが、イリーガルムーブとか終盤にパスを連発したりとかで、実力とは違う部分で負けまくっていて辛い。それを直してみたいが直した方が分からない。辛い。
 将棋で定跡ファイルを作ってみようと思っている。とりあえずフラッドゲートの棋譜を変換して定跡に落とし込むのを試している。頑張りたい。

評価関数の計算に4日間ちょっとかかった

 やねさんの300GBの評価関数の教師データを使って学習させてみた。4日半くらい、CPUがi5のパソコンで100時間ちょっと計算時間がかかった。とりあえず計算できたようなので良かった。ちょっと試しに対局してみたが確かにelmo(WCSC27)より強い感じがする。
 これから評価関数のブレンドとか試してみたいと思っている。

チェイナーに食わせるデータの作り方がいろいろ間違っている気がする

 バリューネットとかポリシーネットとか作ろうとしている。棋譜からチェイナーに食わせるデータを作るのだが、CSV形式で「0,1,2」の数字の羅列361個のあとにラベルの勝率を入れた一行をひたすらテキストで書き込んでいく。棋譜1000個をCSVに書き出すのにHSPで書いたプログラムで24時間ちょっと余裕でかかる。山下さんのページのバリューネット作成用の公開棋譜データで1ファイルに20000個の棋譜が入っていて、それをチェイナーに食わせるデータに変換するのに3プログラム並行で処理したとして一週間位かかる計算になる。多分処理に時間かかり過ぎだよなと思ってC言語で棋譜をCSVに書き出すプログラムを作れないかと思ってみたが、そういえばC言語って文字を扱うのがすごく大変な言語なんだよな、ちょっとやろうとしてすぐに嫌になった。Pythonだったら少しはマシで少しは速いかなと思わないでもないが、Pythonよくわからないんだけど。

Navigations, etc.

Navigations

FC2カウンター

カウンターfrom2005.1.1

プロフィール

Yutaka ICHIMURA

Author:Yutaka ICHIMURA
 趣味はアニメ・漫画・ライトノベルなどポップカルチャー全般とモータースポーツ観戦、物理学・機械工学の勉強。
 コメント・TBは歓迎いたしますが、予告なく事前認証制にすることがあります。
 管理人へのメールはargonracing +at+ gmail.comからください(ただし普段使っていないアドレスなのでここからメールを送った場合はコメント欄にその旨を記載していただきますようお願いします)。

最近の記事

月別アーカイブ

カレンダー

04 | 2023/05 | 06
- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 - - -

ブログ内検索

リンク

http://www.inv.co.jp/~popls/

Powered By FC2ブログ

Powered By FC2ブログ
ブログやるならFC2ブログ

管理者ページ