アカウント名:
パスワード:
3年経ったので、AlphaZeroの自己対戦型の学習に比べてどれぐらい変わったのか不明だけど
https://ja.wikipedia.org/wiki/Elmo_(%E3%82%B3%E3%83%B3%E3%83%94%E3%83%... [wikipedia.org]
elmoは、過去の電王戦でも活躍した強豪AI「Apery」「やねうら王」がベース。elmo同士の対戦を重ねてどのような手を指すと勝率が高いかを調べ、そうした手を選び出せるように評価関数(形勢判断をする際の指標)を調整。その工夫の結果、より正確な形勢判断ができるようになった。2017年12月、2時間の学習を行ったDeepMind社によるプログラムAlphaZeroとの100局において、elmoは8勝90敗2分という結果に終わった
囲碁AIでも新しい定跡が見つかったり、AIを将棋の有段者が利用してさらに強くなれる時代とも聞きますので、もはやAIvs人間なんて感じではないのでしょうね。
AlphaZeroが最強だったのは一時だけで、今はチェスも将棋も既存手法によるアルゴリズムのほうが強いと考えられています。(AlphaZeroは非公開システムなので誰も追試できないわけですが)
チェスに関する分析↓https://chess.stackexchange.com/questions/29791/which-is-better-stockf... [stackexchange.com]
実際に、AobaZeroというAlphaZeroを再現しようとしたプロジェクトがありますが、現在までのところさほど強くありません。
そもそも論としてCPUとGPUで使うものが違う以上、マシンスペックを揃えた対局というのは原理的に不可能なので、どっちが強いという比較は難しいですが。
既存手法(2駒、3駒関係)の評価関数と、DNN(ディープラーニング)の評価関数のどちらが強いかは使える計算量にもよると考えられてます。評価関数の表現力では、DNN >> 既存手法計算コストも、DNN >> 既存手法
ソフトの強さは、評価関数の表現力・精度と、計算コストの両方が効いてきます。いくら評価関数が正確でも、読める手数が少なければ将棋やチェスでは負けてしまうので。今の時点では、将棋・チェスでは既存手法の評価関数の表現力はまだ限界に達しておらず、同じリソースを使うならDNNより既存手法の方が強いと考えられてます。AlphaZeroの将棋・チェス版は、計算リソースを無視すれば現時点でもDNNが既存手法並みに強くできることを示しただけ。
そのうち既存手法の評価関数の表現力が頭打ちになって、DNNの方が有利になることも、ほとんどの開発者が認めてます。これがいつになるかはゲーム次第ですが、囲碁は既にDNNの方が有利、将棋は今が正に端境期、チェスはもっとずっと先でしょう。
もう一つ既存手法とDNNの中間の手法としてNNUEがあります。https://www.chessprogramming.org/NNUE [chessprogramming.org]CPUで計算できる軽量なニューラルネットワークです。将棋では上位のソフトのほぼすべてに採用されているし、チェスソフトのStockfishにも採用されて大きな成果を上げてます。
これも評価関数の表現力と計算コストのバランスの問題で、今はちょうど中間であるNNUEが最適なのだと私は理解してます。そのうち使える計算リソースがもっと増えれば、将棋やチェスも本格的なDNNに移っていくのでしょうね。
Googleの資金力による学習データの物量が重要なんでしょ
>>そうした手を選び出せるように評価関数(形勢判断をする際の指標)を調整
例えば画像なら、「青みを強くして」に対してBを強調するみたいにパラメータの独立がわかりやすいけど、こういうAI系のものはどうやって調整するのかさっぱり想像がつかん。web検索アルゴリズムなんかも、微調整ができるほど因数分解されているものなのか、トライandエラーで結果オーライで選ぶのか、学習方式なんかは過去の学習データを再利用できるのか再学習なのか、改定によって今より悪くならないことはどうやってわかるのか…、わからんことだらけだ。
深層学習では、大きく分けて「推論(入力から出力を計算する)」と「学習(推論の結果と本当の答えとの誤差を最小化する」からなります。将棋のソフトの事は分かりませんが、恐らく評価関数は学習時の"誤差"の算出方法を指しているものと思います。
パラメータの数は(ネットワーク構造によりますが)数百万~数億ありますので、ご察しお通り人力では到底調整しきれません。代わりに、パラメータを調整するパラメータ(ハイパーパラメータと呼んでいます)を調整したり、ネットワーク構造を工夫したり、評価関数を工夫したりします。
――と思っています(元記事を読んでいないのは内緒でお願いします)。
元記事を読んでいない状態での理解と実際との差の誤差を算出・・・とかもいずれ出来ればいいなあ
評価方法を適当に決めて適当に算出・・・したら人間の実感との差が激しそうだし
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
Stableって古いって意味だっけ? -- Debian初級
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)
元記事を読んでいない状態での理解と実際との差の誤差を算出・・・
とかもいずれ出来ればいいなあ
評価方法を適当に決めて適当に算出・・・
したら人間の実感との差が激しそうだし