AI活用の教科書
AI・生成AIむずかしい3分で読了

活性化関数

Activation Functionかっせいかかんすう

ひとことで言うと

ニューロンの出力をぐにゃっと曲げて、複雑なパターンを表せるようにする関数のことです。

📖 もうちょい詳しく

何が新しいの?

ニューラルネットワーク(脳の神経細胞をまねた計算のしくみ)は、数字を足したりかけたりしてつないでいきます。でも、足し算とかけ算だけをいくら重ねても、結果は「まっすぐな関係」しか表せません。そこで、途中に「ひと曲げ」を加えるために置かれるのが活性化関数です。

どうやって動いてるの?

ニューロン1つは、入ってきた数字に重みをかけて合計します。その合計を活性化関数に通すと、出力が「まっすぐではない形」に変わります。これを非線形(ひせんけい)といって、たとえばReLU(レルー)という関数は、マイナスの値は0にして、プラスの値はそのまま通します。

何ができるの?

この「ひと曲げ」が層ごとに積み重なることで、ネットワークは曲がった複雑な関係を学べるようになります。写真に写っているのが犬か猫か、といった単純な線では分けられない判断ができるのは、この関数のおかげといえます。

🌱 身近なたとえ

蛇口で例えると分かりやすいかもしれません。ある一定の力が来るまでは水を出さず、それを超えたら水を流す、という調整役に似ています。ただ素通しするのではなく「通すか・どれくらい通すか」を決めるので、信号にメリハリがつきます。このメリハリの積み重ねが、複雑な判断につながっていきます。

✅ まず覚えるポイント

  • 活性化関数は、ニューロンの出力を「まっすぐでない形」に変える関数です
  • これがあるから、ネットワークは複雑な関係を表せます
  • なければ、何層重ねても直線的な計算しかできません
  • ReLU(マイナスは0、プラスはそのまま)が今はよく使われます
  • ほかにシグモイドやtanh(双曲線正接。タンチと読みます)といった種類もあります
  • 「非線形性を与える部品」とイメージするとつかみやすいです

🧭 よくある勘違い

活性化関数を入れると計算が複雑になって遅くなる?

ReLUのように、計算自体はとても単純なものが主流です。「マイナスなら0にする」だけなので軽く、むしろ学習を速く安定させる効果が期待できます。複雑さは関数そのものではなく、層を重ねることで生まれます。

どの関数を使っても結果は同じ?

関数の種類によって学習のしやすさや精度が変わることがあります。昔はシグモイドがよく使われましたが、層が深いと学習が進みにくくなる場合があり、いまは中間層でReLU系を選ぶことが多いです。

出力層にも同じ関数を使うの?

出力層では目的に合わせて変えることが多いです。たとえば「どれかに分類する」ときはソフトマックスという関数を使う、というように、置く場所によって役割が変わります。

🧩 関連して覚えると楽な言葉

  • ニューラルネットワーク: 脳の神経細胞をまねた、数字をつないで学ぶしくみ
  • ディープラーニング: その層をたくさん重ねた学習方法
  • 勾配降下法: 誤差を小さくする向きへ、数値を少しずつ直していく学習の基本手順
  • 誤差逆伝播法: 出力のずれをもとに、重みを調整していく学習の手順

🏁 ひとことでまとめ

足し算とかけ算だけでは表せない「曲がった関係」を学べるように、出力にひと曲げを加える小さな部品が活性化関数です。