藤井二冠の自作PCをネタに将棋ソフト開発者が対談。プロ棋士とプログラマーがタッグを組む未来も 47
ストーリー by nagazou
長いけど元記事面白い 部門より
長いけど元記事面白い 部門より
スラドでも藤井聡太二冠が自作PCでRyzen Threadripper 3990Xを導入したことは話題になったが、その藤井二冠の使用している将棋ソフト「水匠」の開発者である杉村氏と、その水匠のベースとなった「やねうら王」の開発者である磯崎氏の対談が行われたそうだ(ニコニコニュースORIGINAL)。
磯崎氏によると、コンピュータ将棋の世界では思考時間を2倍にすると、段位に相当するレーティングが上がり、一段強い指し手になるのだという。このため、高速かつコア数が多いCPUを持ってくれば、研究の速度がアップすることになる。ベースとなっているやねうら王はThreadripperにすでに最適化されており、その派生である水匠も同様であるとしている。現状では将棋ソフトを動かす上では、Threadripper 3990Xが最強であり、藤井二冠を上回る環境を手に入れるのは困難だとしている。
ただし、将棋ソフトにはGPUで処理するタイプのものも存在するという。dlshogiやAobaZeroといったもので、現状ではやねうら王の強さには及ばないものの、これらのGPU系ソフトがCPUで処理するやねうら王や水匠に匹敵する性能になれば、藤井二冠の環境を上回ることができるかもしれないとしている。
またGPUを使用した将棋ソフトは、大局観が優れているというCPUを使用したものと異なる特性があるという。このほかにも、手の内がバレやすくなるから使っているプロは使用している将棋ソフト名はあまり表に出さないといったかなり興味深い内容が語られている。また、チェスのように、開発者がプロ棋士とタッグを組んでソフトを発展させたいといった話もでている。
磯崎氏によると、コンピュータ将棋の世界では思考時間を2倍にすると、段位に相当するレーティングが上がり、一段強い指し手になるのだという。このため、高速かつコア数が多いCPUを持ってくれば、研究の速度がアップすることになる。ベースとなっているやねうら王はThreadripperにすでに最適化されており、その派生である水匠も同様であるとしている。現状では将棋ソフトを動かす上では、Threadripper 3990Xが最強であり、藤井二冠を上回る環境を手に入れるのは困難だとしている。
ただし、将棋ソフトにはGPUで処理するタイプのものも存在するという。dlshogiやAobaZeroといったもので、現状ではやねうら王の強さには及ばないものの、これらのGPU系ソフトがCPUで処理するやねうら王や水匠に匹敵する性能になれば、藤井二冠の環境を上回ることができるかもしれないとしている。
またGPUを使用した将棋ソフトは、大局観が優れているというCPUを使用したものと異なる特性があるという。このほかにも、手の内がバレやすくなるから使っているプロは使用している将棋ソフト名はあまり表に出さないといったかなり興味深い内容が語られている。また、チェスのように、開発者がプロ棋士とタッグを組んでソフトを発展させたいといった話もでている。
AlphaZero (スコア:2, 既出)
3年経ったので、AlphaZeroの自己対戦型の学習に比べてどれぐらい変わったのか不明だけど
https://ja.wikipedia.org/wiki/Elmo_(%E3%82%B3%E3%83%B3%E3%83%94%E3%83%... [wikipedia.org]
囲碁AIでも新しい定跡が見つかったり、AIを将棋の有段者が利用してさらに強くなれる時代とも聞きますので、もはやAIvs人間なんて感じではないのでしょうね。
Re:AlphaZero (スコア:1)
AlphaZeroが最強だったのは一時だけで、今はチェスも将棋も既存手法によるアルゴリズムのほうが強いと考えられています。
(AlphaZeroは非公開システムなので誰も追試できないわけですが)
チェスに関する分析↓
https://chess.stackexchange.com/questions/29791/which-is-better-stockf... [stackexchange.com]
実際に、AobaZeroというAlphaZeroを再現しようとしたプロジェクトがありますが、現在までのところさほど強くありません。
そもそも論としてCPUとGPUで使うものが違う以上、マシンスペックを揃えた対局というのは原理的に不可能なので、
どっちが強いという比較は難しいですが。
Re:AlphaZero (スコア:1)
既存手法(2駒、3駒関係)の評価関数と、DNN(ディープラーニング)の評価関数のどちらが強いかは使える計算量にもよると考えられてます。
評価関数の表現力では、DNN >> 既存手法
計算コストも、DNN >> 既存手法
ソフトの強さは、評価関数の表現力・精度と、計算コストの両方が効いてきます。
いくら評価関数が正確でも、読める手数が少なければ将棋やチェスでは負けてしまうので。
今の時点では、将棋・チェスでは既存手法の評価関数の表現力はまだ限界に達しておらず、同じリソースを使うならDNNより既存手法の方が強いと考えられてます。
AlphaZeroの将棋・チェス版は、計算リソースを無視すれば現時点でもDNNが既存手法並みに強くできることを示しただけ。
そのうち既存手法の評価関数の表現力が頭打ちになって、DNNの方が有利になることも、ほとんどの開発者が認めてます。
これがいつになるかはゲーム次第ですが、囲碁は既にDNNの方が有利、将棋は今が正に端境期、チェスはもっとずっと先でしょう。
もう一つ既存手法とDNNの中間の手法としてNNUEがあります。
https://www.chessprogramming.org/NNUE [chessprogramming.org]
CPUで計算できる軽量なニューラルネットワークです。
将棋では上位のソフトのほぼすべてに採用されているし、チェスソフトのStockfishにも採用されて大きな成果を上げてます。
これも評価関数の表現力と計算コストのバランスの問題で、今はちょうど中間であるNNUEが最適なのだと私は理解してます。
そのうち使える計算リソースがもっと増えれば、将棋やチェスも本格的なDNNに移っていくのでしょうね。
Re: (スコア:0)
Googleの資金力による学習データの物量が重要なんでしょ
Re: (スコア:0)
>>そうした手を選び出せるように評価関数(形勢判断をする際の指標)を調整
例えば画像なら、「青みを強くして」に対してBを強調するみたいにパラメータの
独立がわかりやすいけど、こういうAI系のものはどうやって調整するのか
さっぱり想像がつかん。
web検索アルゴリズムなんかも、微調整ができるほど因数分解されているものなのか、
トライandエラーで結果オーライで選ぶのか、学習方式なんかは過去の学習データを
再利用できるのか再学習なのか、改定によって今より悪くならないことは
どうやってわかるのか…、わからんことだらけだ。
Re: (スコア:0)
深層学習では、大きく分けて「推論(入力から出力を計算する)」と「学習(推論の結果と本当の答えとの誤差を最小化する」からなります。将棋のソフトの事は分かりませんが、恐らく評価関数は学習時の"誤差"の算出方法を指しているものと思います。
パラメータの数は(ネットワーク構造によりますが)数百万~数億ありますので、ご察しお通り人力では到底調整しきれません。代わりに、パラメータを調整するパラメータ(ハイパーパラメータと呼んでいます)を調整したり、ネットワーク構造を工夫したり、評価関数を工夫したりします。
――と思っています(元記事を読んでいないのは内緒でお願いします)。
Re: (スコア:0)
元記事を読んでいない状態での理解と実際との差の誤差を算出・・・
とかもいずれ出来ればいいなあ
評価方法を適当に決めて適当に算出・・・
したら人間の実感との差が激しそうだし
プログラミング棋士 (スコア:0)
ざっと読んだけど、局面に制約条件をつけて評価を進めるような使い方ができると有益ということか。
Pythonでプログラムが組めればいいようだから、谷合四段みたいな工学修士棋士以外にも
プログラミング棋士が登場しそう。
Re: (スコア:0)
でもプログラミングにかける時間がもったいないと感じればやらないだろうから、開発にかけた時間が割りに合うぐらいの効果が出るかどうか。
独占使用権 (スコア:0)
プログラマとタッグを組んでソフトの独占使用権を買うのが普通になったりすると、もう違う戦いになってしまうのかな。F1でマクラーレンのシートをゲットしないとまず優勝できな的な。
後は大企業が特定の1人にとてつもない計算リソースを無償提供するとか。
Re: (スコア:0)
腕に覚えがあるプログラマも一人や二人じゃないと思いますので、将棋が個人競技から団体競技になる感じですかね?
テニスとかの選手とコーチの関係と思えばそこまでではないかな?
物量注ぎ込めば(当然)強くなるだろう (スコア:0)
ハードリソース縛りでの対戦で、
純にソフトアルゴリズム同士の勝負もあっていいと思うのですが
そういうのはもう既にやっているのでしょうか
# 8bitCPU縛りとか?
Re:物量注ぎ込めば(当然)強くなるだろう (スコア:2)
Re:物量注ぎ込めば(当然)強くなるだろう (スコア:1)
縛るなら消費電力縛りでしょうね。
おそらくそれが一番公平。
技術進歩も導入できるし。
例えば1分間単位で電力量の上限を指定しておいて、それを超えたら手の探索を中断するとか、そういう感じかな。
相手の手番でも同じ仕組みにしときゃいいかな。
まぁ上記仕組みでは抜けが色々ありそうだけど、総合的には使えるエネルギーを公平にするのが一番良いと思います。
自動車レースで言うなら、支給したガソリンだけで耐久レースで勝て、みたいな感じかなー。
燃費も瞬発力も必要。
Re: (スコア:0)
専用チップを作ると有利なので、将棋の名門リコーあたりが復活しそうですね
Re: (スコア:0)
電王トーナメントってのが昔あってだな、まさにハード縛りだったんだけど
そのあとの人vsPCの電王戦がなくなってしまったので、自然消滅してしまったんや
Re: (スコア:0)
どういう縛りになるかによって有利になるアルゴリズムや不利になるアルゴリズムというのは必ず出てくるので、そのレギュレーション内での収束が起きることになりますね。
極端なことを言えば「8bit縛りなら金をつぎ込んで演算ユニットは8bitだけどアドレス空間は64bitでGHzクロック動作する競技用8bitCPUでもいいんだよな?」というアプローチもありますw
Re:物量注ぎ込めば(当然)強くなるだろう (スコア:1)
「PIC縛りで」っていったら、実現に挑戦する猛者が現れるかな?
Re: (スコア:0)
MIPSのやつでも大したことはできないかなぁ
昔のスーファミくらい?
Re:物量注ぎ込めば(当然)強くなるだろう (スコア:1)
先生8088や68008は8bitにはいりますか
Re: (スコア:0)
なるほど差が生じないように明確なレギレーションが必要なのか。
ファミリーベーシックから追加ハードウェア不可とか。
#将棋ソフト組めるか?
Re: (スコア:0)
一般論としては差が出ないように縛りをきつくするほど「この方法以外では勝負にならない」といった収束が早くなります。
だから技術的発展の余地も残したい自動車レースなどではしょっちゅう改定が行われ、その改定による有利不利があるから陣営同士の駆け引きが生まれたりします。
「公平さの確保」と「別のアプローチにチャレンジできる余地」のさじ加減が難しくて揉めやすい
Re: (スコア:0)
FP8でGPU使った推論エンジン回すのは有りですか?
Re: (スコア:0)
8bit,100Whクラス、
16bit,200Whクラス、
32bit,1kWhクラス、
64bit,10kWhクラス、
無制限クラス、
とかでしょうか。
nnueの話題がない (スコア:0)
ここ最近で最も強さに貢献してかつプログラム的にもおもしろいNNUEに一切触れていないのか
コンピュータチェスでも話題だというのに
タッグ (スコア:0)
数年前は、ソフトウェアだけで強くなるから棋士の関与は無くてもいいような状勢もあったように思うが、開発者と棋士がタッグを組んでという話が出てくるのは、興味深い。
うーん (スコア:0)
いくらいろんな選択肢が予想できるようになったとしても果たして人の脳はそれをうまく扱えるのだろうか
確かに彼は天才かもしれないしそれを成し遂げるかも・・・とは思うのだが今以上の膨大な選択肢を前にした時にある程度の段階で従来のPCの様に思考停止状態にはならないのかとね
それこそそれしか考えられないようなマシーンにならないかとか
羽生さんが一時チェスに傾倒したように彼にも別のものが必要なのかも、まあ今はではないだろうし余計なお世話だけど
Re: (スコア:0)
ある局面で良い手が一つだけで他はかなりまずいという場合でも、「誰がどうみても同歩でしょう」みたいなのから、一見悪そうだけど際どい綱渡りの末最終的には良いというものまで色々ある。
人間が指す場合は後者のような局面は避けたいので、実際にはもっと手前からそっちへ陥らないように手を進める。しかし、とにかく評価値最善で手を読ませると後者に陥ることが多いので、事後研究には使えても事前研究には無理がある(本番では怖くて指せない読み筋を示してくる)。対局後の棋譜解析用ならともかく、事前研究用には人間が指せそうな手の中で最善、みたいな評価も要るのではないか。まあ、プロ棋士が指せてもアマチュアには指せなかったりするので、適切なレベル設定が難しいが。
Re: (スコア:0)
onedriveが他の配信方法と比較してウイルスが紛れている確率が高い根拠を述べよ
Re: (スコア:0)
誰が置いたかも分からないものを拾ってくるならいざ知らず、開発者のTwitterから張られているリンクを信用しないなら、もう何なら信用するのかと…… それとも#3916588は開発者本人も信用してないってことだろうか? それだとOneDriveの問題じゃないし、よく分からんね。
Re:盛り上がらない話題 (スコア:2, おもしろおかしい)
・固有名詞をまともに書けない
・今どき「おなじみブルースクリーン」とか書いてる
・AppleSiliconをむやみに持ち上げる
=いつものマカー
Re: (スコア:0)
そもそもWindows Server 2012R2の時点で64ソケット640論理コア(スレッド)対応だけどねぇ…。
いつの時代に生きてるんだろこのマカーは。
Re: (スコア:0)
お前は何を言っているんだ
囲碁のアルファゼロもそうだが、今の機械学習は完全にルールを知らない状態からAIが自力で強くなっていく。
つまり、思考部分の学習ルーチンを作ってしまえば強くするのに将棋や囲碁の知識は要らない
というより、将棋の世界では15年前からそういう状態だ
Re: (スコア:0)
将棋についてルールも何も知らない状態からの機械学習はそんなに普通のやり方じゃない。効率が悪いので禁じ手とか、思考上の最低限の制約は先に入れた上での機械学習が大多数。やねうら王も実験的にオール機械学習の評価関数(リゼロ)も出してるが、全部の評価関数がそうではない。
例えば、事前に入れた制約でしくじったケースが電脳戦の角不成。
Re: (スコア:0)
インタビューよんだの?
水匠はやねうらおうとか色んなものがベースになってる。
いわば巨人の肩に乗ってるんだから、
別に素人の思いつきで出来たものじゃないのに。
てか、将棋作法を無視した打ち筋ってなんだろう。
穴角戦法とか、初手94歩とかかな。
藤井さんが指してる飲みたことはないが。
Re: (スコア:0)
少なくとも指し手に関してはルールに書かれていない制約なんてないよ。
「みっともない手」みたいなので指した人の評価が下がることはあるけど、
定跡を無視してより有効な手を見つけたらむしろ高く評価される。
Re: (スコア:0)
名人位が家元制から実力制になったのは1935年だぞ
作法がどうこうとかいつの時代から寝てたんだお前
Re: (スコア:0)
定石は勝ちにつながるから使うのであって作法や行儀ではない
藤井氏以外を勝つことより作法を重視していると評するあなたこそが棋士を侮辱してますよね
Re: (スコア:0)
勝負ごとは勝敗がすべて。ルールに従って「勝てば良い」に決まってる。
Re: (スコア:0)
ルールが追いついていないだけで棋士たちは皆懸念している
要は思考ドーピングみたいなもんだろ
棋士道では認めないぞ!
Re: (スコア:0)
棋士たちが懸念しているのは「自分もやり方を変えないとついていけなくなるかも」であって「許されないことがまかり通ろうとしている」ではないぞ
Re: (スコア:0)
ソフトを使っての研究は他の棋士も行っているし
過去の棋譜を研究するのは大昔からプロなら当然やってる基本。
他にも研究会などで手を検討したりしている。
AIで手を調べるのが事前カンニングなら、過去の棋譜を読むのがセーフとなる理屈がわからない。
対局はそうやって研究した成果をぶつけ合う場でもあるんだよ。
Re: (スコア:0)
「事前」カンニングってなんだよw本番最中ならともかく。
それ普通は研究とか勉強って言わないか?で悪いことなのか?
さらに自分の妄想だけで藤井の強さが100%ソフト由来だと決め付け邪道とかほざいてるが
それだけじゃ詰将棋日本一の連続優勝なんぞできんぞ?
# この種の他人を妬んで足引張ってとにかく引きずり落とそうとする手合いは大嫌い
Re: (スコア:0)
事前研究はカンニングじゃないですよ。
ただ、事前研究を披露してドはまりして勝つことを「研究発表会」と呼んだりはするが。
これはAI以前からあるけどね。
そして、AIの将棋を人間が完璧に覚えても真似するのは危険すぎるとのこと。
完璧に暗記してても、相手が想定通りに指してくるわけはない。
AIの場合先手も後手もAIが最適と思ったような差し手になるから、大局相手は想定通りに動いてくれない。
その結果、AIで研究したのとは異なる局面に入る。
そして、その局面は、AIなら計算力で突破できても、人間には難解で間違えるような手になりがち。
AIは相手の攻撃をギリギリ躱すような危険な手が多いんだそうな。一手間違えるだけで敗着になりかねない。
そんな手を指せるのは今のところ藤井聡太ぐらいだって話…。