【PR】この記事には楽天アフィリエイト・Amazonアソシエイトの広告リンクが含まれます。商品やサービスは公式の仕様・条件と販売情報を確認して選んでおり、実機テストによる評価ではありません。 Amazonのアソシエイトとして、PROBEFOLIOは適格販売により収入を得ています。
ニューラルネットワークは、たくさんの小さな計算を層のように並べ、例を見ながら自分で計算の重みを直していく、AIの計算の方法です。ChatGPTのような生成AIも、この方法をもとに作られています。
この記事では、2026年9月25日に確認したGoogleの機械学習の教材などをもとに、迷惑メールの判定を例にして、数式を使わずに基本を説明します。
この記事の目次
結論:小さな点数の計算を層に並べ、例から重みを直して学ぶ方法
ニューラルネットワークは、「入力に重みを掛けて足し、点数を出す」という小さな計算を、たくさん並べて重ねたものです。1つひとつの計算はとても単純です。
Googleの機械学習の教材は、ニューラルネットワークを「データの中の非線形なパターンを見つけるために作られたモデルの一群」と説明しています。直線1本では分けられない、複雑な関係を見つけられるのが強みです。
主な部品と役割は、表「ニューラルネットワークの部品」のとおりです。この記事の例に合わせたたとえも並べました。
| 部品 | 役割 | 迷惑メールの例でのたとえ |
|---|---|---|
| 入力 | 判断の材料になる数字 | 送り主を知らない(1か0)、「当選」の語がある(1か0) |
| 重み | 材料ごとの大事さ | 「当選」は4点、添付ファイルは1点 |
| バイアス | 全体の基準の高さ | 合計から5点を引いて基準にする |
| 活性化関数 | 出す前に形を整える | マイナスの点は0にする |
| 層 | 計算を重ねる段 | 「怪しさ」を段階的にまとめる |
身近なたとえ:迷惑メールに点数を付ける
迷惑メールを見分けるときに、人がしていることを思い出してください。「送り主を知らない」「当選という言葉がある」「知らない添付ファイルがある」といった手がかりに、頭の中で点数を付けています。
手がかりには、大事なものとそうでないものがあります。「当選」という言葉はかなり怪しいけれど、添付ファイルは仕事のメールにもよく付いている、という具合です。
点数の合計がある基準を超えたら「迷惑メール」と判断します。ニューラルネットワークの1個の部品がしている計算は、これとほとんど同じです。
1個のニューロンがする計算を数字で追う
1個のニューロンの計算は、次の3段階です。迷惑メールの例で、数字を入れて追ってみます。
- 入力に重みを掛けて足す:送り主を知らない(1)×3点、「当選」の語がある(1)×4点、添付がない(0)×1点。合計は7点。
- バイアスを足す:基準として5点を引く(バイアスはマイナス5)。7−5で2点。
- 活性化関数で形を整える:ここでは「マイナスなら0、プラスならそのまま」にする。2点はプラスなので、そのまま2。
出てきた数字が0より大きければ迷惑メール、と決めておけば、このメールは迷惑メールと判定されます。表「4通のメールの計算」で、ほかのメールも同じように計算しました。
| メール(知らない送り主・当選・添付) | 重みを掛けた合計−5 | 出力と判定 |
|---|---|---|
| A(1・1・0) | 3+4+0−5=2 | 2 → 迷惑メール |
| B(1・0・1) | 3+0+1−5=−1 | 0 → 普通のメール |
| C(0・0・1) | 0+0+1−5=−4 | 0 → 普通のメール |
| D(0・1・0) | 0+4+0−5=−1 | 0 → 普通のメール |
表計算で1個のニューロンを試す
この計算は、ExcelやGoogleスプレッドシートでそのまま試せます。A〜C列に入力(0か1)を入れ、別のセルに重みとバイアスを置きます。
出力の列には「=MAX(0, A2*$F$1+B2*$G$1+C2*$H$1+$I$1)」のような式を入れます。F1〜H1が3つの重み、I1がバイアスです。MAX(0, …)が、マイナスを0にする活性化関数の役割をします。
重みやバイアスの数字を変えると、判定がどう変わるかをすぐに確かめられます。数字をいじって判定が変わる様子を見ることが、ニューラルネットワークを体でつかむ一番の近道です。
学習とは:間違いから重みを少しずつ直すこと
表「4通のメールの計算」で、もしメールBが本当は迷惑メールだったとします。今の重みでは、Bを見逃しています。
そこで、バイアスを−5から−3に直してみます。するとBは3+0+1−3=1になり、迷惑メールと判定できます。ところが、Dも0+4+0−3=1になり、普通のメールだったなら、今度はDを間違えてしまいます。
このように、1つの間違いを直すと別の間違いが生まれることがあります。そのため、実際の学習では、たくさんの例を見ながら、全体のずれが小さくなるように重みを少しずつ直していきます。流れは、図「学習の繰り返し」のとおりです。
学習の繰り返し
- 予測する
今の重みで、たくさんの例を計算して答えを出す
- ずれを測る
予測と正解がどれだけ違うかを、1つの数字(損失)にする
- 直す向きを決める
どの重みをどちらに動かせばずれが減るかを計算する
- 少しだけ直す
重みを少しだけ動かし、また予測に戻る
一度に大きく直さないのがポイントです。大きく動かすと、別の例の答えが大きく崩れることがあります。
Googleの教材も、損失を減らす向きに重みを「少しだけ」動かし、それ以上減らなくなるまで繰り返すと説明しています。
重みを見ると、何を大事にしているかが分かる
迷惑メールの例では、「当選」の重みが4点で一番大きく、添付ファイルは1点でした。重みの大きさを見れば、このニューロンが何を大事な手がかりにしているかが分かります。
学習の前は、重みは適当な小さな数字から始まります。たくさんの例を見るうちに、迷惑メールによく出る手がかりの重みが大きくなり、あまり関係のない手がかりの重みは小さくなっていきます。
ただし、層が深く、ニューロンが何万個もある大きなネットワークでは、1つの重みの意味を人が読み取るのは難しくなります。これが、ニューラルネットワークの判断の理由を説明しにくいと言われる理由の1つです。
ずれの大きさを1つの数字にする:損失
学習では、予測と正解のずれを、損失(ロス)という1つの数字にまとめます。損失が小さいほど、予測が正解に近いという意味です。
迷惑メールの例なら、迷惑メールなのに普通と判定したら大きな損失、正しく判定したら小さな損失、というように数えます。たくさんのメールの損失を合わせたものが、学習で小さくしたい目標になります。
学習の目的は、この損失ができるだけ小さくなる重みとバイアスを見つけることだ、と言いかえられます。
直す向きの決め方:勾配降下法
重みをどちらに動かせば損失が減るかは、損失の「傾き」を計算して決めます。坂道で、下る向きを足元の傾きで確かめるのと同じです。
この方法を勾配降下法と呼びます。傾きの向きに少しずつ進み、損失の谷底に近づいていきます。一度に進む幅(学習率)が大きすぎても小さすぎても、うまく学べません。
数字で追う例は、勾配降下法をわかりやすくで説明しています。
層を重ねる:入力層・隠れ層・出力層
1個のニューロンでできる判断には限りがあります。そこで、ニューロンを何個も横に並べて1つの層にし、その層を何段も重ねます。
最初の層が入力を受け取り(入力層)、途中の層(隠れ層)が特徴を少しずつまとめ、最後の層(出力層)が答えを出します。迷惑メールなら、隠れ層が「怪しい言葉の多さ」「送り主の怪しさ」のような中間の特徴を作るイメージです。
隠れ層の中間の特徴は、人が決めるのではなく、学習の中で自動的に作られます。Googleの教材も、学習の中でモデルが入力の組み合わせ方を自動で学ぶと説明しています。
なぜ層を重ねると賢くなるのか:活性化関数の役目
層を重ねるだけでは、実は賢くなりません。Googleの教材は、「線形の計算に線形の計算を重ねても、線形のまま」と説明しています。掛けて足すだけの計算は、何段重ねても1段の計算にまとめられてしまいます。
そこで、各ニューロンの最後に、マイナスを0にするような「曲げる」計算(活性化関数)を入れます。これで、層を重ねるほど複雑な境目を作れるようになります。
よく使われるのは、マイナスを0にするReLUです。詳しくは、活性化関数はなぜ必要かで数字を使って説明しています。
層が多いときの直し方:誤差逆伝播法
層が何段もあると、どの層のどの重みが間違いの原因かを見つけるのが大変になります。そこで使われるのが、誤差逆伝播法(バックプロパゲーション)です。
Googleの教材は、誤差逆伝播法を「ニューラルネットワークで最も一般的な学習の方法」とし、層の多いネットワークで勾配降下法を使えるようにするものだと説明しています。出口の間違いから、入口に向かって順に「責任」を分けていくイメージです。
数字で追う例は、誤差逆伝播法をわかりやすくで説明しています。
なぜ大量のデータが必要なのか
学習の節で見たように、1つの例に合わせて重みを直すと、別の例を間違えることがあります。たくさんの例を見るほど、全体としてうまくいく重みに近づきます。
一方で、手元の例に合わせすぎると、新しいデータで間違える「過学習」が起きます。学習に使っていないデータで確かめることが大切です。
過学習の見つけ方と対策は、過学習の対策で説明しています。
ディープラーニングとの関係
ディープラーニング(深層学習)は、隠れ層をたくさん重ねた、深いニューラルネットワークで学ぶ方法です。「ディープ」は、層が深いという意味です。
層を深くすると、画像なら「線→形→物」、文章なら「文字→言葉→意味のまとまり」のように、段階的に複雑な特徴を作れるようになります。その分、学習にたくさんのデータと計算が必要になります。
ChatGPTなどのLLMとのつながり
ChatGPTのもとになっている大規模言語モデル(LLM)も、ニューラルネットワークの一種です。
技術評論社の『大規模言語モデル入門』は、大規模言語モデルを「大規模なテキストデータで訓練された大規模なパラメータで構成されるニューラルネットワーク」と説明しています。
ここでいうパラメータは、この記事の重みとバイアスのことです。迷惑メールの例では4個でしたが、大規模言語モデルでは数十億から数千億個にもなります。
文章の次に来る言葉を予測し、ずれを測って重みを直す、という学び方の基本は、この記事の例と同じです。パラメータの数については、AIのパラメータ数とはで説明しています。
身の回りでの使われ方
ニューラルネットワークは、すでに身の回りのたくさんの場面で使われています。入力と出力を置きかえれば、この記事の例と同じ考え方で見られます。
- 写真の分類:入力は画像の色の数字、出力は「猫」「犬」などの答え。
- 音声の文字起こし:入力は音の波の数字、出力は文字。
- 翻訳や文章の生成:入力は文章をトークンに分けた数字、出力は次に来る言葉。
どれも、たくさんの例から重みを学び、新しい入力に答えを出すという点は共通しています。
初めて学ぶ人がつまずきやすい3つの点
- 層は多いほど良い、と考える:層を増やすと複雑な関係を学べる一方、データが少ないと過学習しやすく、学習にも時間がかかる。
- 学習=暗記、と考える:目指すのは、見たことのない新しいデータでも正しく答えること。例を丸ごと覚えることではない。
- 一度学べば終わり、と考える:データの傾向が変われば、同じ重みでは間違えやすくなる。迷惑メールの手口が変われば、学び直しが必要になる。
この3つを意識しておくと、ニュースや解説で出てくる「モデルの大きさ」「学習データ」「再学習」といった言葉の意味もつかみやすくなります。
脳の神経細胞とは同じではない
「ニューラル」は神経という意味で、脳の神経細胞のつながりにヒントを得た名前です。ただ、今のニューラルネットワークは、脳のしくみをそのまま再現したものではありません。
脳の神経細胞は、化学物質や電気の信号で複雑にやり取りしています。ニューラルネットワークのニューロンは、掛けて足して形を整えるだけの計算です。「脳をまねた計算の方法」くらいに考えておくと、誤解が少なくなります。
次に学ぶ順番
ニューラルネットワークの全体像がつかめたら、次の順に学ぶと理解がつながります。
- 活性化関数:なぜ「曲げる」計算が必要かを数字で確かめる。
- 勾配降下法:重みを直す向きと幅の決め方を知る。
- 誤差逆伝播法:層が多いときに、直す向きを効率よく計算する方法を知る。
- 過学習:学習がうまくいったかを、新しいデータで確かめる方法を知る。
手を動かして確かめたい人は、Pythonで小さなニューラルネットワークを一から作る入門書を1冊使うと、この記事の計算がそのままつながります。
よくある疑問を、ここで。
使い始める前に、気になるところから。
ニューラルネットワークを一言でいうと?
入力に重みを掛けて足し、形を整えて出す小さな計算を層に並べ、例を見ながら重みを自動で直していく計算の方法です。直線では分けられない複雑な関係を見つけるのが得意です。
数学が苦手でも理解できますか?
基本の考え方は、掛け算と足し算で理解できます。この記事の例を表計算で試すと、数式を読まなくても動きがつかめます。詳しく学ぶときは、微分(傾き)と行列の計算が出てきます。
ディープラーニングとの違いは?
ディープラーニングは、隠れ層をたくさん重ねた深いニューラルネットワークで学ぶ方法です。ニューラルネットワークの一部で、層を深くして段階的に複雑な特徴を学ばせます。
ChatGPTもニューラルネットワークですか?
はい。ChatGPTのもとになる大規模言語モデルは、大量の文章で学んだ、とても大きなニューラルネットワークです。パラメータ(重みとバイアス)の数は数十億から数千億個にもなります。
この記事を共有する
商品情報の提供:Supported by Rakuten Developers
出典と、この記事について
公式資料や、記事で参照した発表・報道をまとめています。仕様や料金は、利用する前に最新の案内をご確認ください。
- Google Machine Learning Crash Course:Neural networks(新しいタブで開きます)
- Google Machine Learning Crash Course:Activation functions(新しいタブで開きます)
- Google Machine Learning Crash Course:Training using backpropagation(新しいタブで開きます)
- Google Machine Learning Crash Course:Gradient descent(新しいタブで開きます)
- 技術評論社:大規模言語モデル入門(概要)(新しいタブで開きます)
確認した内容と条件は本文に記載しています。結果や使い勝手は、資料や環境によって異なります。編集方針を読む




ぜひコメントください