コース: AI 入門

誤りから学習する

コース: AI 入門

誤りから学習する

人間はとかく二分法で考えたがり、 正誤を気にしますが、 人工ニューラルネットワークは もっと厳密です。 そこでは、95%正しい、と、 97%正しい、とが明確に区別されます。 ここでの鍵は、どの程度の誤りなのかを 見極めることです。 それを測る指標として、 人工ニューラルネットワークでは、 コスト関数と呼ばれるものを使います。 コスト関数は、システムが出力する答えを 正解と比較した評価値を出すもので、 その値は出した答えが 正解に近いほど小さくなり、 正解との誤差があるほど大きくなります。 人工ニューラルネットワークに 画像を読み込ませ、 犬が含まれているかを判定させたところ、 「97%の確率で犬の写真」という 答えが出たとします。 しかしよく見ると、実際は猫の画像でした。 この誤答によって、関数が認識する コストが少し上がります。 また、同じネットワークが、 雪山の画像を「99%の確率で 犬の写真」と判定したとします。 コストはもっと大きく上昇します。 それは、この場合の誤りの程度が より甚だしいため、 ネットワークの重みづけとバイアスを 思い切って調整する必要があるからです。 誤りを正すのは厄介な作業です。 ニューラルネットワークは、 勾配降下法と呼ばれる手法で 設定を調整しながら、 コストを最小化しようとします。 先ほどのダーツの比喩を 思い出してください。 ネットワークは予測を出して、 中心にどれだけ近いかを調べます。 極端に外れた予測もあれば、 かなり正確な予測もあります。 ネットワークが放ったダーツが 的に行き着くまでには、 空中で少しの間は上向きに飛び、 徐々に下向きにカーブを描いてから 的に到達します。 的そのものから大きく それてしまった場合は、 飛ばし始めの角度を 大きく変える必要があります。 予測が正解に近ければ、 角度をごく微妙に変えるだけで 的の中心を狙えます。 ニューラルネットワークも同様で、 勾配降下法で計算をしながら、 重みづけとバイアスを調整しています。 ダーツの投げ方を修正するように、 誤りの程度に応じた修正を 加えていくのです。 これは人工ニューラルネットワークの 非常に優れた点です。 これを、誤差逆伝播法、または、 バックプロパゲーションといいます。 ここで説明している 人工ニューラルネットワークは、 データを順方向、 つまり左から右へ送るネットワークです。 データは入力層から出発して 右方向へと進み、出力層に到達します。 ただし、ネットワークが間違った場合、 逆方向へと 勾配降下法を使いながら立ち戻り、 どこに誤りがあるのかを 特定する必要があります。 そして、誤りの程度に応じた調整を 重みづけとバイアスに施すのです。 予測が極端に外れている場合は、 大幅な修正が必要ですが、 正解に近いほど、はるかに慎重な調整が 必要になります。 順方向に予測し、逆方向に調整する 繰り返しによって、ネットワークは 自動調整を行うのです。

目次