logo

シグモイド関数とは? 📂機械学習

シグモイド関数とは?

定義

次を満たす関数 $\sigma : \mathbb{R} \to \mathbb{R}$ を シグモイダル関数sigmoidal functionと呼ぶ。 $$ \sigma (t) \to \begin{cases} 1 & \text{as } t \to + \infty \\ 0 & \text{as } t \to - \infty \end{cases} $$

定義に関する説明

シグモイダル関数の定義で $0$ か $1$ かという点は実はあまり重要ではなく、正負いずれの無限大へ行くときに定数へ収束することが重要である。無限大でない点でどんな値を取るかもさほど重要ではない。この観点から ロジスティック関数 はもちろん シグモイド関数 もシグモイダル関数に含まれるだろう。

シグモイダル関数の最も代表的な用途は ディープラーニング での応用である。ある読者は、2010年代後半以降に ReLU や Mish といった 活性化関数 の方が優れた性能を示すことからシグモイダル関数を過小評価するかもしれない。しかしシグモイダル関数が数学的・計算機科学的にいかに重要かと問われれば、単に $0$ か $1$ に収束するという単純な形でも 人工ニューラルネットワーク という手法の可能性を理論的に保証できる点で重要だと答える。シグモイダル関数の研究は 普遍近似定理 のような偉大な結果へとつながり、これは疑いなく非常に重要な結果である。

定理

シグモイダル関数の差別性: 有界可測シグモイダル関数は差別的関数である。

定理に関する説明

我々が通常使うシグモイダル関数が差別的であることが重要なのは、差別的関数の概念がその用途に比してやや過度に難しいためである。しかし上の定理により、差別的関数について深く知らなくとも、プログラミングを通じて実際に実装可能な具体的な例を得られる。

証明 1

差別的関数の定義 任意の $y \in \mathbb{R}^{n}$ と $\theta \in \mathbb{R}$ とある $\mu \in M \left( I_{n} \right)$ に対して次を満たすならば関数 $\sigma : \mathbb{R} \to \mathbb{R}$ を差別的関数とする。 $$ \int_{I_{n}} \sigma \left( y^{T} x + \theta \right) d \mu (x) = 0 \implies \mu =0 $$


  • $M \left( I_{n} \right)$ は $I_{n} := [0,1]^{n}$ 上で定義される[符号付き][有限][正則]ボレル測度の集合である。

主張

差別的関数の定義に従ってシグモイダル関数 $\sigma$ が $$ \int_{I_{n}} \sigma \left( y^{T} x + \theta \right) d \mu (x) = 0 $$ のとき $\mu =0$ であることを示せばよい。


パート 1. $\sigma_{{\lambda}}$ と $\gamma$ の定義

任意の $x \in I_{n}$ と $y \in \mathbb{R}^{n}$ と $\theta , \varphi \in \mathbb{R}$ に対して関数 $\sigma_{\lambda} : I_{n} \to \mathbb{R}$ を次のように定義する。 $$ \sigma_{\lambda} (x) := \sigma \left( \lambda \left( y^{T} x + \theta \right) + \varphi \right) $$ すると $\lambda$ が変わることにより $$ \sigma_{\lambda} \begin{cases} \to 1 & \text{for } y^{T} x + \theta > 0 & \text{as } \lambda \to \infty \\ \to 0 & \text{for } y^{T} x + \theta < 0 & \text{as } \lambda \to \infty \\ = \sigma \left( \varphi \right) & \text{for } y^{T} x + \theta = 0 & \text{for all } \lambda \in \mathbb{R} \end{cases} $$ となるため、新しい関数 $\gamma : I_{n} \to \mathbb{R}$ を $$ \gamma (x) := \begin{cases} 1 & \text{for } y^{T} x + \theta > 0 \\ 0 & \text{for } y^{T} x + \theta < 0 \\ \sigma \left( \varphi \right) & \text{for } y^{T} x + \theta = 0 \end{cases} $$ のように定義すれば $\lambda \to \infty$ のとき $\sigma_{\lambda}$ は $\gamma$ に点ごとの収束をする。


パート 2. $\mu$ が符号測度でない場合

今、全空間 $I_{n}$ をハイパープレーンhyperplane $H^{0}_{y, \theta}$ を基準に次のように三つに分ける。 $$ H^{+}_{y, \theta} := \left\{ x \in \mathbb{R}^{n} : y^{T} x + \theta > 0 \right\} \\ H^{0}_{y, \theta} := \left\{ x \in \mathbb{R}^{n} : y^{T} x + \theta = 0 \right\} \\ H^{-}_{y, \theta} := \left\{ x \in \mathbb{R}^{n} : y^{T} x + \theta < 0 \right\} $$ $\forall y \in \mathbb{R}^{n}$ かつ $\forall \theta \in \mathbb{R}$ ならば結局ルベーグ積分の中では $\sigma \left( y^{T} x + \theta \right)$ もしくは $\sigma \left( \lambda \left( y^{T} x + \theta \right) + \varphi \right)$ と同じであり、被支配収束定理 により $\displaystyle \lim_{\lambda \to \infty} \cdot$ と $\displaystyle \int_{I_{n}} \cdot d \mu$ の順序を入れ替えることができるから任意の $\varphi \in \mathbb{R}$ に対して $$ \begin{align*} 0 =& \int_{I_{n}} \sigma \left( y^{T} x + \theta \right) d \mu (x) \\ =& \lim_{\lambda \to \infty} \int_{I_{n}} \sigma \left( y^{T} x + \theta \right) d \mu (x) \\ =& \lim_{\lambda \to \infty} \int_{I_{n}} \sigma \left( \lambda \left( y^{T} x + \theta \right) + \varphi \right) d \mu (x) \\ =& \int_{I_{n}} \lim_{\lambda \to \infty} \sigma_{\lambda} \left( x \right) d \mu (x) \\ =& \int_{I_{n}} \gamma (x) d \mu (x) \\ =& \int_{H^{+}_{y, \theta}} \gamma (x) d \mu (x) + \int_{H^{0}_{y, \theta}} \gamma (x) d \mu (x) + \int_{H^{-}_{y, \theta}} \gamma (x) d \mu (x) \\ =& \int_{H^{+}_{y, \theta}} 1 d \mu (x) + \int_{H^{0}_{y, \theta}} \sigma (\varphi) d \mu (x) + \int_{H^{-}_{y, \theta}} 0 d \mu (x) \\ =& \mu \left( H^{+}_{y, \theta} \right) + \sigma (\varphi) \mu \left( H^{0}_{y, \theta} \right) \end{align*} $$ が成り立つ。

