ニューラルネットワークとは?AIが「学習する」仕組みを基礎から解説

ニューラルネットワークとは何か。ニューロン・重み・活性化関数・層という構成要素から、誤差逆伝播と勾配降下による学習の仕組み、パーセプトロンの限界と復活の歴史まで、生成AIの土台にある技術を非専門家向けに図表で解説します。

ニューラルネットワークとは?AIが「学習する」仕組みを基礎から解説

ChatGPTが文章を書き、画像生成AIが絵を描き、自動運転車が歩行者を見分ける——これらまったく違って見える技術には、ひとつの共通の土台があります。ニューラルネットワーク(neural network、神経回路網) です。生成AIブームの主役である大規模言語モデル(LLM)も、その内部はすべて巨大なニューラルネットワークでできています。

クラウド大手のAWSは、ニューラルネットワークを「人間の脳に着想を得た方法で、コンピューターにデータの処理を学ばせる人工知能(AI)の手法」2と定義しています。裏を返せば、ニューラルネットワークの仕組みがわかれば、今日のAIが「なぜ学習できるのか」「なぜときどき間違えるのか」という根っこの部分が見えてきます。

この記事では、ニューラルネットワークとは何かを、構成要素・学習の仕組み・歴史の3つの角度から、数式をほとんど使わずに掘り下げます。AI・機械学習・ディープラーニングの違いを整理した記事の、ちょうど一段深いところにある「心臓部」の解説です。

なぜ「脳に着想を得た」のか

私たちの脳には、ニューロン(神経細胞)と呼ばれる細胞が無数にあります。AWSは「人間の脳の細胞であるニューロンは、複雑で高度に相互接続されたネットワークを形成し、互いに電気信号を送り合うことで人間の情報処理を助けている」2と説明します。1個1個のニューロンは単純で、「他の細胞から信号を受け取り、一定の強さを超えたら次の細胞へ信号を発する」だけの素子です。ところが、それが数百億個つながると、言語や視覚や記憶といった複雑な働きが生まれます。

ニューラルネットワークは、この「単純な素子を大量につなぐと複雑なことができる」という発想を、数式とコンピューターで模したものです。注意したいのは、これはあくまで 着想(インスピレーション)であって、脳の精密なコピーではない という点です。人工のニューロンは生物のニューロンよりはるかに単純化されています。それでも、この単純化されたモデルが、現実のAIを動かす驚くほど強力な仕組みになりました。

構成要素:ノード・重み・活性化関数・層

ニューラルネットワークは、大きく分けて4つの部品からできています。順に見ていきましょう。

ノード(ニューロン)と重み

ネットワークの最小単位が ノード(人工ニューロン)です。1個のノードは、複数の入力を受け取り、それらをまとめて1つの数値を出力します。このとき、入力どうしのつながりの強さを表すのが 重み(weight) です。AWSは「あるノードと別のノードのつながりは、重みと呼ばれる数で表される。一方のノードが他方を興奮させる場合は正の数、抑制する場合は負の数になる」2と説明しています。

重みは、いわばノード間の「信号の通りやすさ」を決めるつまみです。重みが大きい入力は出力に強く影響し、小さい(あるいは負の)入力は影響が弱くなります。後で見るように、ニューラルネットワークが「学習する」とは、この無数の重みを少しずつ調整していくこと に他なりません。

活性化関数

ノードは、入力に重みを掛けて合計しただけでは終わりません。その合計値を 活性化関数(activation function) という変換にかけてから出力します。Wikipediaは活性化関数を「人工ニューラルネットワークにおいて、ノードの活性化関数とは、個々の入力とその重みにもとづいてノードの出力を計算する関数」5と定義しています。生物のニューロンが「一定の強さを超えたら発火する」のに似て、活性化関数は「入力の合計をどう出力に変換するか」を決めます。

ここで決定的に重要なのが、活性化関数が 非線形(カーブを描く変換) であることです。Wikipediaは「活性化関数が非線形なら、わずかなノードでも複雑な問題が解ける」5とし、逆にすべてが線形(直線的)だと「ネットワーク全体が単層モデルと等価になってしまう」5と指摘します。つまり、いくら層を重ねても活性化関数が線形では「深さ」が意味を持たないのです。代表的な活性化関数には、なめらかなS字を描く シグモイド、そして負の入力を0に、正の入力をそのまま通す ReLU(max(0, x)) などがあります5。ReLUは2012年の画像認識モデルAlexNetなどで広く使われ、深いネットワークの学習を実用化する立役者になりました5

層(レイヤー)

ノードは、層(レイヤー) という単位でまとまり、層が積み重なってネットワークになります。役割の違う3種類の層があります。

