ニューラルネットワーク基礎(パーセプトロン・誤差逆伝播)

深層学習の土台、パーセプトロンと誤差逆伝播。活性化関数の役割も整理します。

深層学習の基礎、ニューラルネットの仕組みと学習の仕組み。

白峰 リリ(普段) 白峰 リリ

ニューラルネットワークって、結局どういう仕組みなんだろ?

神楽 モニカ 先生(笑顔) 神楽 モニカ 先生

まずは基本単位のパーセプトロンから見ていきましょうか。 入力xに重みwをかけて足し合わせて、活性化関数を通す、という構造なのよ。

紅林 かえで(普段) 紅林 かえで

パーセプトロン: y = f(Σwᵢxᵢ + b)。 fはシグモイドやReLUなどの活性化関数。 線形変換+非線形変換の組み合わせ。

藍沢 しずく(普段) 藍沢 しずく

活性化関数って、なんのためにあるんですかぁ?

紅林 かえで(普段) 紅林 かえで

非線形性を入れるためだよ。 線形変換を何回重ねても結局は線形変換のままだから、非線形を挟むことで複雑な関数を表現できるの。

白峰 リリ(普段) 白峰 リリ

層を深くすると、何ができるようになるの?

神楽 モニカ 先生(普段) 神楽 モニカ 先生

複雑なパターンを階層的に学習できる。 これが深層学習(ディープラーニング)。 画像なら低層がエッジ、中層が形、高層が物体、というふうに階層的特徴を学ぶ。

紅林 かえで(普段) 紅林 かえで

学習方法が誤差逆伝播法(Back Propagation)。 出力から入力に向かって誤差を伝播させ、各層の重みを勾配降下法で更新する。

藍沢 しずく(普段) 藍沢 しずく

誤差を逆向きに伝えていく、ってことですかぁ?

神楽 モニカ 先生(普段) 神楽 モニカ 先生

数学的には『損失関数の各重みについての偏微分』を、{kw('連鎖律')}を使って出力側から入力側へ順に計算していく手順なの。 計算量を大幅に節約できるのが革新的だったのよ。

白峰 リリ(普段) 白峰 リリ

活性化関数って、いろんな種類があるよね。

紅林 かえで(普段) 紅林 かえで

代表的なのは シグモイド(0〜1)、tanh(-1〜1)、ReLU(max(0,x))、softmax(多クラス確率)。 現代の深層学習では ReLU が主流。

紅林 かえで(普段) 紅林 かえで

DS検定では『パーセプトロン構造』『誤差逆伝播の役割』『活性化関数の種類』が頻出。

1ニューロンの計算:
  入力 x = (x₁, x₂, x₃)
  重み w = (w₁, w₂, w₃)
  バイアス b
  z = w₁x₁ + w₂x₂ + w₃x₃ + b   (線形変換)
  y = ReLU(z) = max(0, z)        (非線形変換)

学習ステップ:
  1. 順伝播: 入力 → 各層 → 出力
  2. 損失計算: L = (出力 - 正解)²/2 など
  3. 誤差逆伝播: 出力側から各層へ ∂L/∂w を計算
  4. 重み更新: w_new = w_old - η · ∂L/∂w

確認クイズ

ニューラルネットワークで活性化関数が必要な理由として最も正しいのはどれか。

  1. 計算速度を上げるため
  2. 非線形性を導入し、複雑な関数を表現できるようにするため
  3. 重みの数を減らすため
  4. メモリ消費を減らすため
こたえを見る

正解: 2. 非線形性を導入し、複雑な関数を表現できるようにするため

非線形性を導入し、複雑な関数を表現できるようにするため。 線形変換だけ重ねても結局線形のままなので、活性化関数で非線形を挟むことで、複雑な関数(=複雑なパターン)を学習できるようになります。

🔖 この記事の関連書籍

Amazonアソシエイトリンクを含みます。他分野は おすすめ書籍ページ へ。