ニューラルネットワークの限界・建築美・ベイズへの進化
「任意の関数を近似できる」——これは本当だが、落とし穴がある。 NNには「帰納的バイアス」があり、得意な形と苦手な形がある。 手書き数字認識が教えてくれた「建築の美学」、そして「答え1つ」より 「分布全体」を求めるベイズアプローチへの進化を見ていこう。
模擬データで探る — NNの得意と苦手
「ニューラルネットワークは任意の関数を近似できる」——これは数学的に証明された事実です。 隠れユニットをいくらでも増やせれば、原理的にはどんな曲面でも表現できます。 しかし「原理的に近似できる」と「実際に効率よく学習できる」は、全く別の話です。
2つの模擬問題でNNの実力を測ってみましょう。
問題1: シグモイド和型
2次元の入力 $(X_1, X_2)$ に2つのシグモイド関数を足し合わせた構造です。 NNはこの関数を得意とします。なぜなら、NNの隠れ層はまさに「シグモイド関数の線形結合」で構成されているからです。 データの等高線は斜め方向の縞模様になり、NNの境界がぴったり合います。
問題2: 放射基底関数型
10次元の入力を「球状に対称」に組み合わせた関数です。 方向性がなく、どの方向から近づいても同じ形をしています。

結果の衝撃
シグモイド和型: NNはベイズ誤差(理論的な最小誤差)に迫る精度を達成。
放射基底関数型: NNの誤差はベイズ誤差を大きく上回ったまま改善されません。
なぜか?直感的な比喩で考えてみましょう。NNの隠れユニットは$a^T X = \text{定数}$という「斜めの平面」で空間を切り分けます。 シグモイド和型の関数は斜めの切り方にぴったり合います。 しかし球は、どの方向から切っても断面が円になります——「特定の方向性がない」のです。 NNは斜めの板しか持っていないのに、球を斜めの板で切り分けようとしている——うまくいくはずがありません。
これをNNの帰納的バイアス(inductive bias)と呼びます。あらゆる学習アルゴリズムは 「どんな関数が学びやすいか」という暗黙の仮定を持っています。NNの仮定は 「方向性のある線形結合で組み立てられた関数」です。
正則化パラメータの影響
重みの大きさを抑える正則化強度λを変えると:
- λ小(緩い正則化)→ 隠れユニット数が増えると過学習が加速
- λ大(強い正則化)→ 隠れユニット数によらず安定した精度
実践的な教訓:「とりあえずユニット数を増やせばいい」は通じません。 正則化の強さとユニット数は一緒に調整が必要です。
手書き数字認識の革命 — 「建築知識」が90%から98%へ
1989年、ある論文が機械学習界を騒がせました。米国郵便局の封筒から手書き数字(0〜9)を 読み取る問題で、ある工夫をすると認識精度が劇的に向上したのです。
問題の設定
入力: 16×16ピクセルのグレースケール画像(256変数)、出力: 10クラスの数字、 訓練データ: 320枚、テストデータ: 160枚。
5つのアーキテクチャの勝負
| ネットワーク | 構造 | 重みの数 | テスト正解率 |
|---|---|---|---|
| Net-1 | 全結合1層 | 2570 | 80.0% |
| Net-2 | 全結合1隠れ層(12ユニット) | 3214 | 87.0% |
| Net-3 | 局所結合2層 | 1226 | 88.5% |
| Net-4 | 重み共有(1レベル) | 1132 | 94.0% |
| Net-5 | 重み共有(2レベル) | 1060 | 98.4% |
衝撃的な事実: Net-5はNet-2より重みが少ないのに、精度は11%以上高い。