層の種類役割AWSの説明2
入力層(input layer)外部からデータを受け取る入口「外界の情報は入力層からネットワークに入る。入力ノードはデータを処理・分類し、次の層へ渡す」
隠れ層(hidden layer)受け取った情報を段階的に変換する中間処理「各隠れ層は前の層の出力を分析し、さらに処理して次の層へ渡す。隠れ層は多数持てる」
出力層(output layer)最終的な答えを出す出口「出力層がネットワークによるすべての処理の最終結果を出す」

データは入力層から入り、隠れ層を一段ずつ通り抜けながら変換され、出力層から答えとして出てきます。この「入口から出口へ一方向に信号が流れる計算」を 順伝播(フォワードプロパゲーション) と呼びます。たとえば手書き数字の画像を入れると、入力層が画素の明るさを受け取り、隠れ層が「線」や「曲がり」といった特徴を捉え、出力層が「これは7」という答えを返す、というイメージです。

どうやって「学習」するのか:誤差逆伝播と勾配降下

ここまでが「できあがったネットワークが答えを出す」仕組みです。では、肝心の 学習——正しい重みをどうやって見つけるのか——はどう行われるのでしょうか。これがニューラルネットワークの心臓部であり、3つのステップで説明できます。

ステップ1:答え合わせ(損失の計算)。 学習を始めたばかりのネットワークの重みはデタラメで、出す答えも間違いだらけです。そこで、ネットワークの出した答えと「本来の正解」とのズレの大きさを、損失(loss) という1つの数値で測ります。損失が大きいほど「ひどく間違っている」ことを意味します。学習のゴールは、この損失をできるだけ小さくする重みの組み合わせを見つけることです。

ステップ2:どちらに直せばいいかを求める(勾配の計算)。 無数にある重みを、それぞれ「増やせば損失が減るのか、減らせば減るのか」を知る必要があります。この「損失を最も速く減らせる方向」を数学的に表したものが 勾配(gradient) です。ここで活躍するのが 誤差逆伝播(バックプロパゲーション) です。Wikipediaは誤差逆伝播を「ニューラルネットワークの訓練でパラメータの更新量を計算するために広く使われる、勾配の計算手法」4と定義し、その働きを「1つの入力・出力の例について、ネットワークの重みに対する損失の勾配を効率よく計算する」4と説明します。名前のとおり、出力層で生じた誤差を入力層に向かって 逆向きに たどり、各重みが誤差にどれだけ寄与したかを割り当てていくのが特徴です。

ステップ3:少しだけ直す(勾配降下)。 勾配がわかれば、あとは損失が減る方向へ重みをほんの少しずつ動かします。Wikipediaはこれを「勾配の負の方向へモデルのパラメータを変えること、たとえば確率的勾配降下法による」4と表現します。霧の中で山を下りるとき、足元の最も急な下り坂の方向へ一歩ずつ進むのに似ているため、勾配降下法(gradient descent) と呼ばれます。

この3ステップを、膨大なデータに対して何百万回・何億回と繰り返すうちに、損失がじわじわ下がり、重みが「正しい答えを出せる値」へと収束していきます。これがニューラルネットワークの学習の正体です。

ステップやることキーワード
1出した答えと正解のズレを測る損失(loss)
2各重みを直す向きを求める勾配・誤差逆伝播
3損失が減る向きへ重みを少し動かす勾配降下法

注目すべきは、この仕組みが 特徴を人間が教え込まなくても成立する ことです。1986年の原典論文で、David Rumelhart、Geoffrey Hinton、Ronald Williamsの3人は、誤差逆伝播によって重みを繰り返し調整すると、内部の隠れ層が「タスク領域の重要な特徴を表すようになる」と報告しました1。プログラマーが「7とはこういう形だ」と定義しなくても、ネットワークが大量の例から自分で「7らしさ」を見つけ出すのです。

歴史:パーセプトロンの挫折と復活

ニューラルネットワークは、一直線に発展したわけではありません。期待・幻滅・復活というドラマがありました。

出発点は、1958年に心理学者のFrank Rosenblattが論文で発表した パーセプトロン(perceptron) です3。1960年6月23日に公開実演された「Mark I Perceptron」は、20×20のグリッドに並んだ400個の光電素子で画像を読み取る機械でした3。「機械が経験から学ぶ」という発想は大きな注目を集めました。

ところが、初期のパーセプトロン(単層)には根本的な限界がありました。Wikipediaは「単層パーセプトロンは線形分離可能なパターンしか学習できない」3と説明します。1969年、Marvin MinskyとSeymour Papertの著書『Perceptrons』が、この種のネットワークでは XOR(排他的論理和)という単純な論理すら学習できない ことを示しました3。この指摘は——本来は多層にすれば解けるものでしたが——広く「ニューラルネットワークは限界がある」と受け取られ、研究資金が細る「冬の時代」を招いたとされます3

冬の時代を終わらせたのが、まさに前章で見た 誤差逆伝播 でした。Wikipediaは、Rumelhart・Hinton・Williamsの1986年Nature論文が「誤差逆伝播の普及に貢献し、1980年代のニューラルネットワーク研究への関心の再燃と時期が一致した」4と記しています。1層では解けなかった問題が、隠れ層を持つ多層ネットワークと、それを効率よく訓練できる誤差逆伝播の組み合わせによって解けるようになったのです。

