Dance with Agents

そもそも、ニューラルネットワークって何?

『ブームは、これで三度目』『LLMの「層」とは何か』『LLMがGPUを必要とする理由』——この連載のあちこちで、「ニューラルネットワーク」(略して「ニューラルネット」)という言葉を、説明なしに使ってきました。知っている前提で素通りしていた言葉を、ここで拾い直します。

名前は「神経」、中身はただの計算

日本語にすると「神経回路網」。名前の由来は、脳の中で神経細胞(ニューロン)が繋がり合って働く様子です。1940年代、脳のニューロンの働きを単純な数式に置き換えられないか、という発想から生まれました。

ただし、脳を精密に再現しているわけではありません。「ニューラル」という、神経を指す名前は残っていますが、中身は掛け算と足し算です。 この記事で見ていくのは、その「ただの計算」のほうです。

いちばん小さい部品:「1つのニューロン」

ニューラルネットワークは、ニューロンと呼ばれる小さな部品を、大量に組み合わせてできています。まず1つのニューロンが何をしているかを見てみます。

たとえば、「傘を持って出かけるか」を判定するニューロンを考えます。手がかりが3つあるとします。

手がかり スコア 重み
降水確率 8 ×0.6
空の暗さ 6 ×0.3
風の強さ 2 ×0.1

やることは3つだけです。

  1. それぞれのスコアに、重みを掛ける(8×0.6=4.8、6×0.3=1.8、2×0.1=0.2)
  2. 全部を足す(4.8+1.8+0.2=6.8)
  3. しきい値(たとえば5)と比べる。超えていれば「傘を持つ」、超えていなければ「持たない」

6.8は5を超えているので、「傘を持つ」という判定です。掛けて、足して、しきい値と比べる。 ニューロン1個がやっているのは、これだけです。この「重み」は、『言葉が数字になるまで』で「つまみ」と呼んだものと、同じ部品です。

1人の判定では心もとない:並べて「層」にする

このニューロン、判定できるのは1種類のパターンだけです。降水確率・空の暗さ・風の強さを、この重みの配合でしか見られません。

そこで、同じ3つの数字を、重みの配合を変えた別のニューロンにも見せます。 たとえば「今日は車で出かけるべきか」を判定するニューロンは、同じ3つの数字を材料にしても、重みの付け方はまったく違うはずです。

こうして、同じ入力を、複数のニューロンに同時に見せるというグループができます。これが層です。1人の判定官ではなく、何人もの判定官が同じ材料を見て、それぞれ違う結論を下す——それが1つの層の中身です。

(『LLMの「層」とは何か』で見たTransformerの層は、これに「みんなに聞いて回る」という工程を足した、もっと手の込んだ発展形です。まずはここでの、いちばん単純な形を押さえておいてください。)

層を重ねる:だから「ネットワーク」

ここからが本題です。1つの層の出力を、そのまま次の層の入力にします。

  • 1層目:降水確率・空の暗さ・風の強さから、「傘の要不要」「車の要不要」など、複数の判定を下す
  • 2層目:1層目が下した複数の判定そのものを材料にして、さらに別の判定を下す(たとえば「家を出るのを10分早めるべきか」)

生の数字ではなく、前の層がすでに一段階まとめた判定を材料にできるので、より込み入った判断が可能になります。この「層と層が、出力と入力で繋がり合っている」配線そのものが、ネットワーク(網)と呼ばれる理由です。

層を重ねるのは、思いつきではなく必然でした。層が1つだけのネットワーク(パーセプトロン)には、解けない問題があることが1969年に示され、層を重ねればいいという発想自体はあったものの、多層のネットワークをうまく訓練する方法が確立されておらず、実用化までは1986年までかかりました。1969年から1986年、17年の空白です。この経緯は『ブームは、これで三度目』に詳しく書きました。

重みは、最初はでたらめな数字

ここまでの説明では、重み(0.6や0.3)を都合よく決め打ちしていました。ですが実際のネットワークは、最初はでたらめな数字から始まります。 学習が始まる前のニューラルネットワークに何か判定させても、まともな答えは返ってきません。

まともな重みに近づけていく作業が学習です。「こう判定してほしい」という正解と、実際の出力のズレを測り、ズレが減る方向に、大量の重みを少しずつ動かす——これを何十億回も繰り返します。この「動かし方」を具体的に見たのが、『言葉が数字になるまで』の「外した分だけ、つまみを回す」の節です。

LLMも、この仲間の1つ

ニューラルネットワークは、LLMのために作られた仕組みではありません。画像を見分けるものも、音声を聞き分けるものも、同じ「ニューロンを層にして重ねる」という枠組みの上に建っています。 『LLMがGPUを必要とする理由』で触れたAlexNet(2012年、画像認識)も、ニューラルネットワークの一種です。

LLMは、この枠組みの上にTransformerという特定の設計(Attentionという「みんなに聞いて回る」工程を持つ)を組み合わせ、「次に来る言葉を当てる」ことに特化させたものです。LLMが実際に何をしているかは、『そもそもLLMって何?』にまとめてあります。

まとめ

  • ニューロン1個がやっているのは、掛けて、足して、しきい値と比べるだけ
  • 同じ入力を複数のニューロンに見せたものが層、層の出力を次の層の入力に繋いだものがネットワーク
  • 重みは最初でたらめな数字で、学習によって少しずつ動かされ、まともな値に近づいていく
  • LLMも画像認識も、同じ「ニューロンを層にして重ねる」枠組みの上に建つ、それぞれ特化した設計

次は、この枠組みの上に建つLLMが実際に何をしているかを見る『そもそもLLMって何?』へどうぞ。

LLMの仕組みの記事

LLMの仕組みのページへ →