MathLabs

応用数学と計算数学

機械学習の数学

データからパターンを学習するアルゴリズムを支える線形代数、最適化、確率論。

直観学習とは地形を降りること

住宅価格、迷惑メールのラベル、文の次の単語など、何かを予測したいとしよう。調整可能なつまみ θ\theta を持つモデルを使う。モデルを訓練するとは、選んだ誤差指標 L(θ)L(\theta)(損失と呼ぶ)ができるだけ小さくなるように θ\theta を選ぶことである。LL を、あらゆるつまみ設定の空間上の地形の高さとして思い描けば、学習は物理的な過程になる: どこかから始め、繰り返し下り坂へ進むのだ。

sin x と cos y の積で形成された、山と谷が交互に現れる起伏のある3D曲面で、単一の大域的お椀ではなく複数の局所最小を持つ非凸な損失地形を示している。
z=sin⁡xcos⁡yz = \sin x \cos y:起伏の多い損失地形。単一のお椀とは異なり、異なる出発点の近くから始めた勾配降下法は異なる谷 — 異なる局所最小 — に滑り込むことがある。

得られる形はモデルに依存する。二乗誤差で訓練された線形モデルの損失は、まさに放物面 — 凸最適化を説明するのに使ったのと同じ単一のお椀 — であるため、勾配降下法は常に最良の当てはめを見つける。多くの非線形関数の層を重ねた深層ニューラルネットワークの損失地形は、通常、上の凸凹な曲面に近い: 局所的なくぼみ、平坦な台地、鞍点だらけである。

大学経験リスク最小化

定義: 損失関数

損失関数 ℓ(y^,y)\ell(\hat y, y) は、真の値が yy のときに y^\hat y を予測することがどれほど悪いかを測る: y^\hat y が yy に近ければ 00(または小さい値)となり、予測が悪くなるほど大きくなる。回帰では二乗誤差 ℓ(y^,y)=(y^−y)2\ell(\hat y, y) = (\hat y - y)^2 がよく使われ、分類では交差エントロピーが標準的である。

定義: 経験リスク

nn 個の例 {(xi,yi)}i=1n\{(x_i, y_i)\}_{i=1}^n からなる訓練セットとモデル fθf_\theta が与えられたとき、経験リスク R^(θ)\hat R(\theta) は訓練セット全体にわたる平均損失である。線形回帰、ロジスティック回帰、深層ネットワークを含め、モデルを訓練するとは R^(θ)\hat R(\theta) を最小化する θ\theta を見つけることを意味する。

R^(θ)=1n∑i=1nℓ(fθ(xi),yi)\hat R(\theta) = \frac{1}{n}\sum_{i=1}^n \ell(f_\theta(x_i), y_i)

実際には、訓練セットだけでなく新しいデータでの性能を気にする: 母集団(真の)リスク R(θ)R(\theta) は、たまたまサンプリングした nn 個だけでなく、例が由来する背後の分布 D\mathcal{D} 全体にわたって損失を平均したものである。D\mathcal{D} は未知であるため R(θ)R(\theta) は直接計算できない — R^(θ)\hat R(\theta) は代理にすぎず、差 R(θ)−R^(θ)R(\theta) - \hat R(\theta) は汎化ギャップと呼ばれる。

R(θ)=E(x,y)∼D[ℓ(fθ(x),y)]R(\theta) = \mathbb{E}_{(x,y)\sim \mathcal{D}}[\ell(f_\theta(x), y)]

大学勾配降下法とその収束速度

勾配降下法は、LL を最も速く減少させる方向 — 負の勾配 — へ繰り返し移動することで R^(θ)\hat R(\theta)(以下では簡潔に L(θ)L(\theta) と書く)を最小化する。各ステップで ∇L(θk)\nabla L(\theta_k) を計算し、学習率 η>0\eta > 0 によって制御される小さな距離だけ移動する。

