電話番号を覚えているあの数秒
誰かが読み上げる電話番号を書き取る紙を探すあいだ、あなたはその番号を心の中で繰り返す。書き終えると数秒で消えてしまう。
その数秒のあいだ番号はどこにあったのか。長期記憶ではない。すぐ消えたのだから。かといってどこにもなかったわけでもない。繰り返しているあいだは確かにつかんでいた。そして繰り返すのをやめた瞬間に消える。
心理学がこの場所に付けた名前が作業記憶である。この概念はのちにAIの構造へそのまま渡っていく。今回はその移動の経路をたどる。
1974年、記憶を部品に分ける
それまで短期記憶は一つの貯蔵庫と見なされていた。情報がしばらくとどまる部屋が一つあり、そこに入る量が決まっているという絵だ。
アラン・バドリーとグラハム・ヒッチは1974年に別の絵を出した。短期記憶は部屋一つではなく、役割の異なる部品の組み合わせだというのである。
音韻ループは話し声を心の中で繰り返す場所だ。電話番号をつかんでいるのがここである。視空間スケッチパッドは形と位置をしばらくつかむ場所で、家具の配置を頭の中に描くとき、見知らぬ建物で方向を思い出すときに使う。中央実行系はこの二つを差配する管理者で、何に注意を向けるか、何を取り出すか、何を捨てるかを決める。
部品の名前を覚える必要はない。覚えるのは一つだけだ。管理者と貯蔵庫が分離している。考える部分と書き留める部分が別にある。この絵が今回の設計図である。
その部品が実在するという証拠

モデルを分けるだけなら誰にでもできる。バドリーらが説得力を得たのは、そう分けなければ説明できない現象を示したからだ。
最も有名なのが単語長効果である。短い単語のリストと長い単語のリストを同じ個数だけ聞かせて覚えさせると、短い単語のほうを多く思い出す。個数は同じなのに結果が違う。音韻ループがつかめる量が項目数ではなく、声に出すのにかかる時間で決まるからだ。おおよそ二秒で発音できる分が限界だという結果が出ている。
さらに決定的な実験がある。覚えているあいだ口で意味のない音を出し続けさせると、単語長効果が消える。口が別の仕事でふさがっているので心の中で繰り返せず、繰り返しがふさがれると長さが関係なくなったのだ。繰り返す通路が実際に存在するという意味である。
ここから出る結論が今回全体を支える。作業記憶の限界は貯蔵の広さではなく維持の費用だ。つかみ続けるには力を使い続けねばならず、その力を別のところに使えば落とす。
作業台は思うよりずっと狭い

その作業台がどれほど狭いかについては有名な数字が一つある。ジョージ・ミラーが1956年に書いた論文の題にあるマジカルナンバー7プラスマイナス2だ。人が一度につかむ項目はおよそ七つだという話として広まった。
ところがこの数字は今そのままでは使われない。その後の研究は、繰り返しやまとめを封じて純粋に測ると限界はそれよりずっと低いと見ており、おおよそ四つのかたまり程度という推定が広く引かれる。ミラー自身も論文でこの数をマジカルと呼んだのは半ば冗談だった。
大事なのは数字ではなく単位である。限界は情報量ではなくかたまりの数だ。電話番号は数字が十一個だが、私たちは三つのかたまりでつかむ。こうしてまとめて一枠に入れることをチャンキングという。不慣れな分野の話がとりわけ頭に入らない理由がこれだ。知識がなければまとめられず、項目一つ一つが枠を一つずつ占めてしまう。
だから作業記憶を広げる現実的な手は二つしかない。うまくまとめるか、外に書き留めるかだ。人は紙とホワイトボードで後者をやってきた。ニューラルネットも結局は同じ道を行った。
ニューラルネットの持病 — 新しいものを学ぶと古いものが消える
前回見たとおり、ニューラルネットは学んだものを結合の強さに溶かし込む。どこにも項目としては保存されず全体に散らばる。このやり方には厄介な副作用がある。
1989年にマイケル・マクロスキーとニール・コーエンがその副作用をきれいに示した。ニューラルネットに一桁の足し算のうち1を足す問題を教えてよくできるようにし、続けて2を足す問題を教えた。すると今しがた学んだ2足しはできるのに、先に学んだ1足しの成績が崩れた。消せと言われてもいないのに消えたのだ。
理由は構造にある。新しい課題を学ぶときに直す結合が、古い課題が使っていたまさにその結合だからだ。項目ごとに場所が別々ならば上書きは起きないが、全体に散らばっていれば重なる。この現象を破局的忘却という。
人でいえば、新しく会った人の名前を覚えるたびに古い友人の名前が消えるようなものだ。モデルを大きくしても解決しない。容量の問題ではなく保存の仕方の性質だからである。
2014年、ニューラルネットにメモ帳を付ける

