6.2.4 重み空間の対称性
出典: C. M. Bishop, H. Bishop, Deep Learning, Springer 2024, §6.2.4
担当: 駒月柊平
日付: 2026-04-26
このサブセクションの位置づけ
§6.2.3 では隠れユニットの活性化関数を見た。特に tanh は奇関数であり、
を満たす。この性質は、ネットワークの重みの表し方に冗長性を生む。§6.2.4 の主題は、フィードフォワードネットワークでは「異なる重みベクトル」が「同じ入出力関数」を表すことがある、という点である。
前後の接続
- ← 前(§6.2.3 隠れユニット活性化関数): tanh の奇関数性や ReLU 系活性化関数の性質を整理した
- → 次(§6.3 深層ネットワーク): 二層ネットワークの構造を多層へ拡張する。対称性も隠れ層ごとに現れる
重み空間の対称性とは何か
ニューラルネットワークの学習では、パラメータ全体を一つのベクトル
として見ることが多い。この \(\mathbf{w}\) が動く空間を重み空間(weight space)と呼ぶ。
重み空間の対称性とは、次のような状況を指す。
つまり、パラメータ値としては別物なのに、関数としては完全に同じ写像を表す。
重要な区別
対称性は「似た出力を出す」ことではなく、すべての入力に対して同じ出力を出すことを意味する。したがって、これは近似的な偶然ではなく、ネットワーク構造そのものが持つ厳密な冗長性である。
例として扱うネットワーク
§6.2.4 では、次の二層ネットワークを考える。
- 入力層
- \(M\) 個の隠れユニット
- tanh 活性化関数
- 入力層から隠れ層、隠れ層から出力層まで完全結合
バイアスを含めて書くと、隠れユニット \(j\) の前活性化は
隠れユニット出力は
出力層への寄与は
である。
この構造に対して、主に二種類の対称性が現れる。
1. 符号反転対称性
変換
ある隠れユニット \(j\) に注目する。このユニットに入ってくる重みとバイアスをすべて符号反転する。
すると前活性化は
となる。tanh は奇関数なので、
つまり、この隠れユニットの出力だけが符号反転する。
次に、この隠れユニットから出ていく重みをすべて符号反転する。
すると出力層への寄与は
となり、元と完全に一致する。
直感
隠れユニットの内部表現を反転しても、その後段の重みも同時に反転すれば、最終出力から見ると何も変わらない。
graph LR
X["入力 x"] -->|"w(1)"| H["隠れユニット j<br/>zj = tanh(aj)"]
H -->|"w(2)"| Y["出力 y"]
X2["入力 x"] -->|"-w(1)"| H2["隠れユニット j<br/>-zj = tanh(-aj)"]
H2 -->|"-w(2)"| Y2["出力 y"]
Y -. "同じ写像" .- Y2
style H fill:#fef9c3
style H2 fill:#fef9c3
style Y fill:#dcfce7
style Y2 fill:#dcfce7
何通りあるか
各隠れユニットについて、符号を反転するか、しないかの二択がある。隠れユニットが \(M\) 個あれば、
通りの等価な重みベクトルが存在する。
2. 入れ替え対称性
変換
次に、二つの隠れユニット \(j\) と \(l\) を考える。
この二つについて、次をすべて入れ替える。
- それぞれの隠れユニットに入ってくる重み
- それぞれのバイアス
- それぞれの隠れユニットから出ていく重み
これは、隠れユニットの名前や順序を入れ替えているだけである。出力層から見ると、同じ計算部品が別の番号に移動しただけなので、ネットワーク全体の入出力写像は変わらない。
数式で見る
出力層の前活性化のうち、隠れ層からの寄与は
である。隠れユニットの順序を並べ替えても、これは和であるため値は変わらない。例えば \(j=1\) と \(j=2\) を入れ替えても、
が
になるだけで、同じ値である。
何通りあるか
\(M\) 個の隠れユニットの並べ替えは
通りある。したがって、任意の重みベクトルは少なくとも \(M!\) 個の等価な重みベクトルの集合に属する。
総対称性因子
符号反転対称性と入れ替え対称性を合わせると、二層ネットワークの重み空間には
の等価な表現が存在する。
| 対称性 | 操作 | 等価解の数 |
|---|---|---|
| 符号反転 | 各隠れユニットの入力側と出力側の重みを同時に反転 | \(2^M\) |
| 入れ替え | 隠れユニットの番号を並べ替える | \(M!\) |
| 合計 | 両方を組み合わせる | \(M!2^M\) |
例えば \(M=3\) なら、
通りの異なる重みベクトルが、同じ関数を表す。
「同じ関数」と「同じ学習経路」は違う
これらの重みベクトルは最終的な入出力写像としては等価だが、初期値や最適化の途中経路まで同じになるとは限らない。対称性は目的関数の形に複数の等価な谷やモードを作る。
多層ネットワークの場合
二層ネットワークでは、隠れ層が一つなので対称性因子は
だった。
より深いネットワークでは、隠れ層ごとに同様の対称性が現れる。第 \(l\) 隠れ層のユニット数を \(M_l\) とすると、層ごとの因子を掛け合わせて、
のような形で総対称性が増えていく。
深層化で冗長性も増える
深いネットワークは表現力を増す一方で、同じ関数を表すパラメータ表現も大量に持つ。これはニューラルネットワークの「関数空間」と「パラメータ空間」が一対一対応していないことを示している。
tanh だけの話ではない
上の符号反転の説明では tanh の奇関数性を使った。しかし、Bishop and Bishop は、重み空間の対称性は tanh だけに特有の現象ではなく、幅広い活性化関数に対して現れると述べている。
特に入れ替え対称性は、活性化関数の種類にほとんど依存しない。隠れユニットが同じ構造・同じ活性化関数を持つなら、ユニット番号を入れ替えてもネットワークが表す関数は変わらない。
一方、符号反転対称性の具体的な形は活性化関数に依存する。tanh では
が成り立つため、符号反転で厳密に補償できる。ReLU は
なので、tanh と同じ符号反転の議論はそのままでは使えない。ただし、同種の隠れユニットを並べ替える対称性は ReLU ネットワークにも存在する。
実用上の意味
通常の勾配学習では大きな問題になりにくい
SGD や Adam などでネットワークを訓練する場合、目的は「良い予測をするパラメータを一つ見つける」ことである。等価な解が他に多数存在しても、そのうち一つに到達できれば十分なので、重み空間の対称性は通常あまり問題にならない。
ベイズ的手法では重要になる
一方、ベイズ的に「ネットワークサイズの異なるモデル」を比較したり、事後分布全体を扱ったりする場合、この冗長性は無視しにくい。
同じ関数に対応する重みベクトルが \(M!2^M\) 個あるなら、重み空間上で確率質量や積分を数えるときに、その分だけ同じ関数を重複して数えてしまう可能性がある。したがって、モデル証拠やネットワークサイズの事後分布を評価する際には、対称性因子を考慮する必要がある。
graph TD
W["重み空間<br/>多数のパラメータ点"] --> F["関数空間<br/>入出力写像"]
W1["w"] --> G["同じ関数 g(x)"]
W2["符号反転した w'"] --> G
W3["ユニットを入れ替えた w''"] --> G
G --> T1["勾配学習<br/>どれか1つ見つかればよい"]
G --> T2["ベイズ推論<br/>重複カウントに注意"]
style W fill:#dbeafe
style F fill:#dcfce7
style T2 fill:#fef9c3
具体例:隠れユニット2個の場合
\(M=2\) の tanh 二層ネットワークを考える。このとき総対称性因子は
である。
| 操作 | 説明 |
|---|---|
| 何もしない | 元の重みベクトル |
| ユニット1の符号反転 | ユニット1の入力側・出力側を同時に反転 |
| ユニット2の符号反転 | ユニット2の入力側・出力側を同時に反転 |
| 両方の符号反転 | ユニット1・2の両方を反転 |
| ユニット1と2の入れ替え | 隠れユニットの番号を交換 |
| 入れ替え + ユニット1側の符号反転 | 並べ替え後に片方を反転 |
| 入れ替え + ユニット2側の符号反転 | 並べ替え後にもう片方を反転 |
| 入れ替え + 両方の符号反転 | 並べ替え後に両方を反転 |
これらは重みベクトルとしては異なるが、ネットワークが表す関数は同じである。
まとめ
| ポイント | 内容 |
|---|---|
| 重み空間の対称性 | 異なる重みベクトルが同じ入出力関数を表す |
| 符号反転対称性 | tanh の奇関数性により、入力側と出力側の符号反転が打ち消し合う |
| 入れ替え対称性 | 隠れユニットの順序を入れ替えても、和の値は変わらない |
| 二層ネットワークの因子 | \(M!2^M\) |
| 多層ネットワーク | 隠れ層ごとの対称性因子を掛け合わせる |
| 実用上の影響 | 通常の勾配学習では小さいが、ベイズ的モデル比較では重要 |
結論: ニューラルネットワークのパラメータ化は冗長であり、重み空間の一点と関数空間の一点は一対一に対応しない。この冗長性は通常の訓練では大きな障害になりにくいが、事後分布やモデル証拠のように「重み空間全体を数える」議論では明示的に扱う必要がある。
担当者の議論・疑問点
- ReLU ネットワークの対称性はどこまで同じか? 入れ替え対称性は明らかに残るが、tanh 型の符号反転対称性はそのままでは成り立たない。ReLU 特有のスケーリング対称性との関係も整理したい。
- 等価解が多数あると損失地形はどう見えるか? \(M!2^M\) 個の等価なモードがあるなら、最適化の軌道や可視化にどのように現れるか。
- ベイズ的モデル選択での補正方法 同じ関数を重複して数えないために、対称性因子をどのように事前分布やモデル証拠へ反映するか。
- ユニットが完全には同質でない場合 dropout、batch normalization、残差接続、ユニットごとの異なる活性化関数があると、どの対称性が壊れるか。