ニューラルネットワークの隠れ層とは何か

「隠れ」は、分からないという意味ではない。誰も値を指定しない、という意味だ。

仮説を立てて分析していると、最初の仮説では想定していなかった結果が出てくる。特許調査でも、検索を回すうちに見ていなかった軸が浮かび上がる。それは隠れ層のようなものなのか──という問いから、隠れ層の正体、Chain of Thought との違い、そして分析の現場との対応を整理する。先に答えを書くと、その直感は半分当たり、半分違う。

【図1】三つの層の違いは「外から値が見えるか」
入力層見える

与えるデータそのもの。画像の画素、文章のトークン。

隠れ層見えない

入力と出力のあいだにある。どんな値を取るべきかを、訓練データの中で誰も指定していない。

出力層見える

正解と照らし合わされる値。「猫」「次の単語」など、答えが用意されている。

実線=データとして外に現れる値。破線=学習の結果として中で決まる値。

一「隠れ」の意味

隠れ層の「隠れ(hidden)」は、人間がその中身を理解できているかの区別ではない。データとして外から見えるかの区別である。

学習用のデータには、入力と、それに対する正解(出力)が並んでいる。入力層の値は入力そのもの、出力層の値は正解と比べられる。ところが中間の層については、「この画像を見たとき、3番目の層の57番目の値は0.8であるべき」といった指定はどこにも書かれていない。だから「隠れている」と呼ぶ。

これは統計学の潜在変数(latent variable / hidden variable)と同じ語法だ。たとえば「学力」はテストの点数(観測できる値)の背後にあると仮定されるが、直接は測られない。隠れマルコフモデルの「隠れ状態」も、観測された記号の列の背後にあって、データには現れない状態を指す。

隠れ層=訓練データに現れない中間の値。

理解しにくいのは結果であって、定義ではない。

二中身は何か──一層ぶんの計算

隠れ層の一つひとつは、驚くほど単純な計算でできている。

【式】隠れ層一層の計算

h = f(W x + b)

x 前の層の出力(数値の並び=ベクトル)
W 重み。どの入力をどれだけ効かせるか
b バイアス。どこから反応し始めるかの下駄
f 非線形関数(ReLU、シグモイドなど)
h この層の出力=次の層の入力

f が非線形であることが本質。f を外すと、何層重ねても一層の掛け算に潰れてしまう。

W と b は人が決めない。出力と正解のずれ(誤差)が小さくなる方向へ、誤差逆伝播法(backpropagation)が少しずつ自動で動かす。出力側の誤差を、各層の重みが「どれだけその誤差に責任があったか」に分配して戻していく計算だ。

つまり隠れ層の値は、誤差を減らすのに役立つように、勝手に決まった値である。誰も「こういう特徴を作れ」とは言っていない。

手で触る:隠れ層がないと解けない問題

二つの入力が「どちらか片方だけ1」のときに1を返す問題(XOR、排他的論理和)は、入力から出力へ直接つなぐだけ(隠れ層なしの一層)では解けない。四つの点を一本の直線で分けられないからだ。隠れ層を二つ挟むと解ける。下の図は、その解き方の一例を重みまで固定して示したもの。

【図2】XOR を解く小さなネットワーク(入力2・隠れ2・出力1)
x1 → x2

●=答え1、○=答え0。破線は二つの隠れユニットが引く境界。二本の線で挟まれた帯だけが1になる。

隠れユニットには、名前も役割も与えていない。値の並びを見ても、まだ何をしているかは分からない。

重みは手で置いた一例(シグモイドを急峻にして段差に近づけている)。実際の学習では誤差逆伝播で見つかり、同じ役割を別の重みで果たす解も多い。

「後から中身を読んでみる」を押すと、二つの隠れユニットが実は「OR(どちらか1)」と「AND(両方1)」に相当する反応をしていることが分かる。出力は「ORだがANDではない」を計算しているだけだ。この名前は、設計時にはどこにもなかった。中身を後から読んで、人が付けたものである。これが第六節の機械的解釈可能性の、いちばん小さな模型になっている。

三直感が当たっている部分──中間表現は「現れる」

