4-3-2 代表的な誤差関数

前の章では、誤差関数がAIにとっての「採点ルール」のようなものだと説明しました。
AIは自分の出した答えと正解を比べて、「どれくらい間違っていたのか」を測りながら学習していきます。

ただし、テストの採点方法が一つとは限らないように、
AIの採点方法(誤差関数)にもいくつかの種類があります。

数値を予測する問題では、数値のズレを測る方法が使われます。
一方で、画像が「猫か犬か」を当てるような分類問題では、確率の違いを測る方法が使われます。

このように、AIの学習ではタスクに応じて適した誤差関数を使い分ける必要があります。
ここでは、ディープラーニングでよく使われる代表的な誤差関数として、平均二乗誤差(MSE)と交差エントロピーを見ていきます。

平均二乗誤差関数

まず、AIが数値を予測する場面を考えてみましょう。
たとえば、気温を予測するAIがあるとします。
本当の気温が 20℃ のとき、
AIが
・19℃ と予測した場合と
・10℃ と予測した場合では、
どちらの間違いが大きいでしょうか。
もちろん、10℃のほうが大きな間違いです。

つまり採点するときには、
・少し外れた答え
・大きく外れた答え
を同じように扱うわけにはいきません。
ここで使われるのが 平均二乗誤差関数(MSE:Mean Squared Error) です。

平均二乗誤差関数では、予測と正解の差を二乗して評価します。
なぜ二乗するのでしょうか。
ここでもう一度、テストの採点を想像してみてください。
もし先生が
・1点のミス → 減点1
・10点のミス → 減点10
と採点したら、大きなミスもそれほど重く扱われません。

しかし、もし
・1点のミス → 減点1
・10点のミス → 減点100
と採点したらどうでしょう。
大きなミスほど、強く減点されることになります。

平均二乗誤差関数は、まさにこのような採点方法です。
間違いを二乗することで、大きく外れた予測ほど強くペナルティを与える仕組みになっています。

さらに平均二乗誤差関数では、たくさんのデータに対する誤差をまとめて評価するために、最後にその値の平均を取ります。
つまり平均二乗誤差とは、予測と正解のズレを二乗し、その平均を取ったものです。
AIはこの値をできるだけ小さくするように、重みを少しずつ調整しながら学習していきます。

交差エントロピー

平均二乗誤差は、数値のズレを測る誤差関数でした。
では、AIが「猫か犬か」を当てるような分類問題では、どう採点すればよいのでしょうか。
ここでAIは、ただ一つの答えを出すのではなく、それぞれの可能性を確率で表すことがあります。
たとえば、ある画像を見てAIが次のように予測したとします。
・猫:0.8
・犬:0.2
つまりAIは「猫である可能性が高い」と考えているわけです。
そして、本当の答えが猫だったとしましょう。
この場合、AIの予測はかなり良さそうです。正解に近い確率を出しているからです。

では、もしAIがこう答えたらどうでしょう。
・猫:0.2
・犬:0.8
今度は、本当の答えとかなりズレています。
このように分類問題では、AIが出した確率と、実際の正解とのズレを評価する必要があります。
そのときに使われるのが、交差エントロピー(Cross Entropy)です。

交差エントロピーは、予測された確率と正解の確率分布の違いを測る誤差関数です。
正解に高い確率を与えていれば誤差は小さくなり、正解に低い確率しか与えていなければ誤差は大きくなります

交差エントロピーの特徴は、自信を持って間違えたときのペナルティが大きいという点です。
たとえば、
・猫:0.49
・犬:0.51
のような予測は、少し間違っているだけです。

しかし、
・猫:0.01
・犬:0.99
のように、「犬だとほぼ確信している」のに実際は猫だった場合、これは大きな間違いです。

交差エントロピーは、このような「自信満々の間違い」を強くペナルティとして評価します。
このような性質があるため、交差エントロピーは
・画像分類
・音声認識
・自然言語処理
など、分類問題の学習で広く使われています。
特に、前の章で見たソフトマックス関数と組み合わせて使われることが多く、ディープラーニングではとても重要な誤差関数の一つです。

「エントロピー」という言葉を聞いたことがあるでしょうか。
アニメ 魔法少女まどか☆マギカ で、この言葉を印象的に聞いた人もいるかもしれません。

もともとエントロピーは、物理学(熱力学)の概念です。
簡単に言えば、「物事がどれくらい乱雑な状態か」を表す指標です。
たとえば、コーヒーにミルクを落としてかき混ぜると、ミルクとコーヒーはきれいに混ざります。
しかし、一度混ざったミルクを元のように分けることは、ほとんどできません。
このように世界は、整った状態よりも、乱雑な状態へと進みやすいと考えられています。これがエントロピーの基本的な考え方です。

この「エントロピー」という考え方は、情報やAIの世界にも登場します。
情報理論では、エントロピーは「どれくらい予測が難しいか(不確実さ)」を表す量です。
たとえば、表と裏が50%ずつ出るコインは、次の結果を予測するのが簡単ではありません。
このような状態は、エントロピーが大きいと表現されます。
AIの学習では、この「不確実さ」を数値として扱いながら、予測と正解のズレを測ることがあります。
交差エントロピーという誤差関数も、こうした考え方から生まれたものです。

世界の乱雑さを表す言葉が、AIが「どれくらい間違えたのか」を測る指標として使われている。
そう考えると、AIの学習とは、世界の不確実さと少しずつ向き合っていく営みなのかもしれません。

next ▶ タスクによって変わる誤差関数