ニューラルネットワークの「重み付き和」に内積を使う理由をやさしく解説!
こんにちは。ゆうせいです。
今回は「ニューラルネットワークの重み付き和に、なぜ“内積”を使うのか?」というテーマでお話ししていきます。
ちょっと難しそうに聞こえるかもしれませんが、大丈夫! 高校生でも理解できるように噛み砕いて解説していきます。
ニューラルネットワークってなに?
まずは軽くおさらいです。
ニューラルネットワーク(Neural Network)は、脳の神経細胞(ニューロン)を真似た仕組みで、入力を受け取って、処理して、出力する構造を持っています。
たとえば、手書きの「3」と「8」を見分けるAIがあったとします。画像のピクセル情報(明るさや色)を入力として受け取り、それをもとに「これは3だ!」とか「これは8っぽいな」と判断してくれるわけです。
では、この「判断」の部分、つまり「入力からどうやって答えを出すのか?」の仕組みを見ていきましょう。
「重み付き和」ってなに?
入力には「重み(weight)」という数字がかけられます。この重みは、「どの入力がどれくらい重要か?」を表しているんです。
たとえば次のような感じ。
- 入力1(x₁):0.8(強い信号)
- 入力2(x₂):0.2(弱い信号)
- 重み1(w₁):2.0(強調する)
- 重み2(w₂):0.5(あまり重視しない)
このとき、それぞれの入力に重みをかけたあとに、全部足すという操作をします。
この操作を「重み付き和」と呼びます。
いよいよ本題:「内積」ってなに?
内積(dot product)は、2つのベクトルをかけ合わせる数学の操作です。
ベクトルとは、複数の数を並べたものです。たとえば以下のように:
- 入力ベクトル:x = [x₁, x₂, ..., xₙ]
- 重みベクトル:w = [w₁, w₂, ..., wₙ]
この2つのベクトルの内積は、次の式で表せます。
x・w = x₁×w₁ + x₂×w₂ + ... + xₙ×wₙ
(エックス・ドット・ダブリューは、エックス1かけるダブリュー1 たす エックス2かけるダブリュー2 …)
これ、実は「重み付き和」そのものなんです!
なぜ「内積」を使うの?
ここが今日の核心です!
理由1:計算がコンパクトに書ける!
さっきの重み付き和の式、
x₁×w₁ + x₂×w₂ + ... + xₙ×wₙ
は長くて面倒ですが、内積を使えば
x・w
で済んでしまいます!
プログラムでも数式でもスッキリして、エラーも減ります。
たとえば、お小遣い帳で「りんご×値段+バナナ×値段+…」を毎回書くより、「合計金額 = 値段ベクトルと個数ベクトルの内積」とまとめられた方が楽ですよね!
理由2:行列計算と相性がいい
ニューラルネットワークでは、大量の入力や重みを扱います。人間が一つずつ計算するのは不可能です。
そこで登場するのが行列(matrix)という、数字を表にしたような構造です。
ベクトル同士の内積は、行列計算の基本操作なので、GPUやCPUで効率よく処理できます。
これにより、画像の分類や音声認識のような、大量のデータを高速に扱えるわけです。
理由3:幾何学的な意味もある!
内積には「2つのベクトルの方向が似ているかどうか」を測る意味もあります。
簡単に言うと:
- 同じ方向を向いている → 内積は大きくなる
- 正反対 → 内積はマイナス
- 直角(関係なし)→ 内積はゼロ
つまり、入力が重みと似たような方向にあれば、そのニューロンは「強く反応する」という仕組みにもなっています。
これは、直感的に「この入力はこのニューロンにとって重要だな」と判断しているような感じですね。
まとめると
重み付き和 = 内積、という関係があります。
内積を使うことで:
- 数学的にスッキリ
- 計算が高速・効率的
- 意味のある「反応」が表現できる
といったメリットがあるんですね。
逆に内積を使わないとどうなる?
たとえば、「重みをかけて足す」という操作を一つずつ手作業で書くことになります。これは
- プログラムが長くなる
- 拡張が難しい(1000個の入力があったら地獄)
- 行列計算が使えないので、処理速度が落ちる
というデメリットばかり。
だからこそ、「内積」という便利な道具が選ばれているんです。
今後の学習のヒント
今回の内容をマスターできたら、次のステップとして以下のテーマにチャレンジしてみましょう!
- 活性化関数(シグモイド、ReLUなど)ってなに?
- バイアス項の役割とは?
- ベクトルや行列の性質をさらに深掘り
- 勾配降下法と誤差逆伝播法(学習の仕組み)
「なぜそうなるのか?」と問い続けることが、理解を深める一番の近道です!
それでは次回もお楽しみに!
質問や気になる用語があったら、気軽に教えてくださいね。
セイ・コンサルティング・グループの新人エンジニア研修のメニューへのリンク
投稿者プロフィール
- 代表取締役
-
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。
最新の投稿
山崎講師2025年10月5日ニューラルネットワークの「重み付き和」に内積を使う理由をやさしく解説!
山崎講師2025年10月5日なぜニューラルネットワークの層と層の間は「内積」でつながっているのか?
山崎講師2025年10月4日スカラーとは何か?名前の由来と「スケール」との意外な関係
山崎講師2025年10月4日運動神経はヘブ則で鍛えられる?脳のルールをスポーツに活かす秘訣