$\mu$ が符号測度でないならばハイパープレーン $H^{0}_{y, \theta}$ は $I_{n}$ 上で定義された測度 $\mu$ に関して当然 $\mu \left(H^{0}_{y, \theta} \right) = 0$ でなければならない。これはすべての $y,\theta$ に対して成り立つので常に $\mu \left( H^{+}_{y, \theta} \right) = 0$ であり、シグモイダル関数 $\sigma$ は差別的関数である。しかし $\mu$ が符号測度である場合は $\mu \left(H^{0}_{y, \theta}\right) = 0$ であることが保証されないため別途証明が必要である。数学的な一般性を多少放棄して人工ニューラルネットワークへの応用のみを知りたいなら、ここで証明を止めても大きな問題はない。


パート 3. $\mu$ が符号測度である場合

$y$ を固定し、有界可測関数 $h : \mathbb{R} \to \mathbb{R}$ に対して次のような線型汎関数 $F \in \left( L^{\infty} (\mathbb{R}) \right)^{ \ast }$ を定義する。 $$ F (h) := \int_{I_{n}} h \left( y^{T} x \right) d \mu (x) $$ $F$ はルベーグ積分で定義されているため線型性が保証され、$\mu \in M \left( I_{n} \right)$ が有限符号測度であるため $F$ も有界になり $L^{\infty} (\mathbb{R})$ に属する。ここで $h$ がある $\mu \in M \left( I_{n} \right)$ に対して次を満たす $[ \theta , \infty )$ に関する指示関数 h \left( y^{T} x \right) := \begin{cases} 1 & , y^{T}x \ge \theta \\ 0 & , y^{T}x < \theta \end{cases} とする。 $$ \begin{align*} F(h) =& \int_{I_{n}} h \left( y^{T} x \right) d \mu (x) \\ =& \mu \left( H^{+}_{y, -\theta} \right) + \mu \left( H^{0}_{y, -\theta} \right) \\ =& 0 \end{align*} $$ 同様に $h$ が $(\theta , \infty)$ に対する指示関数ならば $F(h) = 0$ であり、$F$ の線型性により全ての区間の指示関数 $h$ に対しても $F(h)=0$ である。したがって全ての単純関数 $h$ に対しても $F(h) = 0$ であるが、単純関数の集合は $L^{\infty } ( \mathbb{R} )$ において稠密であるため $F = 0$ である。言い換えれば、全ての有界可測関数 $h \in L^{\infty} \left( \mathbb{R} \right)$ に対して $F(h) = 0$ である。我々は $\sigma$ も有界可測シグモイダル関数であると仮定したので $\sigma \in L^{\infty} ( \mathbb{R} )$ であり、 $$ F (\sigma) = \int_{I_{n}} \sigma \left( y^{T} x \right) d \mu (x) = \int_{I_{n}} \sigma \left( y^{T} x + \theta \right) d \mu (x) = 0 $$ である。今これらの条件下で $\mu = 0$ であることを示せばよい。


パート 4.

$L^{\infty}\left( \mathbb{R} \right)$ は有界可測関数のベクトル空間であるから、$m \in \mathbb{R}^{n}$ に対して有界可測関数 $s,c : I_{n} \to \mathbb{R}$ を $$ s(x) := \sin \left( m^{T} x \right) \\ c(x) := \cos \left( m^{T} x \right) $$ のように定義すれば、ベクトル空間が加法とスカラー倍について閉じているため $c + is$ も有界可測関数である。ところが全ての有界可測関数に対して $F=0$ であったのでオイラーの公式 により $$ \begin{align*} 0 =& F (c + is) \\ =& \int_{I_{n}} \left[ \cos \left( m^{T} x \right) + i \sin \left( m^{T} x \right) \right] d \mu (x) \\ =& \int_{I_{n}} \exp \left( i m^{T} x \right) d \mu (x) \end{align*} $$

フーリエ変換の定義: 次の変換 $\mathcal{F}$ をフーリエ変換と呼ぶ。 $$ \mathcal{F}f(\xi):=\int f(x)e^{-i \xi x }d x $$

フーリエ変換の定義とルベーグ積分の性質により $$ 0 = F (c + is) = \mathcal{F} \mu $$ である。これは $\mu$ のフーリエ変換 が $0$ であることを意味するから $\mu = 0$ であり、整理すると $$ \int_{I_{n}} \sigma \left( y^{T} x + \theta \right) d \mu (x) = 0 \implies \mu =0 $$ したがって $\sigma$ は差別的関数である。


  1. G. Cybenko. (1989). Approximation by Superpositions of a Sigmoidal Function p5. ↩︎