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 $$


主張

微分可能関数の定義に従って、シグモイダル関数$\sigma$が $$ \int_{I_{n}} \sigma \left( y^{T} x + \theta \right) d \mu (x) = 0 $$ の場合、$\mu =0$を証明すればよい。


Part 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$に各点収束する。


Part 2. $\mu$が符号測度でない場合

ここで、全域$I_{n}$をハイパープレーン$H^{0}_{y, \theta}$を基準にして、次のように3つの部分に分けよう。 $$ 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$が保証されないので、別の証明が必要である。数学的な一般性をある程度犠牲にして、人工ニューラルネットワークへの応用だけを知りたい場合は、ここで証明を終わらせても大きな問題はない。


Part 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 )$に対する指示関数であるとしよう。 $$ \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$であることを示すだけでよい。


Part 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$である