モデルのもつれた考えを、読める概念へと解きほぐす方法。

SRC·42 Source
一つのニューロンは十二の意味を持つ。それを解きほぐす術を見つけた。

一つのニューロンは十二の意味を持つ。それを解きほぐす術を見つけた。

学習済みモデルは何千もの考えをすべての信号に折り畳む。だから一つのニューロンを覗いても、ほとんど何も分からない。プリズムのように:白い光はとりとめなく見えるが、分ければ純色の帯が広がる。私たちはモデルの心のためのプリズムを作り、その概念を澄んだ色ひとつずつ読み取った。
なぜニューロンを読まない?それは何にでも反応するからだ。

なぜニューロンを読まない?それは何にでも反応するからだ。

考えはニューロンよりはるかに多いので、どの細胞も掛け持ちをする。一つが詩に、Pythonに、青緑色に反応する。火災報知器のように:焦げたトースト、熱いシャワー、本物の火事にも、同じ甲高い音が鳴る。信号は何かが起きたと叫ぶが、何がかは決して言わない。だからニューロンを読んでも、名づけられるものは何も分からない。
対策は、モデルの幅より長い辞書だ。

対策は、モデルの幅より長い辞書だ。

xbdec+i=1Mfidi,Mdx \approx b_{dec} + \sum_{i=1}^{M} f_i\, d_i, \qquad M \gg d
ニューロンを読むのはやめよう。代わりに、概念の方向を集めた長い辞書を学ぶ。ニューロンよりずっと多い項目を持ち、各信号をそのうち数個の短い和として組み直す。金物店の引き出しの壁のように:何千もの小さな引き出しがあり、一つに一種類の部品だけ。だから何も共有しない。平たく言えば、信号は基準値に、ほんの一握りの辞書の方向を点けたものを足したもので、辞書 M はニューロン数 d をはるかに上回る。
一度にほんの数個だけ点ける——それが概念を澄ませる。

一度にほんの数個だけ点ける——それが概念を澄ませる。

f=ReLU(Wencx+benc),f0Mf = \mathrm{ReLU}(W_{enc}\, x + b_{enc}), \qquad \lVert f \rVert_0 \ll M
詰め込みすぎた辞書では、まだにじむ。その治療がスパース性だ。どの瞬間も、点けられる項目はほんの一握り。共有する余地を奪われ、各項目は専門化を強いられ、名づけられる一つの事を表すようになる。パイプオルガンのように:何百本もの管があるが、どの和音も鳴るのは数本だけ。鳴る一本一本は澄んだ一つの音だ。平たく言えば、コードはほぼすべての項目をゼロに保つので、点く数個がそれぞれ単一の概念を担う。
せめぎ合う二つの掟——組み直せ、ただし安く。

せめぎ合う二つの掟——組み直せ、ただし安く。

L=xx^22+λf1\mathcal{L} = \lVert x - \hat{x} \rVert_2^2 + \lambda \lVert f \rVert_1
どう学習させるか。信号をそのスパースなコードに圧縮し、辞書から組み直し、二つのことで同時に採点する。最少の材料に削ぎ落としたレシピのように:味を丸ごと再現せよ、ただし加える品ごとに代金を払う。だから本当に味を変えるものだけが生き残る。第一項は忠実に組み直せと言い、第二項は点いたままの項目ごとに料金 λ を取る。そのせめぎ合いが、ぼやけから澄んだ概念を彫り出す。
概念は本物か?一つ上げて確かめよ。

概念は本物か?一つ上げて確かめよ。

特徴から読み取った名は、偶然かもしれない。だから試す。一つの項目を全開に固定し、モデルがどう動くか見る。「海にまつわるすべて」の特徴を押し上げれば、どの文も海へと流れていく。澄んだ水に落ちる一滴の染料のように:一滴で、まさにその色がグラス全体に咲き広がる。特徴はただのラベルではない——引ける取っ手だ。
部品に名をつければ、機械の配線が見えてくる。

部品に名をつければ、機械の配線が見えてくる。

さて本当の宝だ。各層で特徴に名がつくと、どれがどれを養うかが見える。この概念があの概念を点け、層また層と続く。本物の思考の配線を描いた、小さく読める図が現れる。時計の分解図のように:歯車が一つずつあらわになり、次と噛み合い、機構がついに読める。部品を述べるのをやめ、機械を読み始める。
その概念を読んだ。だが、それは誰の概念か?

その概念を読んだ。だが、それは誰の概念か?

辞書の大きさも、どれだけスパースにするかも、私たちが選んだ。特徴の名も、私たち自身が読み取った。そしてどの信号にも、どの澄んだ項目にも収まらない部分が残る——プリズムが分けられない残滓だ。では私たちは心そのものの概念を見つけたのか、それともそっとこちらの概念を手渡したのか。🌱 扉は開いている。それでも部屋の全体は見えない。
タップ →↑スワイプで詳しく↓スワイプで終了