ニューラルネットは陰陽を学べるか。450エポックの間、目玉の正解率は0%だった
約6分で読めます

ニューラルネットは陰陽を学べるか。450エポックの間、目玉の正解率は0%だった


陰陽マーク——白と黒がS字の渦で絡み合い、それぞれの領域に相手の色の「目玉」が浮かぶ、あの模様。よく見るとこれは、機械学習の分類問題として絶妙に意地悪な構造をしている。直線では絶対に分けられない渦、そして「周囲と逆のラベルを持つ小さな飛び地」である目玉。ニューラルネットはこの模様を学べるのか、学べるとしたらどの順番で学ぶのか。実際に確かめてみた。

陰陽データセット

半径1の円の中に2000点をばらまき、S字境界(半径1/2の2つの半円)と2つの目玉で赤青のラベルを付けた。目玉の点は全体のわずか3.6%だ。

陰陽データセット。S字の境界で赤と青に分かれ、赤の領域に青い目玉、青の領域に赤い目玉がある

表現力の階段: 直線 → S字 → 片目 → 両目

まず、モデルの表現力を段階的に上げながら最終的な決定境界を見比べた。ロジスティック回帰と、隠れ層1枚のMLP(tanh、ユニット数2/4/8/32)だ。

5モデルの決定境界。ロジスティック回帰とMLP2ユニットは斜めの直線(正解率0.858/0.861)。4ユニットでS字カーブが現れ(0.940)、8ユニットでS字に加えて上の目玉だけが小さな島として現れ(0.946)、32ユニットで両方の目玉を持つ完全な陰陽が再現される(0.966)

これが綺麗な階段になった。

  • ロジスティック回帰・2ユニット: 直線(0.858)。 渦は諦めて、一番マシな一本線を引く
  • 4ユニット: S字が出現(0.940)。 tanhの曲がりが2つ組み合わさると渦が描けるようになる
  • 8ユニット: 片目を発見(0.946)。 境界の中に初めて「島」が現れる。ただし見つけたのは上の目玉だけ
  • 32ユニット: 両目が揃う(0.966)。 ほぼ完全な陰陽

表現力(パラメータ数)は「どこまで細かい構造を描けるか」の解像度としてそのまま境界の形に現れる。パーセプトロンの記事でXOR問題が「1本の直線では無理」だったのと同じ話の、豪華版だ。

学習済みネットの確率曲面を3Dにすると、渦が地形として、目玉が窪みとして見える。

目玉は450エポックの間、完全に無視されていた

次に、32ユニットのネットの学習過程を1エポックずつ追い、「本体の渦」と「目玉」の正解率を別々に記録した。ここで今回一番の結果が出た。

学習曲線。本体の渦(青)は最初から正解率0.9前後で始まりすぐに0.97へ到達する。目玉(赤)は約450エポックの間、正解率0.00に完全に張り付いたままで、その後急激に立ち上がり1200エポックで0.88前後に達する

本体の渦は数十エポックでほぼ学習が終わる。一方、目玉の正解率は約450エポックもの間、0%に張り付いたままだった。 0%というのは「わからない」ではない。目玉の点を全部、周囲の色と同じだと自信を持って間違え続けているということだ。ネットにとって目玉は、大きな構造を学ぶうえでは無視するのが最適な「ノイズ」であり、渦の学習が落ち着いた後になって初めて、損失のわずかな残りを削るために「あの3.6%は本物だ」と認め始める。

決定境界の変形過程を見ると、その瞬間が目に見える。

学習過程で決定境界が変形していくアニメーション。最初は直線に近い境界がだんだんS字に曲がり、渦が完成した後、しばらくしてから目玉の位置に小さな島がぽつんと現れて育っていく。タイトルには全体正解率と目玉正解率が併記され、目玉の値が長いあいだ0.00のままなのが見える

境界が直線→S字と成長し、渦が完成してからずいぶん後に、目玉の位置に小さな島がぽつんと生まれて育っていく。

手を動かして意外だったこと

「例外は学ばれるのが遅い」だろうとは予想していたが、450エポックの完全な沈黙は想像以上だった。学習曲線の全体正解率だけを見ていたら、0.96前後で滑らかに伸びているだけで、この沈黙には気づけない(目玉は3.6%しかないので全体への寄与が小さい)。「全体の数字は順調」の内側で、特定の少数グループだけが完全に間違え続けられている——先日の記事から続く「集計値の死角」が、学習ダイナミクスにも現れた格好だ。

もう1つは、目玉の学習が「徐々に」ではなく「急に」起きること。450エポック無視していたのに、一度発見すると数百エポックで0.88まで一気に立ち上がる。境界に島を作るコスト(それまでの滑らかな境界を壊すコスト)を払う決心がつくと、あとは早いらしい。この「長い停滞→突然の獲得」というパターンは、grokkingと呼ばれる現象の小さな親戚のようにも見える。

組織の中の「例外的な少数意見」も、たぶんこういう扱いを受けている。大勢の傾向を学ぶフェーズでは、少数派はノイズとして自信を持って上書きされる。彼らが「本物のシグナル」として認識されるのは、大きな構造の学習が終わって、残った違和感に向き合う余裕ができてからだ。だとすれば、早い段階の「全体正解率」で物事を評価するとき、私たちは目玉をまだ一つも見つけていないモデルを「96点」と褒めているのかもしれない。

まとめ

  • 陰陽模様の2クラス分類で、モデルの表現力と決定境界の関係を観察: ロジスティック回帰/2ユニットは直線(0.858)、4ユニットでS字(0.940)、8ユニットで片目(0.946)、32ユニットで両目(0.966)という綺麗な階段になった
  • 32ユニットの学習過程を本体/目玉別に追跡すると、本体の渦は数十エポックで学習が終わるのに対し、目玉(全体の3.6%)は約450エポックの間、正解率0%のまま自信を持って無視され続けた
  • その後、目玉は急激に「発見」され、数百エポックで正解率0.88に到達——長い停滞から突然の獲得というgrokking的なパターン
  • 全体正解率だけを見ると0.96で順調に見え、この450エポックの沈黙は観測できない。少数グループ別の評価軸を持たない限り、集計値は例外の無視を隠す