脳を模した計算機:パーセプトロンと誤差逆伝播
「AIの基礎:探索から機械学習まで」のレッスン 12 / 15・約6分
人工ニューロンの計算(重み・バイアス・活性化関数)と、勾配降下法および誤差逆伝播法(バックプロパゲーション)を学ぶレッスンです。
このレッスンで学ぶこと
- 細胞1個の中身
- 少しずつ直すやり方
レッスンの内容
脳の神経細胞を計算モデルにする
脳には約860億個の神経細胞があります。信号の合計が一定を超えたときだけ、次の細胞へ送る仕組みです。
この「足して、超えたら出す」を計算で再現したのが人工ニューロンです。
ニューロンの1ステップ実験
2つの入力の重みとバイアスを動かして、お題通りに発火する細胞を作ってみましょう。4つの入力パターンが全部そろえばクリアです。
重みとバイアスの役割
動かした数字は2つ。かける重みは入力の影響力、足すバイアスは反応しやすさの底上げです。
重み1と1、バイアス-1.5なら、両方ONのときだけ合計が0を超えます。
重み1と1、バイアス-1.5の人工ニューロンは、両方ONのときだけ発火します。バイアスを-0.5に変えると、いつ発火する?
問題:重み1と1、バイアス-1.5の人工ニューロンは、両方ONのときだけ発火します。バイアスを-0.5に変えると、いつ発火する?
- どちらか一方でもONのとき(正解)
- 両方ONのときだけ
- どちらもOFFのときだけ
解説:片方だけONでも合計は1-0.5で0.5になり、0を超えます。バイアスを上げると、少ない入力でも光るようになります。重みはそのままでも、判定のルールが変わりました。
合計を出力に変える活性化関数
合計を「光る・光らない」に変換する仕上げが活性化関数です。0を超えたら1にする階段型のほか、0から1へなめらかに変化する形もよく使われます。
○か✕か
○か✕か:人工ニューロンの出力は、0か1のどちらかしか取れない。
答え:✕。階段型の活性化関数なら0か1ですが、なめらかな形なら0.7のような途中の値も出せます。どちらを使うかで、出力の細かさが変わります。
予測のズレ「誤差」を測る
細胞が数億個になると手で探せません。そこで予測と正解のズレを誤差として数値化します。
予測0.8で正解が1なら誤差は0.2です。
目隠しで坂を下りる
誤差の坂を、足元の傾きだけを頼りに下ります。歩幅で下り方がどう変わるか確かめましょう。
坂を下りる勾配降下法
誤差が減る方向へ重みを少しずつ動かすのが勾配降下法です。
一歩の幅を決めるのが学習率です。大きすぎると谷を越し、小さすぎると底に着きません。
勾配降下法で重みを直していたら、誤差が減らずに大きく増えたり減ったりを繰り返しています。まず疑うべきことは?
問題:勾配降下法で重みを直していたら、誤差が減らずに大きく増えたり減ったりを繰り返しています。まず疑うべきことは?
- 学習率が大きすぎて谷を飛び越えている(正解)
- 学習率が小さすぎて前に進めていない
- 正解データの数が少なすぎて止まっている
解説:一歩が大きすぎると、谷底をまたいで反対側の斜面に着地してしまいます。それを繰り返すので誤差が上下します。小さすぎる学習率なら、誤差はゆっくりでも減り続けます。
後ろへ辿る誤差逆伝播法
出た誤差を逆にたどり、各重みの影響を割り出すのが誤差逆伝播法です。
何十層あっても、後ろから1回たどれば全重みの修正量がわかります。
○か✕か
○か✕か:誤差逆伝播法では、重みを1つずつ少し動かして誤差の変化を試し、それぞれの直し量を決める。
答え:✕。1つずつ試すと、重みが数億個なら数億回の計算が要ります。誤差逆伝播法は出力から入力へ1回たどるだけで、全部の重みの直し量をまとめて出します。
ペアを見つけよう
細胞の中身を決める数が2つ、出力を決める関数が1つ、数を直すやり方が2つです。
「賢くなる」の正体は数式の微調整
GPT-3には約1750億個の重みがありますが、人が手で入れた値は1つもありません。
誤差を測り、逆にたどり、坂を下りて調整する。この反復こそがAIの「学習」です。
ニューラルネットワークの要点
- 人工ニューロンは、入力に重みをかけて足し、バイアスを加える
- 活性化関数が、その合計を出力に変える
- 予測と正解のズレを誤差として数にする
- 誤差逆伝播法で直し量を出し、勾配降下法で重みを少しずつ動かす
写真を見分けるニューラルネットワークを学習させるとき、学習の前後で実際に変わっているものは何?
問題:写真を見分けるニューラルネットワークを学習させるとき、学習の前後で実際に変わっているものは何?
- ネットワーク内の重みとバイアスの値(正解)
- ニューロン同士をつなぐ配線の並び方
- 活性化関数の種類と曲線の形
解説:配線も関数も最初に決めたままで、変わるのは重みとバイアスの数だけです。ただ、細胞1個にできるのは直線1本で分けることだけで、「どちらか片方だけON」はどんな重みでも作れません。次は細胞を層に重ねてその壁を越え、写真の猫や手書きの数字を見分けるまでを見ます。
用語
- 誤差(Error / Loss)
- AIの予測と正解のズレ。小さいほど正確です。
- 重み(Weight)
- 入力にかける数。大きいほど影響が強い。学習で調整します。
- 学習率(Learning Rate)
- 重みを動かす歩幅。大きすぎても小さすぎても進みません。
- バイアス(Bias)
- 最後に足す数。大きいと少ない入力でも発火します。
- 勾配降下法(Gradient Descent)
- 誤差の坂の傾きを測り、誤差が減る方向へ重みを少しずつ動かす調整方法。
- 活性化関数(Activation Function)
- 合計の数を、細胞の出力に変える関数。0を超えたら1にする階段型や、0から1へなめらかに上がる形がある。
- 誤差逆伝播法(Backpropagation)
- 出た誤差を後ろからたどり、すべての重みの調整量をまとめて計算する方法です。
- 人工ニューロン(Artificial Neuron / Perceptron)
- 脳の細胞を模した計算単位。重みをかけて足し、バイアスを加え、活性化関数で出力を決めます。