θk+1=θk−η∇L(θk)\theta_{k+1} = \theta_k - \eta \nabla L(\theta_k)
よく使われる学習アルゴリズムとその更新則
手法更新則1ステップあたりのコスト典型的な用途
バッチ勾配降下法θk+1=θk−η∇L(θk)\theta_{k+1} = \theta_k - \eta \nabla L(\theta_k)1ステップ O(n)O(n)小規模データセット、正確な勾配
確率的勾配降下法θk+1=θk−η∇ℓi(θk)\theta_{k+1} = \theta_k - \eta \nabla \ell_i(\theta_k)1ステップ O(1)O(1)巨大データセット、ノイズはあるが高速な更新
ミニバッチSGDθk+1=θk−η1b∑i∈B∇ℓi(θk)\theta_{k+1} = \theta_k - \eta \dfrac{1}{b}\sum_{i \in B} \nabla \ell_i(\theta_k)1ステップ O(b)O(b)深層学習の標準;速度と安定性のバランスを取る
モーメンタム法vk+1=βvk+∇L(θk),θk+1=θk−ηvk+1v_{k+1} = \beta v_k + \nabla L(\theta_k), \quad \theta_{k+1} = \theta_k - \eta v_{k+1}1ステップ O(n)O(n) または O(b)O(b)狭い谷や台地を素早く通過させる

LL が凸で LL-滑らか(その勾配がリプシッツ定数 LL を持つ: ∥∇L(x)−∇L(y)∥≤L∥x−y∥\|\nabla L(x) - \nabla L(y)\| \le L\|x-y\|)であり、θ⋆\theta^\star が LL を最小化するとする。ステップ幅 η=1/L\eta = 1/L の勾配降下法は、KK ステップ後に L(θK)−L(θ⋆)≤L∥θ0−θ⋆∥22KL(\theta_K) - L(\theta^\star) \le \dfrac{L\|\theta_0 - \theta^\star\|^2}{2K} を満たす。

なぜ正しいのか?

滑らかさにより、各勾配ステップは勾配の大きさの二乗に比例する量だけ LL を減少させることが保証されるため、L(θk)L(\theta_k) は決して増加しない。凸性により、そのステップごとの減少量をまだ残っているギャップ L(θk)−L(θ⋆)L(\theta_k) - L(\theta^\star) と比較できる。KK ステップにわたって保証された減少量を足し合わせる — 望遠鏡和 — と、総減少量が有界であることが分かり、非増加数列における最良点は平均以上に良いはずなので、最終的なギャップは 1/K1/K のように縮小するはずである。

証明

LL-滑らかさにより、任意の x,yx, y に対して: L(y)≤L(x)+∇L(x)⊤(y−x)+L2∥y−x∥2L(y) \le L(x) + \nabla L(x)^\top (y-x) + \dfrac{L}{2}\|y-x\|^2。y=θk+1=θk−1L∇L(θk)y = \theta_{k+1} = \theta_k - \dfrac{1}{L}\nabla L(\theta_k)、x=θkx = \theta_k とおくと降下補題が得られる: L(θk+1)≤L(θk)−12L∥∇L(θk)∥2L(\theta_{k+1}) \le L(\theta_k) - \dfrac{1}{2L}\|\nabla L(\theta_k)\|^2。

LL の凸性により: L(θk)≤L(θ⋆)+∇L(θk)⊤(θk−θ⋆)L(\theta_k) \le L(\theta^\star) + \nabla L(\theta_k)^\top(\theta_k - \theta^\star)。これを降下補題に加えると: L(θk+1)−L(θ⋆)≤∇L(θk)⊤(θk−θ⋆)−12L∥∇L(θk)∥2L(\theta_{k+1}) - L(\theta^\star) \le \nabla L(\theta_k)^\top(\theta_k - \theta^\star) - \dfrac{1}{2L}\|\nabla L(\theta_k)\|^2。

右辺を平方完成すると: ∇L(θk)⊤(θk−θ⋆)−12L∥∇L(θk)∥2=L2(∥θk−θ⋆∥2−∥θk−θ⋆−1L∇L(θk)∥2)=L2(∥θk−θ⋆∥2−∥θk+1−θ⋆∥2)\nabla L(\theta_k)^\top(\theta_k - \theta^\star) - \dfrac{1}{2L}\|\nabla L(\theta_k)\|^2 = \dfrac{L}{2}\left(\|\theta_k - \theta^\star\|^2 - \left\|\theta_k - \theta^\star - \dfrac{1}{L}\nabla L(\theta_k)\right\|^2\right) = \dfrac{L}{2}\left(\|\theta_k - \theta^\star\|^2 - \|\theta_{k+1} - \theta^\star\|^2\right)、なぜなら θk+1−θ⋆=θk−θ⋆−1L∇L(θk)\theta_{k+1} - \theta^\star = \theta_k - \theta^\star - \dfrac{1}{L}\nabla L(\theta_k) であるから。

