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

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

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

胡桃 あんず(普段) 胡桃 あんず

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

若葉 みどり 先生(笑顔) 若葉 みどり 先生

まずは基本単位のパーセプトロンから見ていきましょうか。 入力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アソシエイトリンクを含みます。他分野は おすすめ書籍ページ へ。

この記事について

データサイエンティスト検定スタディが作成した教材です。運営について・記事の作り方

試験についてはこちらをご覧ください: データサイエンティスト協会 公式サイト

この記事を共有