top of page

AIの予測計算、中身を覗いてみた

  • 執筆者の写真: Yuka Kudo
    Yuka Kudo
  • 16 時間前
  • 読了時間: 4分


「AIが予測を出す」とは、具体的にどのような計算なのでしょうか。

本記事では、ニューラルネットワークの基本的な構造から、順伝播・活性化関数・目的関数まで、数式レベルで解説します。





ニューラルネットワークとは


ニューラルネットワークとは、脳の神経細胞(ニューロン)のつながりをモデル化した機械学習のアルゴリズムです。複数の入力値を受け取り、重み付きの演算を繰り返すことで予測値を出力します。


ネットワークは大きく3種類の層(レイヤー)で構成されています。


  • 入力層(Input Layer):データを受け取る入口

  • 中間層 / 隠れ層(Hidden Layer):特徴を抽出する処理段

  • 出力層(Output Layer):最終的な予測値を出す出口


中間層を2層以上重ねたネットワークが「ディープラーニング」と呼ばれます。各層のノード同士は「重み(weight)」と呼ばれる係数を持つ接続(エッジ)でつながっています。







順伝播の計算


入力層から出力層へ向かって値を計算していく処理を「順伝播(Forward Propagation)」と呼びます。計算は大きく2ステップで行われます。



ステップ1:線形変換


入力ベクトル x、重み行列 W、バイアスベクトル b を使って、次の計算で中間層の値 u を求めます。


 u = Wx + b

たとえば入力が3次元、中間ノードが2個の場合、具体的には次のようになります。


 u1 = w11・x1 + w12・x2 + w13・x3 + b1
 u2 = w21・x1 + w22・x2 + w23・x3 + b2

この計算が「入力値と重みを掛け合わせて足し込む」という、ニューラルネットワークの基本動作です。




ステップ2:活性化関数による非線形変換


線形変換を重ねるだけでは、ネットワーク全体として線形な関係しか表現できません。そこで各ノードは「活性化関数 f」を適用し、非線形性を加えます。


 z = f(u)

この z が次の層への入力になります。






代表的な活性化関数3種


ニューラルネットワークでよく使われる活性化関数を3つ紹介します。



■ シグモイド関数


 z(u) = 1 / (1 + exp(−u))

入力に応じて0〜1の値を出力します。かつてよく使われましたが、層が深くなると「勾配消失」という問題が起きやすいため、現在の深層学習では主役の座を譲っています。



■ ReLU(正規化線形関数)


 z(u) = max(0, u)

入力が正の場合はそのまま出力し、負の場合は0にします。シンプルな構造でありながら勾配消失を起こしにくく、現代のディープラーニングで広く使われている標準的な選択肢です。



■ ソフトマックス関数


 a(u) = exp(uk) / Σ exp(um)

多クラス分類の出力層で使われます。全ノードの出力値の合計が1になるため、「各クラスに属する確率」として解釈できます。







数値で確認する順伝播の流れ


実際に数値を使って計算してみましょう。


入力を x = [1, 2, 3] とし、活性化関数には ReLU を使います。


(1)線形変換

 u1 = 3×1 + 1×2 + 2×3 + 0 = 11
 u2 = −2×1 + (−3)×2 + (−1)×3 + 0 = −11

(2)活性化

 z1 = max(0, 11) = 11  
 z2 = max(0, −11) = 0  

(3)出力層での計算  

 y = 2×11 + 3×0 = 22

ポイント:

ニューラルネットワークの実際の計算は、加算と乗算で構成されています。

そのため非常に高速に並列処理が可能です。






目的関数:誤差をどう測るか


モデルが出力した予測値と正解値のズレを定量化する関数を「目的関数(損失関数)」と呼びます。学習ではこの値を小さくするようにパラメータを更新します。



■ 平均二乗誤差(Mean Squared Error)


 L = (1/N) Σ (tn − yn)²

回帰問題でよく使われます。各データ点での二乗誤差を平均したものです。


上の例(予測値22、正解値10)で計算すると、

 L = (1/1) × (10 − 22)² = 144

となります。




■ 二値交差エントロピー(Binary Cross Entropy)


 L = −Σ [ tn・log yn + (1 − tn)・log(1 − yn) ]

犬か猫かなど、2クラスに分類する問題で使われます。予測値はシグモイド関数で0〜1の値に変換されます。




■ 交差エントロピー(Cross Entropy)


 L = −Σn Σk tnk・log ynk

多クラス分類で使われます。正解クラスに対応するノードの出力確率の対数をとり、その総和で評価します。ワンホットベクトル(正解クラスのみ1、それ以外は0)を正解ラベルとして使います。






まとめ


本記事で解説した内容を振り返ります。


  • ニューラルネットワークは「入力層 → 中間層 → 出力層」で構成される

  • 順伝播は「線形変換(Wx + b)→ 活性化関数」の繰り返し

  • ReLUは勾配消失に強く、現代の深層学習の主流な活性化関数

  • 目的関数で予測誤差を定量化し、パラメータの更新方向を決める


次のステップとしては、目的関数の値を小さくするためにパラメータをどう更新するかを扱う「誤差逆伝播法(Backpropagation)」の理解が重要になります。




コメント


この投稿へのコメントは利用できなくなりました。詳細はサイト所有者にお問い合わせください。

© 2025  by Scientist Personal. Proudly created with by Wix.com

bottom of page