鍵は「局所結合」と「重み共有」
Net-3の「局所結合」: 各隠れユニットは画像全体ではなく、3×3ピクセルの小領域だけを見ます。 256すべての接続を張るのではなく、空間的に近いピクセルだけを結びます。
Net-4, 5の「重み共有」(現代でいう畳み込み): さらに一歩進め、「どの場所を見ても同じ検出器を使う」。 画像の左上を見る隠れユニットも右下を見るユニットも、全く同じ重みセットを使います。
なぜこれで精度が上がるのでしょうか?「3」という数字の特徴(丸み、縦線など)は、 画像のどこにあっても同じです。左上に「3」があっても右下に「3」があっても、 検出する仕組みは同じでいい。重みを共有することで、 「どこにある3も3と認識する」という平行移動不変性が自然に身につきます。
重みの削減効果
3×3のカーネル($S=T=3$)が8種類なら、 重みは $3 \times 3 \times 8 = 72$ 個で済みます。 全結合なら $256 \times 8 = 2048$ 個必要だったところが96%削減です。
第一層の操作(畳み込み)を式で書くと:
同じカーネル重み $w_{st}^{(m)}$ を画像のすべての位置$(j,k)$ に適用します。これが「畳み込み」です。
これは単なるパラメータ削減ではなく、問題の構造をアーキテクチャに埋め込むという 革命的な発想です。この発想が現代の「畳み込みニューラルネットワーク(CNN)」の原型となりました。
NNの限界と価値 — 解釈可能性のトレードオフ
NNは強力です。しかし、強力さには代償があります。
NNが輝く場面
- 信号対雑音比が高い(データの中に確かなパターンがある)
- 個々の入力変数の役割より、組み合わせの効果が重要
- 予測精度が最優先で、「なぜその予測をしたか」は問わない

NNの根本的な限界:解釈不可能性
線形回帰なら「変数$X_j$ の係数が $\beta_j$」と言えばわかりやすい。 決定木なら「このルールがこの判断をしている」と指差せます。
しかしNNでは、各入力変数が隠れ層を通じて多数の場所で非線形に絡み合います。 「$X_1$ はこういう効果を持つ」と単純には言えません。
医療診断システムに使うとしましょう。患者への説明義務があります。「なぜこの診断を?」という問いに 「NNがそう言ったから」では通りません。
パラメータの非一意性の問題
さらに深刻な問題があります。同じ出力を生む重みの組み合わせが無数にあるのです。
例えば、2つの隠れユニットAとBがあるとしましょう。入力から「A経由→出力」と「B経由→出力」の経路があります。 AとBを丸ごと入れ替えても、出力はまったく変わりません。さらに、Aへの入力重みを全部符号反転し、 Aから出力への重みも符号反転しても同じことです。
つまり「重みセット1 ≡ 重みセット2」という等価関係が無数に存在します。 「この重みがこの意味を持つ」という解釈が、数学的に等価な別の重みセットでは全く別の解釈になりうるのです。
それでもNNが選ばれる理由
皮肉なことに、この「滑らかなパラメータ化」がベイズ推論には向いています。 重みが実数値の連続関数なので、勾配計算ができ、確率的サンプリング手法を効率よく適用できます。
解釈はできないが、「予測の確かさ(不確かさ)を確率で表現できる」という強みが生まれます。 次のセクションでは、この逆転の発想——「解釈を諦めて不確かさを得る」——を探ります。
ベイズニューラルネット — 「答え」より「分布」を出す
通常のNNは「最良の重みを1つ見つける」ことを目標にします。 勾配降下で損失を最小化し、点推定値を得ます。
ベイズアプローチは全く違う問いを立てます:「どんな重みが訓練データと整合するか?」一つの最良解ではなく、可能性のある重みの全分布を推定します。
まず1次元の例で直感を掴む
コインを10回投げて7回表が出たとします。このコインの偏り確率$p$(=1つのパラメータ)はどれくらいでしょうか?
- 頻度主義的答え:$p = 0.7$(点推定)
- ベイズ的答え:「$p$ は0.6〜0.9あたりに多分あるが、確かなことは言えない。分布で表すとこうなる」
ベイズは「最もらしい答えを1つ」ではなく「ありうる答えの確率分布」を返します。 NNのベイズ化は、この発想を数千個の重みに対して行うことです。

