自動微分を用いる浮動小数点ネットワークは、ほぼすべての浮動小数点関数とその勾配を表現できる

arXiv cs.LG / 2026/5/5

💬 オピニオンIdeas & Deep AnalysisModels & Research

要点

  • 本論文は、浮動小数点演算と丸め誤差のある現実的な計算環境でも、関数値と勾配に関する従来の普遍近似の結果が成り立つかを検討しています。
  • 与えられた浮動小数点関数(損失関数など)に対して、任意の浮動小数点値の出力と入力勾配を実現できることを示し、浮動小数点ネットワーク f を構成することで D^AD(φ∘f) がその勾配を表現できると証明します。
  • φ1,…,φn が複数ある場合にも拡張し、それぞれについて D^AD(φi∘f) が同時に任意の勾配を実現しつつ、f 側が目標の関数値を表すことを、穏やかな条件の下で示します。
  • 結果は、ReLU、ELU、GeLU、Swish、Sigmoid、tanh といった実際に使われる代表的な活性化関数にも適用されます。
  • 総じて、本研究は「実パラメータ理論」と「実装可能な数値計算」の間にあるギャップを埋める、関数値と勾配のための浮動小数点・自動微分版の普遍近似的保証を与えています。

Abstract

理論的研究では、コンパクトな領域上の任意の微分可能関数に対して、その関数の関数値と勾配の両方を近似するニューラルネットワークが存在することが示されている。しかし、このような結果は実際には利用できない。なぜなら、実パラメータと内部演算が厳密であることを仮定しているからである。これに対して、実装では実数の有限な部分集合と、丸め誤差を伴う機械演算のみが使用される。本研究では、入力に関する勾配を自動微分アルゴリズム D^\mathtt{AD} によって計算する場合に、浮動小数点演算下でも同様の結果がニューラルネットワークに成り立つかどうかを調べる。まず、浮動小数点関数 phi(例:損失関数)が与えられたとき、任意の関数値および勾配が、それぞれ浮動小数点ネットワーク fD^\mathtt{AD}(\phi\circ f) によって表現できることを示す。さらにこの結果を拡張する。すなわち、phi_1,\dots,\u0000phi_n が与えられたとき、適度な条件のもとで D^\mathtt{AD}(\phi_i\circ f) は任意の勾配を同時に表現でき、f は目標とする関数値を表現する、という形にする。これらの結果は、実用的な活性化関数、たとえば \mathrm{ReLU}\mathrm{ELU}\mathrm{GeLU}\mathrm{Swish}\mathrm{Sigmoid}、および \mathrm{tanh} に対して成り立つ。