アレックス・グレイブスらが2014年に出したニューラル・チューリング・マシンの解法は、バドリーの絵そのものだ。計算するニューラルネットと値を書き留めるメモリを分離した。
構造はこうだ。コントローラと呼ばれるニューラルネットが管理者の役をする。その横に表のような形のメモリが別にあり、コントローラは読み出しヘッドと書き込みヘッドを通じてその表の特定の行に値を書いたり読んだりする。どの行を見るかは二通りで決める。内容で探すか、いま見ていた場所から何マスか動かすかだ。
この設計の要は、どこに書きどこから読むかまでが学習されるという点にある。人が規則を決めてやるのではなく、答えを当てる過程でメモ帳の使い方そのものが一緒に学ばれる。だからこの機械は訓練で見たものより長い数列もそのまま複製してみせた。手順を身につけたのであって事例を覚えたのではないという意味だ。
この論文が認知科学を比喩としてだけ持ってきたのではない証拠は参考文献にある。バドリーとヒッチの1974年の作業記憶、そして中央実行系の概念を直接引用している。ただし図表をそのまま回路に移したのではない。管理者と貯蔵庫を分けるという発想を取ってきて、ニューラルネットとして設計し直したのである。
その系譜はいまどこにあるのか
ニューラル・チューリング・マシン自体はいま使われていない。しかしその発想は、いま私たちが毎日使う道具にそのまま入っている。
対話欄に付くコンテキストウィンドウが最も近い場所だ。モデルの重みはそのままにして、その瞬間の作業台に必要なものだけを載せる構造である。対話を文書として保存しておき関係する箇所だけを探して貼るやり方も同じ発想だ。検索して貼るという意味の名で呼ぶが、していることは外に書き留めたものを必要なときに作業台へ載せることである。
エージェントが作業メモをファイルに書き留めること、プロジェクトの規則を別ファイルに置いて毎回読ませること、対話の履歴を要約して次の対話の冒頭に貼ることも、すべて同じ系列だ。
共通点は一つ。記憶をモデルの中に押し込まず外に書き留める。バドリーが描いた管理者と貯蔵庫の分離が、四十年を越えてそのまま立っている。
用語は一つだけ、作業記憶
作業記憶とは、いましている仕事に必要な情報をしばらくつかんでおいて扱う能力である。
短期記憶としばしば混同されるが、力点が違う。短期記憶はどれだけ長くつかむかを見る。作業記憶はつかんでいるあいだにそれで何をするかを見る。倉庫ではなく作業台だ。
だから作業記憶がよいというのは多く入るという意味ではなく、うまく管理するという意味に近い。何を載せ何をどけるか、いつ外に書きいつ戻すかを決めるほうが実際の出来を分ける。
AIを使うときも同じだ。コンテキストウィンドウが広いことと、そのウィンドウをうまく使うことは別の問題である。
長い対話で実際に起きていること
対話が長くなると答えが悪くなる経験は、たいていの人がしているだろう。最初はよく汲み取っていたモデルが、ある時点から先に決めたことを無視しはじめる。
これには測った根拠がある。長い入力を与え、答えの根拠となる箇所を前のほう、真ん中、後ろのほうにそれぞれ置いて正答率を比べた研究があり、前と後ろにあるときが最もよく見つけ、真ん中にあるときは目に見えて落ちた。ウィンドウの中に入っているからといって等しく使われるわけではないという意味だ。
ここにもう一つ重なる。対話が長くなるほど、序盤の指示はその後の大量の言葉に埋もれる。ウィンドウから押し出される前にすでに埋もれている。人が会議三時間目に冒頭の合意を忘れるのと構造は同じだ。
だから答えが急に悪くなるのをモデルが馬鹿になったと読むと対応を誤る。作業台が散らかったのであり、対応はもっと説明することではなく片づけることである。
では明日から何を変えるか
大事なものは対話に任せずファイルに書く。プロジェクトの規則、用語、禁止事項、口調は、対話の上のほうで一度言って終わりにするのではなくファイルやメモリ機能に入れる。前回の言い方に直せば、結合の強さに任せずメモ帳に書くということだ。
対話が迷いはじめたら新しく開く。ただし何も持たずに開かず、渡すものを用意する。ここまで決めたことを五行にまとめてくれと頼み、その五行を新しい対話の冒頭に貼る。ここが人でいう繰り返しの位置だ。つかみ続けるために力を使わず、書いて渡す。
長い資料を貼るときは、指示を資料の後ろにももう一度書く。資料を貼って問いを上にだけ置くと、その問いが真ん中に埋もれる。同じ指示で前後を挟んでおけば位置の問題をかなり避けられる。
一つの対話には一つの仕事だけをさせる。コードを直していた画面でメールの下書きを頼むと作業台に二種類が混ざり、その次のコードの答えがおかしくなる。人がマルチタスクで損をするのと同じ場所だ。
まとめるとこうだ。作業台は広げるものではなく片づけるものである。そして片づける前に書き留めておく。
