クロスエントロピー損失のベクトル化


9

パラメータ使用して、クロスエントロピー損失関数の勾配を見つけることに関連する問題を処理しています。θ

CE(θ)=iyilog(y^i)

ここで及びθ iは、ベクトル入力されます。y^i=softmax(θi)θi

また、正しいクラスのワンホットベクトルであり、yはソフトマックス関数を用いて各クラスの予測です。yy^

したがって、例えば有することができ 及びY iは = 0.10 0.20 0.10 0.40 0.20yi=(00010)y^i=(0.100.200.100.400.20)

偏微分見つけるにはCE(θ)θik=yiky^ik

各そこから取っ個々の部分勾配はなり C E θ iCE(θ)θi=(yi1y^i1yi2y^i2yi3y^i3yi4y^i4yi5y^i5)

ただし、1つのホットベクトルのプロパティを使用したため、4番目の行を除く他のすべての行の勾配は実際には0になるため、これは当てはまりません。だから、実際の勾配があるべき CE(θ)θi=(000yi4y^i40)

それゆえ、すべてのための勾配はする必要があり C E θ iCE(θ)θ=(000yi4y^i4000yi3y^i300...0yi2y^i2000)

しかし、これは等しくないのy - yの。したがって、クロスエントロピー関数の勾配を、予測と元のベクトルの差と呼ぶべきではありません。y^y

誰かがこれを明確にできますか?

更新:派生を修正しました

θ=(θ1θ2θ3θ4θ5)

CE(θ)=iyilog(y^i)

ここで及びθ iは、ベクトル入力されます。y^i=softmax(θi)θi

また、Yは、正しいクラスのワンホットベクトルであり、yはyy^

CE(θ)θi=(log(y^k))

yy^y=(00010)y^=(0.100.200.100.400.20)

θikθiCE(θ)θi=yky^k

各そこから取っI個々の部分勾配はなり ∂ C E (θ iCE(θ)θ=(y1y^1y2y^2y3y^3y4y^4y5y^5)

CE(θ)=(yklog(y^k))y^k=log(softmax(θk))=θklog(jexp(θj))CE(θ)θi

CE(θ)θi=(θkθisoftmax(θi))

θkθi=0,ikθkθi=1,i=kCE(θ)θ=y^y

回答:


2

y^iji,jyij=0y^ij


y^ijyijyiCE(θ)θij=0,jkyik=1

1
あなたの入力をありがとう@ neil-g私は学年の私の派生を修正することができました。
Shubhanshu Mishra 2015

15

以下は編集と同じ内容ですが、(私にとっては)少し明確な段階的な形式です。

私たちはそれを証明しようとしています:

CEθ=y^y

与えられた

CE(θ)=iyilog(y^i)

そして

y^i=exp(θi)jexp(θj)

yj=0jkyk=1

CE(θ)= log(y^k)

= log(exp(θk)jexp(θj))

= θk+log(jexp(θj))

CEθ=θkθ+θlog(jexp(θj))

θkθk=1θkθq=0qk

θkθ=y

θ

θilog(jexp(θj))=exp(θi)jexp(θj)=y^i

したがって、

CEθ=θlog(jexp(θj))θkθ=y^

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