田口善弘@中央大学:AlphaTensorにはいくつかの画期的な点があると思います。
1)(狭義の)新しいアルゴリズムを発見した
2) テンソル分解を深層学習でできるようにした
3) 上記を強化学習で行った
1)について
行列の掛け算をするときに真面目に計算するより速い方法があることは知られていました。例えばシュトラッセンのアルゴリズム -
Wikipediaをつかうと正方行列の掛け算がちょっとだけ速くなりますが、これを一般的な場合に試行錯誤しないで探す方法はしられていませんでした。今回AlphaTensorは人間の代わりに試行錯誤を行うことで人間には未知の「掛け算を短縮するアルゴリズム」をみつけることに成功しました。こういうものがあるであろうことは元々予想されていましたし、見つかっても誰も驚きませんが、機械学習でこういうことが可能だということを実際にやってみせたことは(やればできるだろうなあ、と皆が思っていたとしても)大切なことだと思います。実際、今回のアルゴリズムの実装で実際の(実用的な)計算が飛躍的に速くなるとはあまり思われておらず「機械学習が(みつかってもだれも驚きはしないとはいえ)未知のアルゴリズムを発見した」という事実自体には意味があっても発見そのものがすごく画期的かというそうでもないと思います(とは言っても、もし、人間が発見したらそれなりの研究だったのは間違いなく、○○の方法みたいに非常に狭い分野でも名前は残った可能性はあります)
2)について
意外だったのですがテンソル分解を深層学習でやる研究はあまりなかったようです。1つにはテンソル分解は「元のテンソルをもっと小さいテンソルや行列の積でどれだけうまく表現できるか?」という問題と等価なので、普通の最小化問題として解かれることはあってもわざわざ深層学習で解いた例はあまりなかったようです。これは僕の探し方が悪くて本当は論文があるのかもしれません。
3) について
今回AlphaTensorが採用したのはAlphaZeroといってチェスや将棋を解くために開発された強化学習のパッケージでした。このパッケージで「次の一手」を「行列やベクトルの積」に置き換えて、「なるべく少ない手(=アルゴリズムのステップ)で元のテンソルを再現する」というタスクを課すことで従来のアルゴリズムでは発見できないテンソル分解の解をみつけることで1)の成果をあげました。行列の積和としてのテンソル分解をゲームの強化学習として解くという発想は多分なかったと思うので、こういう方法でうまくいくことを示したことは、いろいろな数学の問題を強化学習で解けるようにする可能性を示したという意味で意味があるようにおもいます。
他にもいろいろ意見はあると思うのですが僕の意見を書いてみました。
もしあなたがある程度数学的な素養をもっているなら
AlphaTensor :強化学習を利用した高速な行列積演算アルゴリズムの発見 - Qiita
を読むことをお勧めします。非常によく書けた解説だと思います。