隠れ層の値は、学習の結果として自然に生まれる中間表現(特徴、feature)である。画像認識の畳み込みネットワークでは、浅い層がエッジや色の境目に、中間の層が目・車輪・模様のような部品に、深い層が「顔らしさ」「犬らしさ」のような物体の全体に反応するようになることが、可視化研究で示されてきた。人がそう設計したわけではない。

「分析を進めた結果として、最初は無かった観点が現れる」というイメージは、ここに近い。与えたのは入力と正解だけなのに、そのあいだを埋めるために、データに書かれていなかった概念が立ち上がる。

四直感が違う部分──隠れ層は探索しない

一方で、隠れ層は仮説を立てて試したり、結果を見て考え直したりはしない。学習が終わった後のネットワークにとって、隠れ層は固定された関数であり、入力は決まった計算を一方向に流れていくだけだ。「試行錯誤」に見えるものは、学習中に重みが変わっていく過程の側にある。

仮説検証により近いのは、言語モデルの Chain of Thought(CoT、思考の連鎖)のほうである。

隠れ層Chain of Thought
実体数値ベクトルの変換出力された文章
動き方固定の関数を1回通すだけ逐次生成し、前の結果を読んで次へ進む
探索・仮説検証しないする(ように振る舞える)
可読性そのままでは読めない読める

ただし LLM では、一つのトークンを出すたびに数十の層を通り、層を進むごとに表現が精錬されていく。途中の層の表現を出力の語彙に当てて読むと、浅い層ではぼんやりしていた次の単語の候補が、深い層で絞られていく様子が見える。この意味で「段階的に考えが進む」面は隠れ層の中にもある。

CoT はその計算結果をいったん言葉として外に出し、それを再び入力として読み込んで、何度も回す仕組みだと捉えると関係が整理できる。隠れ層の中に置ききれない途中経過を、見える場所(文章)に退避させて、次の一回の計算の材料にしているのである。

注意:CoT の文章は、モデル内部で実際に起きた計算をそのまま書き写したものとは限らない。答えに影響した要因を文章が言わないまま、もっともらしい理由を述べる例が報告されている。「読める」ことと「中身の忠実な記録である」ことは別だ。

五では「想定していなかった結果」は隠れ層なのか

ここまでの整理を、仮説検証や特許調査の場面に当ててみる。下のボタンで、分析の要素を一つずつ選ぶと、ニューラルネットワークのどこに対応するか、どこが違うかが出る。

【図3】分析の要素を、ニューラルネットワークに当てはめる

当てはめてみると、答えは二つに分かれる。

想定外の結果そのものは、隠れ層ではない。それは外に現れた「見える」値であり、ニューラルネットワークでいえば出力と正解の食い違い──誤差にあたる。分析を動かす燃料になるのはこちらだ。

その食い違いを説明するために後から立ち上がる軸──最初の仮説にも、手元のデータの見出しにも書かれていなかった観点──は、隠れ層の特徴に近い。

特許調査でいえば、自分の検索式で集めた文献と、審査官が実際に引いた文献があまり重ならない、という結果が出ることがある。重ならなかったこと自体は「誤差」だ。その原因を追って、「技術用語ではなく分類の軸で寄せられていた」「課題の書き方が違う業界から来ていた」と分かったとき、見つかった軸が隠れ層の特徴にあたる。誰もその軸を指定していなかったが、結果を説明するためには必要だった。

違いも一つはっきりしている。人間の分析では、見つけた軸に名前を付けて言葉にする。ニューラルネットワークの特徴は、名前のない数値のままだ。人がやっている「名前を付けて次の仮説に使う」という動きは、むしろ CoT の側──中間結果を言葉として外に出し、再入力して回す──に近い。

六隠れ層を「隠れていない」ものにする研究

隠れ層の中で何が表現されているかを読み解く研究分野を、機械的解釈可能性(mechanistic interpretability)という。いわば隠れ層を「隠れていない」ものにする試みだ。

