これはhttp://mitochondrion.jp/に掲載している「医学日記」を 検索用に 1 記事 1 ファイルとして形成し直したものです。 簡単なプログラムで自動生成しているので、体裁の乱れなどが一部にあるかと思われます。 通して読むには、トップページからオリジナルページにアクセスしてください。
しばらく間隔が空いてしまった。本日は、ここ 2 箇月ほど深層学習業界の一部で話題になったらしい Kolmogorov-Arnold Network (KAN) の話をしよう。これは 4 月 30 日にプレプリントサービス arxiv に投稿されたものであり、いまのところキチンとした学術論文にはなっていないようである。非常にマニアックな内容であるが、多少の数学がわかっていれば理解できるように書くことを試みる。
この KAN は、これまで初等的な深層学習として使われてきた多層パーセプトロンモデル (MultiLayer Perceptron; MLP) に替わるものだ、という触れ込みで発表された。MLP については 4 月 18 日と 4 月 19 日に書いたので、ここでは繰り返さない。MLP では、各ノードは一次関数で表現される線形な結合として定義されている。これを多項式 (著者の表現によれば spline 関数) に置き換えることで深層学習の性能が向上する、というのが著者の主張である。
これは、深層学習の理論を勉強せずに、なんとなく触るだけで「わかった」気分になっている人々にとっては衝撃的で革新的にみえたらしい。インターネット上の文書をみると、多くの人が、この KAN を賞賛するような記事を書いている。私はそういう世相に疎かったのだが、先日、研究室で行われた論文抄読会でこれを知った。元論文もサラッと眺めたが、キチンと読む価値があるようには感じられなかったので、詳しくは読んでいない。私が少し調べた限りでは、KAN の本質を捉えた解説をしているのは、shi3z であろう。
要するに KAN は「入力と出力の関係をうまく近似できるような関数が既知であるならば、その関数を使うことで効率的な深層学習を行うことができる」ということに過ぎない。著者が KAN のテストに使ったのはテーラー展開による多項式近似が可能な数式であって、これに対し各ノードが多項式 (spline 関数) であるようなニューラルネットワークを使えば、良い近似が得られるのは当然である。
しかし我々が深層学習を実際に使おうとしているのは、画像解析であるとか、自然言語解析であるとか、入力と出力の関係が単純な数式では到底表現できず、むろん多項式近似も困難であるような問題である。その複雑さゆえに、我々は各ノードを単純な一次関数で構成することにより、無駄な計算を省いてきた。これが MLP である。KAN のように各ノードを複雑な関数にしても、現実的な問題に対しては近似性能の向上は乏しい一方、むしろ確実に計算時間が伸びる。
そうした理論的な面を考えずに、著者の売り文句を無批判に受け入れ賞賛する自称研究者・開発者が、この分野には多すぎるのではないか。