ノンパラメトリック回帰モデルの推定
横浜国立大学/株式会社Nospare リサーチャーの栗栖です.
この記事では深層ニューラルネットワーク (deep neural network, DNN) を用いたノンパラメトリック回帰モデルの推定について紹介します.またこの記事に関連した内容について以後複数回にわたって記事を書く予定です.DNNを利用したノンパラメトリック回帰モデルの推定に関して現在では多くの研究がありますが,今回の内容は主に Schmidt-Hieber (2020) を参考にしています.
ノンパラメトリック回帰モデル
以下のノンパラメトリック回帰モデルを考えましょう:
\begin{align*}
Y_i &= f_0(X_i) + \varepsilon_i,\ i=1,\dots, n,\\
\varepsilon_i &\sim N(0,1).
\end{align*}
ここで,$f_0$ はノンパラメトリック回帰モデルにおける回帰関数,$\varepsilon_i$ は標準正規分布 $N(0,1)$ に従う観測誤差です.
以上のモデルに従う i.i.d. データ $(Y_i,X_i) \in \mathbb{R} \times [0,1]^d$,$i=1,\dots,n$ が観測されるとします.ここではデータを用いて回帰関数 $f_0$ の推定を考えます.
深層ニューラルネットワーク
$f_0$ の推定に利用する深層ニューラルネットワーク (deep neural network, DNN) について説明しておきます.
$L \in \mathbb{N}$ を隠れ層の数 (or DNNの深さ),$\mathbf{p}=(d,p_1,\dots,p_{L},1)\in \mathbb{N}^{L+2}$ をDNNの幅パラメータとします.またDNNの活性化関数を rectifier linear unit (ReLU) 活性化関数 $\sigma(x) = \max\{x,0\}$ とします.活性化関数が $\sigma$ でネットワーク構造 $(L,\mathbf{p})$ をもつDNN $f:\mathbb{R}^{d} \to \mathbb{R}$ は以下で定義されます.
f(x) = A_{L+1} \circ \sigma_L \circ A_L \circ \sigma_{L-1} \circ \cdots \sigma_1 \circ A_1(x) .
ここで,$A_{\ell}:\mathbb{R}^{p_{\ell-1}} \to \mathbb{R}^{p_\ell}$ は $A_{\ell}(x) = W_{\ell}x + \mathbf{b}_\ell$で 表される線形変換です.また記号 $\circ$ は関数の合成を意味します.即ち,関数 $f, g$ に対して $f \circ g(x) = f(g(x))$ で定義します.$A_{\ell}$ の表現に出てくる $W_\ell$ は $p_{\ell-1}\times p_\ell$の重み行列で,$\mathbf{b}_{\ell} \in \mathbb{R}^{p_\ell}$ はシフトベクトル,$\sigma_\ell:\mathbb{R}^{p_\ell} \to \mathbb{R}^{p_\ell}$ は成分ごとに活性化関数を並べたもの $\sigma_\ell=(\sigma(z_1),\dots,\sigma(z_{p_\ell}))'$ です.
さらにDNN $f$ に対して,そのパラメータをまとめたベクトルを
\theta(f) := (vec(W_1)',\mathbf{b}'_1,\dots,vec(W_{L+1})',\mathbf{b}'_{L+1})'
とします.$vec(W)$ は行列 $W$ の成分を縦にならべて列ベクトルにする変換を表します.$d$-次元の入力と$1$ 次元の出力をもち,ネットワーク構造 $(L,\mathbf{p})$ をもつ DNN の集合を $\mathcal{F}_{\sigma, d,1}(L,\mathbf{p})$ と書くことにします.以上の記号の下で,この記事で考えるDNNの集合を以下のように定義します:
\begin{align*}
\mathcal{F}_\sigma(L,\mathbf{p},F,S)&:= \{f \in \mathcal{F}_{\sigma,d,1}(L,\mathbf{p}) : \|\theta(f)\|_{\infty} \leq 1, \|\theta(f)\|_0 \leq S, \|f\|_{\infty} \leq F\}.
\end{align*}
ここで $x \in \mathbb{R}^p$ に対して $\|x\|_{\infty}=\max_{1 \leq j \leq p}|x_j|$,$\|x\|_0=\sum_{j=1}^p \mathbf{1}_{\{x_j \neq 0\}}$,$\|f\|_{\infty} = \sup_{x \in [0,1]^{d}}|f(x)|$ とします.
$\mathcal{F}_{\sigma}(L,\mathbf{p},F,S)$ において $S$ はスパースレベルと呼ばれ,DNN の非ゼロパラメータ数に関して制約を課したクラスになっています.
DNN推定量
この記事ではノンパラメトリック回帰モデルの回帰関数 $f_0$ の DNN 推定量として,Schmidt-Hieber (2020) の議論を参考にして以下の推定量 (empirical risk minimizer, ERM)を考えます:
\begin{align*}
\hat{f}_n &\in \text{argmin}_{f \in \mathcal{F}_{\sigma}(L,\mathbf{p},F,S)}Q_n(f),\\
Q_n(f) &:={1 \over n}\sum_{i=1}^{n}(Y_i - f(X_i))^2.
\end{align*}
DNN推定量を実際に計算する際には $L,\mathbf{p},F,S$ をパラメータとして設定します.推定量のパフォーマンスを測る指標としては以下の汎化誤差 (or 予測誤差)を考えます:
R(\hat{f},f_0) := E\left[{1 \over n}\sum_{i=1}^{n}(\hat{f}_n(X_i^{\ast}) - f_0(X_i^{\ast}))^2\right].
ここで,$\{X_1^{\ast},\dots,X_n^{\ast}\}$ は $\{X_1,\dots, X_n\}$と独立かつ同じ分布をもつデータです.DNN推定量は最適化が複雑なため,推定量の計算方法に関しても多く研究がありますが,この点については今回は議論しないことにします.最適化に関して議論しない代わりに最適化に伴う誤差を評価する指標を導入しておきます.$\tilde{f}_n \in \mathcal{F}_{\sigma}(L,\mathbf{p},F,S)$ を $f_0$ の推定量として ERM $\hat{f}_n$ と $\tilde{f}_n$ のギャップを以下の関数で測ることにします:
\Psi_n(\tilde{f}_n) := E\left[Q_n(\tilde{f}_n) - \inf_{f \in \mathcal{F}_{\sigma}(L,\mathbf{p},F,S)}Q_n(f)\right] \geq 0
特に$\hat{f}_n = \tilde{f}_n$ ならば $\Psi_n(\tilde{f}_n)=0$ となります.
DNN推定量の汎化誤差バウンド
DNN推定量について,以下の一般的な結果が得られます:
$\mathcal{F}_{\sigma}(L,\mathbf{p},F,S)$ において $F \geq 1$ とします.このとき,任意の $\rho \in (0,1)$ に対してある正の定数 $C_\rho$ が存在して
R(\tilde{f}_n,f_0) \leq (1+\rho)^2\left(\underbrace{\Psi_n(\tilde{f}_n)}_{\text{最適化誤差}} +\underbrace{\inf_{f \in \mathcal{F}_{\sigma}(L,\mathbf{p},F,S)}\|f-f_0\|_{\infty}^2}_{\text{バイアス}} \right) + \underbrace{C_{\rho}F^2{(S+1)\log ((S+1)^{L}dn) \over n}}_{\text{バリアンス}}.
が成り立ちます (Schmidt-Hieber (2020),Theorem 2).
具体例
以下では $f_0$ の関数形に応じて上記のバウンドがどのようになるか見ていきましょう.
ヘルダー関数
滑らかさ $\alpha>0$ で半径 $R>0$ のヘルダー空間は以下で定義されます:
\mathcal{H}^{\alpha, R}([0,1]^d) := \left\{f:[0,1]^d \to \mathbb{R}:\|f\|_{\mathcal{H}^{\alpha}([0,1]^d)} \leq R\right\}.
ここで,$\|\cdot\|_{\mathcal{H}^{\alpha}([0,1]^d)}$ は以下で定義されるヘルダーノルムです.
\begin{align*}
\|f\|_{\mathcal{H}^{\alpha}([0,1]^d)} &:= \sum_{m \in \mathbb{N}^{d}:\|m\|_1 \leq \lfloor \alpha \rfloor} \|\partial^m f\|_{\infty}\\
&\quad + \sum_{m \in \mathbb{N}^d: \|m\|_1 = \lfloor \alpha \rfloor} \sup_{x_1, x_2 \in [0,1]^d, x_1 \neq x_2}{|\partial^m f(x_1) - \partial^m f(x_2)| \over |x_1 - x_2|^{\alpha - \lfloor \alpha \rfloor}}.
\end{align*}
ただし,$m=(m_1,\dots,m_d) \in \mathbb{N}^d$ に対して $\|m\|_1 = \sum_{i=1}^{d}|m_i|$ です.$\mathcal{F}_{\sigma}(L,\mathbf{p},F,S)$ において
L \sim \log n,\ \min_{1 \leq \ell \leq L}p_{\ell} \gtrsim n^{d \over 2\alpha + d}, S \sim n^{d \over 2\alpha + d}(\log n)
とすることで $f_0 \in \mathcal{H}^{\alpha, R}([0,1]^d)$ のとき
R(\hat{f}_n,f_0) \lesssim n^{-{2\alpha \over 2\alpha + d}}\log^3 n
が成り立ちます (Schmidt-Hieber (2020), Theorem 1).
合成型関数 (composition structured functions)
パラメータ $q \in \mathbb{N}$,$\mathbf{\alpha} \in (\alpha_1,\dots,\alpha_q)' \in \mathbb{R}^q$,$\mathbf{d}=(d_1,\dots,d_{q+1})' \in \mathbb{N}^{q+1}$ ($d_1=d$,$d_{q+1}=1$),$\mathbf{t}=(t_1,\dots,t_q) \in \prod_{j=1}^{q+1}\{1,\dots,d_j\}$,$R>0$ をもつ合成型関数の集合を
\begin{align*}
\mathcal{G}^{COMP}(q,\mathbf{\alpha},\mathbf{d},\mathbf{t},R) := \{f=g_q \circ \dots \circ g_1 &: g_j = (g_{j,k})_{1 \leq k\leq d_{j+1}}:[a_j,b_j]^d_j \to [a_{j+1},b_{j+1}]^{d_{j+1}},\\
&\quad g_{j,k}\in \mathcal{H}^{a_j,R}([a_j,b_j]^{t_j}), |a_j| \vee |b_j| \leq R\}
\end{align*}
で定めます.$\mathcal{G}^{COMP}(q,\mathbf{\alpha},\mathbf{d},\mathbf{t},R)$ は有限回の関数の合成で表現される関数の集合で,
(1)加法関数 (additive function)
\begin{align*}
f(x_1,\dots,x_d) &= \sum_{i=1}^{d}f_i(x_i) = g_1 \circ g_0 (x),\\
g_0(x_1,\dots,x_d) &= (f_1(x_1),\dots, f_d(x_d))',\\
g_1(y_1,\dots,y_d) &=\sum_{i=1}^{d}y_i.
\end{align*}
(2)一般化加法関数 (generalized additive function)
\begin{align*}
f(x_1,\dots,x_d) &= h\left(\sum_{i=1}^{d}f_i(x_i)\right) = g_2 \circ g_1 \circ g_0 (x),\\
g_0(x_1,\dots,x_d) &= (f_1(x_1),\dots, f_d(x_d))',\\
g_1(y_1,\dots,y_d) &=\sum_{i=1}^{d}y_i,\\
g_2(z) &= h(z).
\end{align*}
などの関数が含まれます.$\mathcal{F}_{\sigma}(L,\mathbf{p},F,S)$ において
\begin{align*}
\alpha_j^{\ast} &:= \alpha_j \prod_{h=j+1}^{q}(\alpha_h \wedge 1),\ \alpha_q^{\ast} := \alpha_q,\\
L &\sim \log n,\ \min_{1 \leq \ell \leq L}p_{\ell} \gtrsim n\phi_n, S \sim n\phi_n(\log n), \phi_n = \max_{1 \leq j\leq q}n^{-{2\alpha_j^{\ast} \over 2\alpha_j^{\ast} + t_j}}
\end{align*}
とすることで $f_0 \in \mathcal{G}^{COMP}(q,\mathbf{\alpha}, \mathbf{d},\mathbf{t},R)$ のとき
R(\hat{f}_n,f_0) \lesssim \phi_n\log^3 n
が成り立ちます (Schmidt-Hieber (2020), Theorem 1).
結果に関する考察
- $f_0$ が $\mathcal{H}^{\alpha, R}([0,1]^d)$,$\mathcal{G}^{COMP}(q,\mathbf{\alpha},\mathbf{d},\mathbf{t},R)$ どちらの関数である場合も上記の結果は ($\log^3 n$ を無視すれば) 理論的に最適な収束レート(minimax rate)となることが示されています (Schmidt-Hieber (2020), Theorem 3).
- ただし,最適な収束レートを得るためには DNN のパラメータ (特にスパースレベル $S$) を $f_0$ のもつ情報 (滑らかさ等) に依存してとる必要があります.実際には $f_0$ の形についての情報は事前には得られないため,推定量の計算においてこのことは実用上問題となります.この点において上記の ERM $\hat{f}_n$ は $f_0$ の属する関数空間に対して適応的 (adaptive) ではありません.
- 次の記事では$f_0$ の情報とは独立に DNN のパラメータを設定して理論的に最適なバウンドを達成する推定量を構成する方法について紹介します.
まとめ
この記事では,深層ニューラルネットワークを用いたノンパラメトリック回帰モデルの推定について,主に Schmidt-Hieber (2020) の内容を紹介しました.株式会社Nospareには統計学の様々な分野を専門とする研究者が所属しております.統計アドバイザリーやビジネスデータの分析につきましては株式会社Nospare までお問い合わせください.
参考文献
[1] Schmidt-Hieber, J. (2020). Nonparametric regression using deep neural networks with ReLU activation function. Annals of Statistics 48, 1875-1897.