らんだむな記憶

blogというものを体験してみようか!的なー

ニューラルネットワークの数理的構造 (5)

ニューラルネットワークの数理的構造 (4) - らんだむな記憶 が分かりにくいので、これをリファインしたい。
問題設定としては、

画像識別モデル

\begin{align*}
f: [0, 255]^{224\times 224} \longrightarrow [0, 1]^{1000}
\tag{1}
\end{align*}

画像生成モデル

\begin{align*}
f: [0, 255]^{28 \times 28} \longrightarrow [0, 255]^{28 \times 28}
\tag{2}
\end{align*}

という可微分関数 $f$ を、与えられた教師データをうまく説明説明できるよう、そして未知のデータに対しても妥当な値をとるように構築しましょう、という話。ここで $[0, 255]^{28 \times 28}$ は $0$ を「黒」、$1$ を「白」とするグレースケール画像の $784$ 次元空間(典型的には MNIST のケース)であり、他も同様である。(1) 式のほうは ImageNet を想定している。さて、空間を $255$ で割ってスケーリングすると、どちらの問題も、

\begin{align*}
f: [0, 1]^d \longrightarrow [0, 1]^{d^\prime}
\tag{3}
\end{align*}

という形になっている。教師データ $\mathcal{D} = \{(x_1, t_1), \dots, (x_L, t_L)\}$ を与えた時に $f(x_i) \approx t_i$ となるような関数 $f$ を求めたいのである。

但し、この関数 $f$ を例えば $f \in C^1([0, 1]^d, [0, 1]^{d^\prime})$ において求めようとすると無数に解が存在する。例えば $x = x_i$ の周辺で恒等的に $t_i$ を値にとり、他では $0$ となるような単関数 $\delta_i(x)$ をとり、$\sum_i \delta_i(x)$ に対して軟化子を適用すると無数にそのような “解” が作れる。これは機械学習の言葉で言うと、過学習した解を得ていることに対応する。

要するに、この問題は一般に正しく問題設定ができない。適当な関数空間の中で求めようとしても前述の通りに無数に解が存在する可能性が高い。そこで特定の形状の単純なパラメトリック関数 $\hat{f}(x; \Theta)$ で $f$ を “近似” することにする (厳密には問題設定がうまくできないのだから、究極的な解など存在せず、故に近似はできない)。ここで、$\Theta = (\theta_1, \cdots, \theta_K) \in \R^K$ は何かしらのパラメータである。
特に、$\hat{f}$ としては

\begin{align*}
\hat{f}(x; \Theta) = \tanh(W_N \cdot \tanh(\cdots (W_2 \cdot \tanh(W_1 \cdot x + \theta_{1,0}) + \theta_{2,0})\cdots ) + \theta_{N,0})
\tag{4}
\end{align*}

のような形とする。このようなものをニューラルネットワーク と呼ぶ。$W_i $ は $\theta_{i,j},\ j = 1, 2,\cdots$ からなる行列である。

$K$ はパラメータの個数で、$N$ はニューラルネットワークの層の深さであり、共にハイパーパラメータと呼ばれる。この関数 $\hat{f}$ はそれほど荒っぽい動きができないような素朴な関数であるので、うまい $\Theta$ に対して $\hat{f}(x_i, \Theta) \approx t_i$ が成立すれば、教師データ以外でもぼちぼち妥当な推論ができるものと期待される。

$\hat{f}(x_i, \Theta) \approx t_i$ の意味もまた不透明なので、求めたい問題ごとに損失関数と呼ばれる一種の距離関数で測られる。何かしらの距離関数 $\mathrm{dist}_1, \cdots, \mathrm{dist}_M$ を設定し、これらの重み付き和をとったもの

\begin{align*}
\mathrm{loss}(x, t) = \lambda_1 \mathrm{dist}_1(x, t) + \cdots + \lambda_M \mathrm{dist}_M(x, t)
\tag{5}
\end{align*}

を最適化する対象の目的関数と呼んだりする。個々の $\mathrm{dist}$ はほにゃらら損失関数などを呼ばれていることが多く、画像分類であれば、例えば $\mathrm{dist}_1$ は交差エントロピーであるかもしれないし、画像生成であれば、Kullback–Leibler 擬距離であるかもしれない。これでとりあえず、求める関数の概形と教師データと正解データの近さを計測する概念が用意できた。
よって、解くべきは

\begin{align*}
\Theta_\mathrm{ideal} = \underset{\Theta}{\mathrm{argmin}} \sum_{i=1}^L \mathrm{loss}(\hat{f}(x_i; \Theta), t_i)
\tag{6}
\end{align*}

となる、$\Theta_\mathrm{ideal}$ を求めるということである。実は教師データは固定であることに注意すると (6) 式の右辺からは関数 $F_\mathcal{D}: \R^{K} \longrightarrow \R^1$ として

\begin{align*}
F_\mathcal{D}(\Theta) = \sum_{i=1}^L \mathrm{loss}(\hat{f}(x_i; \Theta), t_i)
\tag{7}
\end{align*}

を切り出して、(6) 式を

\begin{align*}
\Theta_\mathrm{ideal} = \underset{\Theta}{\mathrm{argmin}} F_\mathcal{D}(\Theta)
\tag{6'}
\end{align*}

と書き直すことができる。
この最小値問題を解くことで、$f$ を妥当に “近似” する関数 $\hat{f}(x; \Theta_\mathrm{ideal})$ が求まることになる。