よって L(θk+1)−L(θ⋆)≤L2(∥θk−θ⋆∥2−∥θk+1−θ⋆∥2)L(\theta_{k+1}) - L(\theta^\star) \le \dfrac{L}{2}\left(\|\theta_k - \theta^\star\|^2 - \|\theta_{k+1} - \theta^\star\|^2\right)。これを k=0,…,K−1k = 0, \dots, K-1 について足し合わせると、右辺は望遠鏡式に縮約されて L2(∥θ0−θ⋆∥2−∥θK−θ⋆∥2)≤L2∥θ0−θ⋆∥2\dfrac{L}{2}\left(\|\theta_0 - \theta^\star\|^2 - \|\theta_K - \theta^\star\|^2\right) \le \dfrac{L}{2}\|\theta_0 - \theta^\star\|^2 となる。

降下補題はまた L(θk)L(\theta_k) が非増加であることも示すので、L(θK)L(\theta_K) は L(θ1),…,L(θK)L(\theta_1), \dots, L(\theta_K) の平均以下である: L(θK)−L(θ⋆)≤1K∑k=1K(L(θk)−L(θ⋆))≤L∥θ0−θ⋆∥22KL(\theta_K) - L(\theta^\star) \le \dfrac{1}{K}\sum_{k=1}^K \left(L(\theta_k) - L(\theta^\star)\right) \le \dfrac{L\|\theta_0 - \theta^\star\|^2}{2K} となり、まさに主張された評価式が得られる。

大学誤差逆伝播法:大規模な連鎖律

DD 層のネットワークは z(l)=W(l)a(l−1)+b(l)z^{(l)} = W^{(l)} a^{(l-1)} + b^{(l)} を計算し、続いて非線形関数 a(l)=σ(z(l))a^{(l)} = \sigma(z^{(l)}) を適用する(l=1,…,Dl = 1, \dots, D、a(0)a^{(0)} は入力)。連鎖律を各層に対して素朴に適用して ∂L/∂W(l)\partial L / \partial W^{(l)} を計算すると、同じ部分計算を何度も繰り返すことになり、深さに対して2次的に増大する時間がかかる。

z(l)=W(l)a(l−1)+b(l),a(l)=σ(z(l))z^{(l)} = W^{(l)} a^{(l-1)} + b^{(l)}, \qquad a^{(l)} = \sigma(z^{(l)})

誤差逆伝播法は、出力層から始めて逆方向に進みながら、各層につき1つの中間量、誤差項 δ(l)=∂L/∂z(l)\delta^{(l)} = \partial L / \partial z^{(l)} を計算することで、繰り返しの計算を回避する。各 δ(l)\delta^{(l)} は δ(l+1)\delta^{(l+1)} から直接構成され、再計算する代わりに再利用する。そして重みの勾配は δ(l)\delta^{(l)} とその層の入力 a(l−1)a^{(l-1)} から即座に得られる:

δ(l)=((W(l+1))⊤δ(l+1))⊙σ′(z(l)),∂L∂W(l)=δ(l)(a(l−1))⊤\delta^{(l)} = \left((W^{(l+1)})^\top \delta^{(l+1)}\right) \odot \sigma'(z^{(l)}), \qquad \frac{\partial L}{\partial W^{(l)}} = \delta^{(l)} (a^{(l-1)})^\top

各 δ(l)\delta^{(l)} は一度だけ計算され、その前の層で再利用されるため、逆伝播1回あたりの総コストは DD に比例し、順伝播1回と同じオーダーである — D2D^2 ではない。これこそが、数十層・数百層のネットワークの訓練を計算上可能にしている理由である。

大学次元削減:SVDとPCA