ベイズの枠組み
事前分布 $\text{Pr}(\theta)$(重みについての初期信念)と、 訓練データを見た後の事後分布:
新しい入力 $X_\text{new}$ への予測も 「可能性のある全重みで平均」します:
これは「最良の1モデルの予測」ではなく「全モデルの予測の重み付き平均」です。
問題: この積分は計算不可能
NNの重みは高次元(数百〜数千)。事後分布の積分を解析的に計算するのは不可能です。
そこで使われるのがMCMC(マルコフ連鎖モンテカルロ)という確率的サンプリング手法です。 高確率の領域を重点的に訪れながら、事後分布からのランダムなサンプルを生成します。
ただし通常のMCMCは「ランダムウォーク」のように小さな一歩一歩で空間を探索するため、 高次元では非常に非効率です。そこで登場するのがハミルトニアンモンテカルロ(HMC)です。 物理学の「ハミルトニアン力学」を借用し、摩擦のない球が損失の地形(谷や丘)を転がるように動きます。 勾配情報を使って大きなステップを踏め、相関の低い独立したサンプルを効率よく得られます。 バックプロパゲーション(11.3で学んだ)で計算した勾配がここで再登場するのです。
自動関連度決定(ARD)
Bayesian NNの重要な付随機能が「自動的な変数選択」です。
各入力変数 $j$ への重みに共通の事前分散$\sigma_j^2$ を設定します。 もし変数 $j$ がターゲットと無関係なら、 データはこの分散を小さく押し込みます。結果として、その変数への重みは自動的にゼロ付近に集まります。
クロスバリデーションを明示的にしなくても、「どの変数が重要か」がベイズ推論の中で自然に決まります。
事後分布は「事前分布 × 尤度」に比例します。HMCはこの分布から直接サンプリングします。
ベイズ・ブースティング・バギング — 3兄弟の統一的視点
ベイズNNの真価は、実際のデータで競争してみると明らかになります。
2003年、NIPS(神経情報処理システム)ワークショップが面白い実験をしました。 5つの難しい分類問題(質量分析、テキスト分類、薬物探索など)を作り、75チームが競いました。
問題の特徴: 変数の数(p)がサンプル数(N)をはるかに超える設定です。 「1万個の遺伝子を100人のデータで調べる」ような状況です。 重要な変数が少数しかないのに、ノイズだらけの変数が何千もある——これが高次元問題の本質的な難しさです。
さらに「プローブ変数」と呼ばれる完全なダミーノイズ変数を大量に混入。 このプローブが本物の変数と同じ統計的性質を持つように設計されているため、 真の信号を見つけ出す能力が問われました。
5手法の比較結果
| 手法 | 平均順位(篩いがけ後) | 計算時間 |
|---|---|---|
| ベイズNN | 1.5位 | 384分 |
| ランダムフォレスト | 2.7位 | 2.0分 |
| ブースティング(木) | 3.4位 | 4.5分 |
| ブーストNN | 3.8位 | 12分 |
| バギングNN | 3.6位 | 4.5分 |
ベイズNNが圧勝。計算時間は最も長いが、統計的精度は最高でした。

なぜ3つは「同じ思想の変奏」なのか
驚くべきことに、ベイズ・ブースティング・バギングは数式の構造が似ています:
同じ形の「モデル予測の重み付き平均」です。違いは$\theta_\ell$(各モデルのパラメータ)をどう選ぶかだけです。
- ベイズ:$\theta_\ell \sim \text{Pr}(\theta \mid X_n, y_n)$(事後分布からMCMCでサンプリング——統計的に正当な探索)
- バギング:$\theta_\ell = \hat{\theta}(X_n^{*\ell})$(ブートストラップ再標本から推定——ランダムなデータ摂動)
- ブースティング:$\theta_\ell$ は前の $\theta_1, \ldots, \theta_{\ell-1}$ の誤りを修正するように選ぶ(勾配的な改良)
3つとも「1つのモデルに全部を任せない。多様なモデルの知恵を集める」という哲学を共有しています。
ベイズが特に優れた理由
NNは滑らかなパラメータ化を持ちます。勾配計算が可能で、HMCが効率的に動きます。 「確率モデル + 滑らかな最適化」の両方を必要とするベイズ推論はNNと相性が良いのです。
一方、決定木やランダムフォレストは不連続な関数で、ベイズ推論が難しい。 道具と問題の相性が重要なのです。