クロスエントロピーの微分


9

私のコンピューターでニューラルネットワークをトレーニングするプログラムを作成しようとしています。問題のネットワークでは、クロスエントロピーエラー関数を使用することにしました。

E=jtjlnoj

ここで、はNeuron jのターゲット出力であり、o jはそのニューロンの出力であり、t jを予測しようとします。tjjojtj

私が何を知りたい、いくつかのニューロンのためであるJ。私の直感(プラス微積分の私の限られた知識)この値がなければならないことを信じるように私を導く-トンのJδEδojjtjoj

ただし、これは正しくないようです。クロスエントロピーは、o j = e z jのように、softmax関数と併用されることがよくあります。ここで、zはソフトマックスレイヤー内のすべてのニューロンへの入力のセットです(ここを参照)。

oj=ezjkezk

このファイル、私はそれを集める:

δojδzj=oj(1oj)

よると、この質問 しかし、私の以前の推測と、この競合δE

δEδzj=tjoj
。どうして?δEδoj

。⇒δEJ

δEjδzj=δEjδojδojδzj
δEjδoj=δEjδzj÷δojδzj
=tjojoj(1oj)
tjoj
δEjδoj

回答:


6

EojEzj

Ezj=iEoioizj
i=j
Eojojzj=tjojoj(1oj)=tjojtj
ij
oizj=ezikezkzj=ezi(kezk)2ezj=oioj
Eoioizj=tioi(oioj)=tioj
Ezj=iEoioizj=itiojtj
titi=1
Ezj=ojtj
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.