Kyoto Univ MACS SG10

View My GitHub Profile

14 March 2019

シグモイド関数の万能近似能力

by Akira SARASHINA

最近シグモイド関数の万能近似能力(Universal Approximation)について勉強したので、お話しします。

ニューラルネットワーク

ニューラルネットワークの目的は「得られたデータから求める解を与える真の関数(或いは真の分布)をある関数で近似する事」と言えると思います。

真の関数 $f^{\circ}$ がある程度きれいな関数(連続関数や連続関数で近似できる関数)であるとして、どのようにそれを近似すれば良いのでしょうか。

まず以下の構成の2層シグモイドニューラルネットワーク(活性化関数にシグモイド関数を用いたニューラルネットワーク)を考えてみます。

ここで$\sigma$はシグモイド関数を表しています。

入力$\alpha$, $\beta$に対してニューラルネットワークの出力は次のように書けます。

つまり真の関数がシグモイド関数の三つの線形結合で近似できる関数であれば(データが十分あれば)上記のニューラルネットワークを用いて近似できるという事になります。

シグモイド関数の万能近似能力


とおきます。 このとき以下の定理が成り立ちます。

Thm(Cybenko)

は$f$と$g$の(数学的な)距離を表しており、上の定理は中間層のニューロンの数に対応する$N$を十分大きくすれば任意の連続関数をシグモイド関数の線形結合で近似できるという事を主張しています。

この定理の直感的な説明は以下のようにできます。

a. シグモイド関数の縮尺を変えることで原点でジャンプする関数を近似できる
b. ある点でジャンプする関数を二つ足して短冊の形をした関数が作れる
c.,d. そのような関数を足し合わせて任意の連続関数を近似できる

Relu関数について

Relu関数もシグモイド関数と同様に万能近似能力を持っています。

上記のように2つのRelu関数の線型結合でシグモイド関数のような関数を作れるためです。 前の節では記号を減らすためにシグモイド関数に対してしか定理のステートメントを書きませんでしたが(Cybenko)ではRelu関数も含むより一般の場合に証明しています。

まとめ

中間層のニューロンの数が十分多ければ中間層が1つのシグモイド(Relu)ニューラルネットワークで任意の関数が近似できる事がわかった。

tags: deep_learning