実データはしばしば冗長で相関のある特徴を持つ。特異値分解(SVD)は任意の行列 AA(例えば中心化された nn 個のデータ点を行として並べたもの)を A=UΣV⊤A = U \Sigma V^\top に分解する。ここで UU と VV は正規直交な列を持ち、Σ\Sigma は非負の成分 σ1≥σ2≥⋯≥0\sigma_1 \ge \sigma_2 \ge \cdots \ge 0(特異値)を持つ対角行列である。

A=UΣV⊤A = U \Sigma V^\top

主成分分析(PCA)は右特異ベクトル v1,v2,…v_1, v_2, \dots(VV の列)を新しい座標軸として用いる: v1v_1 は(中心化された)データが最も広がっている方向、v2v_2 は次に広がっている方向、というように、それぞれ前のものと直交する。上位 kk 個の方向だけを残し残りを捨てることで、kk 次元への射影として可能な限り多くの変動を保ちながらデータを圧縮する。

A∈Rm×nA \in \mathbb{R}^{m \times n} の特異値を σ1≥σ2≥⋯≥σr>0\sigma_1 \ge \sigma_2 \ge \cdots \ge \sigma_r > 0 とし、k<rk < r に対して上位 kk 個の特異成分のみを残した Ak=∑i=1kσiuivi⊤A_k = \sum_{i=1}^k \sigma_i u_i v_i^\top を定める。このとき rank⁡(B)≤k\operatorname{rank}(B) \le k を満たす任意の行列 BB に対して ∥A−B∥2≥σk+1\|A - B\|_2 \ge \sigma_{k+1} が成り立ち、この評価は達成可能である: ∥A−Ak∥2=σk+1\|A - A_k\|_2 = \sigma_{k+1}。したがって AkA_k は作用素ノルムにおける AA の最良のランク kk 近似である。

なぜ正しいのか?

特異値は AA が各直交方向 viv_i に沿ってベクトルをどれだけ引き伸ばすかを測る;最大のものを残し最小のものを捨てることは、AA が最も引き伸ばさない方向を捨てることに等しい。他のどのランク kk 行列 BB も、上位 k+1k+1 個の特異方向のうちいずれかの方向を再現し損なわざるを得ない(それらは kk 次元の像に収まるには多すぎる)、そしてその失敗には少なくとも σk+1\sigma_{k+1} の代償がかかる。

証明

達成可能性。 U,VU, V が正規直交な列を持つため、∥A−Ak∥2=∥U(Σ−Σk)V⊤∥2=∥Σ−Σk∥2\|A - A_k\|_2 = \|U(\Sigma - \Sigma_k)V^\top\|_2 = \|\Sigma - \Sigma_k\|_2 であり、ここで Σk\Sigma_k は上位 kk 個の特異値を残し残りをゼロにしたものである。Σ−Σk\Sigma - \Sigma_k は成分 0,…,0,σk+1,…,σr0, \dots, 0, \sigma_{k+1}, \dots, \sigma_r を持つ対角行列であるため、その作用素ノルムは最大成分 σk+1\sigma_{k+1} である。

最適性。 rank⁡(B)≤k\operatorname{rank}(B) \le k を満たす任意の行列 BB をとる;その零空間(核)の次元は少なくとも n−kn - k である。S=span⁡(v1,…,vk+1)S = \operatorname{span}(v_1, \dots, v_{k+1}) を (k+1)(k+1) 次元部分空間とする。dim⁡(ker⁡B)+dim⁡(S)≥(n−k)+(k+1)=n+1>n\dim(\ker B) + \dim(S) \ge (n-k) + (k+1) = n+1 > n であるため、この2つの部分空間は原点以外でも交わらねばならない: Bz=0Bz = 0 を満たす単位ベクトル z∈Sz \in S が存在する。

z=∑i=1k+1civiz = \sum_{i=1}^{k+1} c_i v_i(∑i=1k+1ci2=1\sum_{i=1}^{k+1} c_i^2 = 1、zz が単位ノルムを持ち viv_i が正規直交であるため)と書く。Bz=0Bz = 0 であるから、uiu_i の正規直交性を用いて ∥(A−B)z∥=∥Az∥=∥∑i=1k+1ciσiui∥=∑i=1k+1ci2σi2\|(A-B)z\| = \|Az\| = \left\|\sum_{i=1}^{k+1} c_i \sigma_i u_i\right\| = \sqrt{\sum_{i=1}^{k+1} c_i^2 \sigma_i^2} となる。