代表的な道具は三つある。一つは、特定の概念(たとえば文の時制)が隠れ層の値から読み取れるかを小さな分類器で調べるプロービング。二つめは、途中の層の表現を出力の語彙に当てて、層ごとにどう答えが固まっていくかを見る方法。三つめは、一つの値に多くの意味が重なっている隠れ層を、スパース・オートエンコーダで「一つの意味に一つの方向」へ分解し、人が名前を付けられる特徴として取り出す方法である。大規模言語モデルから最大で数千万の特徴を取り出し、「国や都市」「コードの誤り」のような概念に対応するものを見つけた報告がある。

図2で隠れユニットに OR と AND の名前を付けたのは、この作業のごく小さな版だ。規模が数十億の重みになると、名前を付けられる特徴を見つけること自体が研究になる。

分析者にとっての示唆は、こう読める。想定外の結果から見つけた軸は、名前を付けて外に出したときに初めて、次の仮説の材料になる。隠れたままの気づきは、そのときは効いても、再利用も検証もできない。

七まとめ

問い答え
「隠れ」とは理解できないことではなく、訓練データに値が書かれていないこと
中身はh = f(Wx + b) の繰り返し。W と b は誤差逆伝播で自動調整
当たっている点中間表現は人の設計なしに「現れる」
違う点学習後の隠れ層は探索も仮説検証もしない。それに近いのは CoT
想定外の結果はそれ自体は誤差(見える側)。それを説明する新しい軸が隠れ層の特徴に近い
読み解くには機械的解釈可能性。分析でいえば、軸に名前を付けて外に出すこと

関あわせて読む

参参考文献

  1. Rumelhart, D. E., Hinton, G. E., & Williams, R. J. (1986). Learning representations by back-propagating errors. Nature, 323(6088), 533–536. doi:10.1038/323533a0(重みの調整の結果、隠れユニットが課題の重要な特徴を表すようになることを示した誤差逆伝播法の論文)
  2. Minsky, M., & Papert, S. (1969). Perceptrons: An Introduction to Computational Geometry. MIT Press.(単純パーセプトロンの限界を数学的に分析した書。「単層では XOR が解けない」はこの本の代名詞として語られるが、書中の定理は接続の局所性などに制約を課したパーセプトロンでのパリティや連結性の限界を扱っており、「多層でも解けない」と主張したわけではない)
  3. Zeiler, M. D., & Fergus, R. (2014). Visualizing and Understanding Convolutional Networks. In Computer Vision – ECCV 2014, Lecture Notes in Computer Science, pp. 818–833. Springer. doi:10.1007/978-3-319-10590-1_53(arXiv:1311.2901。中間層の特徴を可視化した論文)
  4. Wei, J., Wang, X., Schuurmans, D., Bosma, M., Ichter, B., Xia, F., Chi, E., Le, Q. V., & Zhou, D. (2022). Chain-of-Thought Prompting Elicits Reasoning in Large Language Models. Advances in Neural Information Processing Systems 35 (NeurIPS 2022). arXiv:2201.11903.
  5. Turpin, M., Michael, J., Perez, E., & Bowman, S. R. (2023). Language Models Don't Always Say What They Think: Unfaithful Explanations in Chain-of-Thought Prompting. Advances in Neural Information Processing Systems 36 (NeurIPS 2023). arXiv:2305.04388.
  6. nostalgebraist (2020年8月31日). interpreting GPT: the logit lens. LessWrong. lesswrong.com/posts/AcKRB8wDpdaN6v6ru(途中の層を出力語彙に当てる読み方。査読論文ではなくブログ記事)
  7. Olah, C., Cammarata, N., Schubert, L., Goh, G., Petrov, M., & Carter, S. (2020). Zoom In: An Introduction to Circuits. Distill. doi:10.23915/distill.00024.001
  8. Bricken, T., Templeton, A., Batson, J., et al. (2023). Towards Monosemanticity: Decomposing Language Models With Dictionary Learning. Transformer Circuits Thread, Anthropic./Templeton, A., Conerly, T., et al. (2024). Scaling Monosemanticity: Extracting Interpretable Features from Claude 3 Sonnet. Transformer Circuits Thread, Anthropic.(スパース・オートエンコーダによる特徴の取り出し。後者は最大約3,400万特徴の辞書を学習し、国や都市、コードの誤りに反応する特徴などを報告)