出来事意味
1958Rosenblattがパーセプトロンを発表3「学習する機械」の原型
1969Minsky & Papert『Perceptrons』3単層の限界(XOR)を指摘、冬の時代へ
1986誤差逆伝播の論文(Rumelhartら)14多層ネットワークの学習が実用化、関心が再燃
2010年代〜深層学習(ディープラーニング)の台頭6データとGPUで多層ネットワークが花開く

なぜ「深く」するのか:階層的に特徴を学ぶ

現代のAIで使われるのは、隠れ層を何層も重ねた 深いネットワーク——すなわちディープラーニング(深層学習)です。Wikipediaは深層学習を「分類・回帰・表現学習などのタスクを行うために、多層のニューラルネットワークを活用すること」6と定義し、「深い(deep)」という形容詞は「ネットワークの層の数(3層から数百・数千層まで)」、より正確には「データが変換されて通過する層の数」を指すと説明します6

なぜ層を深くすると賢くなるのか。鍵は 階層的な表現学習 にあります。Wikipediaは「層の階層を使って、入力データを段階的により抽象的で複合的な表現へと変換する」6と述べます。顔認識を例にとれば、浅い層は「明暗の境目(エッジ)」を、中間の層は「目」や「鼻」といった部品を、深い層は「顔全体」を捉える——というように、層を上がるごとに認識の抽象度が上がっていくイメージです。しかも「特徴は人間が手作業で設計するのではなく、モデルがデータから有用な特徴表現を自動的に発見する」6点が、従来の手法と決定的に違います。

理論的な裏付けもあります。非線形の活性化関数を持つネットワークは「普遍近似定理」によって解釈され、Wikipediaは2層のネットワークでも「普遍的な関数近似器であることが証明できる」5としています。十分な大きさを与えれば、ニューラルネットワークは原理上どんなに複雑な入力と出力の対応関係でも近似できる、という強力な性質です。これが「画像でも音声でも言語でも、同じ仕組みで扱える」汎用性の源泉になっています。

現代AIとのつながり:すべてはニューラルネットワークの上にある

今日の代表的なAIは、ニューラルネットワークの応用形だと整理できます。テキストを扱うTransformer、それを土台にしたLLM、画像を生む拡散モデル——いずれも内部は層の積み重なったニューラルネットワークであり、学習の原理はここで見た「損失を測り、誤差逆伝播で勾配を求め、勾配降下で重みを直す」の繰り返しです。

モデル名につく「7B」「70B」といったパラメータ数は、まさにこの記事で繰り返し登場した 重みの個数 のことです。パラメータが多いほど、ネットワークはより複雑な対応関係を表現できますが、その分だけ学習と動作に膨大な計算が要ります。また、事前学習を終えたネットワークの重みを、特定用途向けに追加で調整するのがファインチューニングであり、人間の好みに沿うよう調整するRLHFです。いずれも「重みを調整する」というニューラルネットワークの大原則の上に成り立っています。

限界:強力だが万能ではない

最後に、限界にも触れておきます。ニューラルネットワークが強力なのは大量のデータと計算があってこそで、学習データに偏りがあれば、その偏りごと学んでしまいます。また、内部で何が起きて結論に至ったのかを人間が説明しづらい「ブラックボックス性」も、医療や金融など説明責任が問われる分野では課題になります。もっともらしい誤りを自信たっぷりに出すハルシネーションも、根は「正解との損失を最小化するよう学んだだけで、真偽そのものを理解しているわけではない」というこの仕組みに由来します。

それでも、「単純なノードを大量につなぎ、誤差を逆向きに伝えて重みを少しずつ直す」という素朴な発想が、半世紀の浮き沈みを経て今日のAI革命の土台になったことは確かです。ニューラルネットワークの上に何が積み上がっているのかをさらに知りたい方は、言語AIの中核であるTransformerや、モデルの大きさを表すパラメータ数の記事へ読み進めると、「AIが学習する」という言葉の中身が立体的に見えてきます。

Sources

  1. Learning representations by back-propagating errors - Rumelhart, Hinton & Williams、Nature 323:533-536(1986年)。誤差逆伝播の原典
  2. What is a Neural Network? - Amazon Web Services(AWS)によるニューラルネットワーク解説
  3. Perceptron - Wikipedia(パーセプトロンの歴史とXOR問題)
  4. Backpropagation - Wikipedia(誤差逆伝播の定義と歴史)
  5. Activation function - Wikipedia(活性化関数と普遍近似)
  6. Deep learning - Wikipedia(深層学習と表現学習)

最新のAIニュースを毎日お届けしています。

RSSで購読する 更新をいち早くチェックできます。

他のキーワードで探す →