i≤k+1i \le k+1 に対して σi≥σk+1\sigma_i \ge \sigma_{k+1} であるため、∑i=1k+1ci2σi2≥σk+12∑i=1k+1ci2=σk+12\sum_{i=1}^{k+1} c_i^2 \sigma_i^2 \ge \sigma_{k+1}^2 \sum_{i=1}^{k+1} c_i^2 = \sigma_{k+1}^2。よって、ランク ≤k\le k の任意の行列 BB に対して ∥A−B∥2≥∥(A−B)z∥≥σk+1\|A-B\|_2 \ge \|(A-B)z\| \ge \sigma_{k+1} となり、達成可能性と合わせて定理が証明される。

同じ AkA_k は、ランク ≤k\le k の行列の中でフロベニウスノルムの誤差も最小化し、捨てられた誤差は捨てられた特異値に等しい: ∥A−Ak∥F=∑i=k+1rσi2\|A - A_k\|_F = \sqrt{\sum_{i=k+1}^r \sigma_i^2}。データの全分散は ∑iσi2\sum_i \sigma_i^2 に等しいため、これはPCAが kk 個の成分だけを残したときに取り残す分散そのものである — この量が小さいほど、kk 次元は元のデータをより忠実に要約する。

∥A−Ak∥F=∑i=k+1rσi2\|A - A_k\|_F = \sqrt{\sum_{i=k+1}^r \sigma_i^2}

大学実世界での応用と具体例

これらの道具は、ほぼすべての実用的な機械学習システムに共に現れる: 勾配降下法(とその変種)はレコメンデーションエンジン、画像分類器、言語モデルを訓練し、誤差逆伝播法は音声認識やコンピュータビジョン向けの深層ネットワークの訓練を計算上可能にし、PCAはゲノムデータの圧縮、センサー読み取り値のノイズ除去、高次元の金融・科学データセットを2次元や3次元で可視化するのに使われる。

例: 住宅価格予測のための勾配降下法1ステップ

ある不動産サイトは予測価格(単位 100,000100{,}000 ドル)を y^=θx\hat y = \theta x(xx は住宅の広さ、単位 1,0001{,}000 平方フィート)としてモデル化している。3件の訓練用住宅から (xi,yi)(x_i, y_i): (1,2)(1, 2)、(2,3)(2, 3)、(3,5)(3, 5) が得られている。二乗誤差の経験リスク R^(θ)=13∑i=13(θxi−yi)2\hat R(\theta) = \tfrac{1}{3}\sum_{i=1}^3 (\theta x_i - y_i)^2 を用い、θ0=1\theta_0 = 1 から始めて、学習率 η=0.05\eta = 0.05 で勾配降下法を1ステップ行った後の θ1\theta_1 を求めよ。

解答

まず微分する: ∇R^(θ)=23∑i=13xi(θxi−yi)=23[(θ−2)+2(2θ−3)+3(3θ−5)]=23(14θ−23)\nabla \hat R(\theta) = \tfrac{2}{3}\sum_{i=1}^3 x_i(\theta x_i - y_i) = \tfrac{2}{3}\big[(\theta - 2) + 2(2\theta - 3) + 3(3\theta - 5)\big] = \tfrac{2}{3}(14\theta - 23)。

θ0=1\theta_0 = 1 で評価する: 予測値は y^i=1,2,3\hat y_i = 1, 2, 3;残差 y^i−yi=−1,−1,−2\hat y_i - y_i = -1, -1, -2;よって ∇R^(1)=23(14⋅1−23)=23(−9)=−6\nabla \hat R(1) = \tfrac{2}{3}(14 \cdot 1 - 23) = \tfrac{2}{3}(-9) = -6。

更新則を適用する: θ1=θ0−η∇R^(θ0)=1−0.05×(−6)=1+0.3=1.3\theta_1 = \theta_0 - \eta \nabla \hat R(\theta_0) = 1 - 0.05 \times (-6) = 1 + 0.3 = 1.3。

