本記事は、連載「AIの原理」(全11回)の第1回です。
「ニューラルネットワーク」という言葉は、いまや生成AIの説明の中で当たり前のように使われます。けれども、その中身が実際にどうなっているのか、あらためて聞かれると、答えに詰まる方も多いのではないでしょうか。
連載「AIの歴史」では、チューリングからChatGPTまで、AIが現在の姿にたどり着くまでの道のりを追いました。ここから始まる連載「AIの原理」では、視点を変えます。出来事の時系列としてではなく、いま動いている仕組みそのものとして、AIを捉え直します。
この先、さまざまな人物を取り上げる際にも、LLM、Transformer、スケーリング則といった言葉が繰り返し登場します。その一番の土台になるのが、今回取り上げる「ニューロン」と「ニューラルネットワーク」です。数式は使わず、イメージで捉えることを目指します。
ニューロンとは何か
ニューラルネットワークを構成する最小の部品は、「ニューロン」と呼ばれます。「神経細胞」を意味するこの言葉から、複雑で高度なものを想像するかもしれません。しかし、一つのニューロンがしていることは、拍子抜けするほど単純です。
ニューロンを、小さな「判断係」だと考えてみてください。この判断係は、いくつかの情報(入力)を受け取ります。ただし、すべての情報を同じ重さで扱うわけではありません。それぞれの情報について「これはどれくらい重視すべきか」という度合いを表す「重み」をあらかじめ持っていて、情報の値に、その重みをかけ合わせてから、全部を合計します。そして、合計した値が十分に大きければ「反応する」、小さければ「反応しない」という具合に、一つの出力を返します。
これだけです。複数の証拠を、それぞれの重みに応じて足し合わせ、合計が一定の水準を超えたかどうかで、次に渡す信号の強さを決める。ニューロン一つの働きは、いわば小さな多数決係のようなものです。
なお、実際にオンかオフかをきっぱり切り替えるわけではありません。多くのニューラルネットワークでは、合計が大きくなるほど出力もなめらかに強くなっていく、照明の調光スイッチのような仕組みが使われます。急に切り替わるスイッチよりも、少しずつ変化するつまみの方が、後で触れる「学習」がうまく進みやすいためです。
ここで一つ、正確にお伝えしておきたいことがあります。この「ニューロン」は、脳の神経細胞にゆるやかに着想を得てはいますが、実際の神経細胞を忠実に再現したものではありません。本物の神経細胞は、電気的にも化学的にもはるかに複雑な振る舞いをします。人工的なニューロンは、その複雑さを大胆に単純化し、「複数の入力を重み付けして合計し、一つの出力を返す」という、計算しやすい形だけを取り出したものだと考えてください。
ニューロンモデルの起源
この「ニューロンを模したモデル」という発想の起点は、人工知能という言葉が生まれるより前、1943年にまで遡ります。神経生理学者ウォーレン・マカロックと論理学者ウォルター・ピッツが、神経細胞の興奮を単純化したモデルとして最初に描き出しました。ただしこの最初のモデルは、あらかじめ決められた配線に従うだけで、自ら学習する仕組みは持っていませんでした。
1958年、心理学者フランク・ローゼンブラットが発表した「パーセプトロン」で、ここに初めて学習規則が持ち込まれます。この経緯の詳細は、連載「AIの歴史」第3回・第4回で扱っていますので、関心のある方はあわせてご覧ください。この記事では、その経緯を追うのではなく、結果として現在使われている仕組みそのものを見ていきます。
ニューラルネットワークの構造
判断係が一人だけでは、大したことはできません。力を発揮するのは、この判断係を大勢集めて、何層にも重ねたときです。
まず、生のデータを受け取る「入力層」があります。たとえば画像を扱うなら、写っているすべての点の明るさや色が、そのままここに入ります。その次に、いくつかの「隠れ層」が続きます。ここが、ニューラルネットワークの中心的な働きをする部分です。そして最後に、最終的な答えを返す「出力層」があります。
隠れ層で何が起きているかを、イメージで説明してみます。仮に、写真に写っているのが猫かどうかを判定するネットワークだとします。最初の隠れ層にいる判断係たちは、ごく単純なことしか見ていません。「ここに明暗の境目がある」「ここに斜めの線がある」といった、輪郭の断片のようなものです。その次の隠れ層にいる判断係たちは、前の層が見つけた断片を材料として受け取り、それらを組み合わせます。「この曲線とこの曲線が組み合わさって、丸い形になっている」というように、少し複雑な形が見えてきます。さらに次の層では、その丸い形と別のパーツが組み合わさって、「これは耳の形に近い」「これは目の並びに近い」というところまで、判断が積み上がっていきます。そして出力層で、それまでの判断係たちが積み上げてきた材料をすべて受け取り、「猫である可能性が高い」という最終的な答えを一つ返します。
もちろん、これは理解を助けるための単純化した説明です。実際に学習した後の隠れ層が、必ずしも人間にとって分かりやすい「輪郭」「丸み」「耳」というきれいな役割分担をしているとは限りません。しかし、大まかな傾向としては、単純な特徴から複雑な特徴へと、段階を踏んで積み上げていくという性質が、実際に確認されています。
この「層を何段も重ねる」という設計そのものを、「深層学習」と呼びます。層が浅い(少ない)ネットワークでは、ごく単純な判断しかできません。層を深く重ねるほど、より複雑で抽象的なパターンを、段階的に組み立てられるようになります。
万能近似定理とは何か
ここまでの説明だけでは、「そんな単純な足し算とスイッチの組み合わせで、本当に複雑なことができるのか」と疑問に思うかもしれません。
これについては、理論的な裏付けがあります。判断係(ニューロン)の数を十分に用意し、層を適切に重ねれば、原理的には、入力と出力のあいだにある、驚くほど幅広い関係性を表現できることが、数学的に示されています。この結果は「万能近似定理」と呼ばれます。物理学者マイケル・ニールセンが無料公開している教科書『Neural Networks and Deep Learning』は、この事実を、数式をほとんど使わずに、図解を中心に説明した章を設けています。
ただし、この理論が保証しているのは、あくまで「原理的に表現できる」ということまでです。どれくらいの層の数、どれくらいの判断係の数を用意すれば、目の前の課題にとって効率よく機能するのかは、別の問題として残ります。
ニューロンの重みはどう決まるのか
今回見てきた「ニューロン」と「層を重ねる」という発想は、この連載「AIの原理」がこれから扱うほとんどの話題の、一番下にある土台です。
ただし、今回の説明には、まだ足りないものがあります。判断係のそれぞれが持っている「重み」を、どうやって適切な値に決めるのか、という話です。最初、重みはでたらめな値から始まります。それが、猫を正しく猫だと判定できるようになるまでには、「学習」と呼ばれる過程が必要です。この学習が具体的にどう進むのかは、連載第2回で、損失関数、勾配降下法、誤差逆伝播という言葉とともに、丁寧に取り上げます。さらに第3回では、学習にもいくつかの型があること、そして「訓練データに強くなること」と「見たことのないデータにも通用すること」は別問題だという点を扱います。
なお、今回取り上げたニューロンや層という発想が、どのように生まれ、どのような壁にぶつかりながら現在の形にたどり着いたかという歴史的な経緯は、連載「AIの歴史」第3回(マカロック=ピッツ)、第4回(パーセプトロン)で、それぞれ詳しく扱っています。
ニューラルネットワーク設計の理論と実践のギャップ
一つのニューロンがしていることは単純で、よく理解されています。層を重ねることで複雑なパターンを表現できるという理論的な裏付けもあります。
しかし、「では、目の前の課題には、何層のネットワークを、どれくらいの規模で用意するのが適切か」という問いには、決まった答えがありません。理論は「十分な規模があれば原理的に表現できる」と教えてくれますが、「どれが最も効率よく、無駄なく学習できる形か」までは教えてくれないためです。実際の設計の多くは、これまでの経験則や、試行錯誤の積み重ねに支えられています。
次回は、ニューラルネットワークの学習を理解する上でキモとなる、損失関数、勾配降下法、誤差逆伝播を解説します。
出典・参考文献
- Nielsen, M. A. (2015). Neural Networks and Deep Learning. Determination Press. Chapter 1: “Using neural nets to recognize handwritten digits.”
(http://neuralnetworksanddeeplearning.com/chap1.html) - Nielsen, M. A. (2015). Neural Networks and Deep Learning. Determination Press. Chapter 4: “A visual proof that neural nets can compute any function.”
(http://neuralnetworksanddeeplearning.com/chap4.html) - Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep Learning. MIT Press. Chapter 6: “Deep Feedforward Networks.”
(https://www.deeplearningbook.org/contents/mlp.html) - McCulloch, W. S., & Pitts, W. (1943). “A Logical Calculus of the Ideas Immanent in Nervous Activity.” Bulletin of Mathematical Biophysics, 5, 115–133.
(https://www.cse.chalmers.se/~coquand/AUTOMATA/mcp.pdf)
