Abstract
理論的研究では、コンパクトな領域上の任意の微分可能関数に対して、その関数の関数値と勾配の両方を近似するニューラルネットワークが存在することが示されている。しかし、このような結果は実際には利用できない。なぜなら、実パラメータと内部演算が厳密であることを仮定しているからである。これに対して、実装では実数の有限な部分集合と、丸め誤差を伴う機械演算のみが使用される。本研究では、入力に関する勾配を自動微分アルゴリズム D^\mathtt{AD} によって計算する場合に、浮動小数点演算下でも同様の結果がニューラルネットワークに成り立つかどうかを調べる。まず、浮動小数点関数 phi(例:損失関数)が与えられたとき、任意の関数値および勾配が、それぞれ浮動小数点ネットワーク f と D^\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} に対して成り立つ。