勾配が負であったため、勾配降下法は θ\theta を正しく増加させた: 価格対面積の傾きを大きくすることでこの訓練セット上の二乗誤差が減少し、θ\theta は真の最小二乗最適値(∇R^(θ)=0\nabla \hat R(\theta) = 0 とおいて求まる θ⋆=23/14≈1.64\theta^\star = 23/14 \approx 1.64)へと近づく。

例: 共分散行列の主成分を求める

中心化された2つの特徴量が共分散行列 Σ=(4221)\Sigma = \begin{pmatrix} 4 & 2 \\ 2 & 1 \end{pmatrix} を持つとする。第一主成分の方向と、それが説明する全分散の割合を求めよ。

解答

主方向は Σ\Sigma の固有ベクトルである。特性方程式は det⁡(Σ−λI)=(4−λ)(1−λ)−2⋅2=λ2−5λ=0\det(\Sigma - \lambda I) = (4-\lambda)(1-\lambda) - 2 \cdot 2 = \lambda^2 - 5\lambda = 0 となり、固有値 λ1=5\lambda_1 = 5、λ2=0\lambda_2 = 0 を得る。

λ1=5\lambda_1 = 5 について: (Σ−5I)v=0(\Sigma - 5I)v = 0、すなわち (−122−4)v=0\begin{pmatrix} -1 & 2 \\ 2 & -4 \end{pmatrix} v = 0 を解くと v∝(2,1)v \propto (2, 1) を得る。正規化すると、第一主成分方向は u1=15(2,1)u_1 = \tfrac{1}{\sqrt5}(2, 1) である。

全分散は tr⁡(Σ)=4+1=5\operatorname{tr}(\Sigma) = 4 + 1 = 5 であり、これは λ1+λ2=5+0\lambda_1 + \lambda_2 = 5 + 0 に等しい。第一成分が説明する分散の割合は λ1/(λ1+λ2)=5/5=100%\lambda_1/(\lambda_1+\lambda_2) = 5/5 = 100\% である。

λ2=0\lambda_2 = 0 であるため、このデータセットはまさに1次元である: すべての点が方向 (2,1)(2,1) に沿ってぴったり並んでおり、その単一の直線への射影(ランク1近似)は情報を一切失わず、エッカート・ヤングの公式 ∥A−A1∥F=λ2=0\|A-A_1\|_F = \sqrt{\lambda_2} = 0 と一致する。

損失は L(θ)=(θ−4)2L(\theta) = (\theta - 4)^2 である。θ0=0\theta_0 = 0 から学習率 η=0.1\eta = 0.1 で勾配降下法を1ステップ行った後の θ1\theta_1 はいくらか。

nn 個の例 {(xi,yi)}\{(x_i,y_i)\} と損失関数 ℓ\ell からなる訓練セットに対する経験リスク R^(θ)\hat R(\theta) を正しく定義する式はどれか。

ある行列の特異値が σ1=6\sigma_1 = 6、σ2=3\sigma_2 = 3、σ3=2\sigma_3 = 2 である。最良のランク1近似 A1A_1 のフロベニウスノルム誤差 ∥A−A1∥F\|A - A_1\|_F はいくらか。

ある自動運転車の視覚ネットワークは50層である。誤差逆伝播法ですべての重みの勾配を計算するコストは、ネットワークを1回追加で順伝播させるのとほぼ同じであり、50倍ではない。誤差逆伝播法のどの性質がこれを説明するか。

参考文献

  1. Ian Goodfellow, Yoshua Bengio, Aaron Courville (2016). Deep Learning
  2. Christopher M. Bishop (2006). Pattern Recognition and Machine Learning
  3. Chiyuan Zhang, Samy Bengio, Moritz Hardt, Benjamin Recht, Oriol Vinyals (2017). Understanding deep learning requires rethinking generalization · arXiv:1611.03530
  4. Arthur Jacot, Franck Gabriel, Clément Hongler (2018). Neural Tangent Kernel: Convergence and Generalization in Neural Networks · arXiv:1806.07572
  5. Mikhail Belkin, Daniel Hsu, Siyuan Ma, Soumik Mandal (2019). Reconciling modern machine learning practice and the classical bias-variance trade-off · arXiv:1812.11118