ソフトラベルでクロスエントロピー損失関数を使用しても問題ありませんか?


10

ピクセルにハード0,1ラベルではなくソフトラベル(確率を示す)でラベル付けされる分類の問題があります。以前、ハード0,1ピクセルのクロスエントロピー損失関数(CaffeのsigmoidCross entropyLossLayer)にラベルを付けると、まともな結果が得られました。このソフト分類問題にシグモイドクロスエントロピー損失層(Caffeから)を使用しても大丈夫ですか?


実数値のラベルを処理できるクロスエントロピー関数を探しています。ここで
アミール

回答:


27

答えは「はい」ですが、正しい方法で定義する必要があります。

クロスエントロピーは、単一の値ではなく確率分布で定義されます。離散分布およびの場合: pq

H(p,q)=yp(y)logq(y)

クロスエントロピー損失が「ハード」クラスラベルで使用される場合、これが実際に意味することは、をクラスラベルの条件付き経験的分布として扱うことです。これは、観測されたクラスラベルの確率が1、その他すべての確率が0の分布です。は、分類器によって学習された条件付き分布(入力が与えられたクラスラベルの確率)です。入力がでクラスが単一の観測データポイントの場合、上記の式が標準の対数損失(すべてのデータポイントで平均化される)に減少することがわかります。pqx0y0

yI{y=y0}logq(yx0)=logq(y0x0)

ここで、はインジケーター関数で、引数がtrueの場合は1、それ以外の場合は0です(これは経験的分布が行っていることです)。合計は、可能なクラスラベルのセットから引き継がれます。I{}

あなたが言及するような「ソフト」ラベルの場合、ラベルはもはやクラス自体ではなく、2つの可能なクラスにわたる確率です。このため、ログ損失には標準の式を使用できません。ただし、クロスエントロピーの概念は引き続き適用されます。実際、この場合はさらに自然に見えます。

0または1 のクラス呼び出します。ソフトラベルが、クラスが1である確率(対応する入力与えられた場合を与えるとします。したがって、ソフトラベルは確率分布を定義します。ys(x)x

p(yx)={s(x)If y=11s(x)If y=0

分類子は、入力が与えられると、クラスの分布も与えます。

q(yx)={c(x)If y=11c(x)If y=0

ここで、は、入力与えられた場合に、クラスが1であるという分類器の推定確率です。c(x)x

ここでの課題は、クロスエントロピーを使用して、これら2つの分布がどの程度異なるかを判断することです。上記のと式をクロスエントロピーの定義に組み込みます。合計は、可能なクラスのセット取得され。pq{0,1}

H(p,q)=p(y=0x)logq(y=0x)p(y=1x)logq(y=1x)=(1s(x))log(1c(x))s(x)logc(x)

これは、単一の観測されたデータポイントの式です。損失関数は、すべてのデータポイントの平均になります。もちろん、これはマルチクラス分類にも一般化できます。


3
私はこの答えの明快さに戻ってきます。
auro
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.