FC2ブログ

cross-entropyの謎 (6)

softmaxにおける、cross-entropyの偏微分計算、やっとできました。場合分けが必要です。すなわち、

L = -Σktk log(yk) --- (1)
yk = exp(xk) / Σiexp(xi) --- (2)

としたときに、

∂L/∂xk = Σj(∂L/∂yj)(∂yj/∂xk) --- (3)

を計算します。

∂L/∂xk = Σj(-tj/yj)(∂yj/∂xk) --- (4)

ですが、ここで、k=jのときと、k≠jのときで結果が異なりますので、場合分けをしなければなりません。

まず、k=jのとき、式(4)は、

∂L/∂xk = (-tk/yk)(∂yk/∂xk) = (-tk/yk)(exp(xkiexp(xi)-(exp(xk))2)/(Σiexp(xi))2 = (-tk/yk)(yk-yk2) = -tk(1-yk)--- (5)

一方、k≠jのときは、

∂L/∂xk = Σj(-tj/yj)(-exp(xj)exp(xk))/(Σiexp(xi))2 = Σj(tj/yj)yjyk = ykΣjtj = yk(1-tk)--- (6)

式(6)では、最後のΣはイチとはなりません。k=jのときを省いているからです。ここで間違えました。

さて、式(5)と式(6)を足したものが答えなので、

∂L/∂xk = -tk(1-yk) + yk(1-tk) = yk - tk --- (7)

直接代入してやると、対数のおかげで場合分けは不要です。対数というのは、計算を簡単にしてくれる、魔法のツールです。
スポンサーサイト



コメントの投稿

非公開コメント

プロフィール

加納裕(かのうゆたか)

Author:加納裕(かのうゆたか)


[略歴]
1983年3月東京工業大学工学部機械物理工学科卒業
1983年4月(株)図研入社
1987年1月同社退社
1987年2月(株)ソリッドレイ研究所を6名で設立、取締役
1994年3月同社退社
1994年4月(株)スリーディー入社
1996年10月同社取締役
1999年12月上海大学兼務教授
2002年10月同社代表取締役
2009年9月ものつくり大学非常勤講師~現在
2009年10月同社代表退任/退社
2010年1月ソフトキューブ(株)入社~現在(技術顧問)
2017年4月湘南工科大学非常勤講師~現在


[業界団体・学会活動]
電気学会・第三期次世代インタラクティブディスプレイ協同研究委員会(幹事)/最先端表現技術利用推進協会・アカデミック部会(旧:三次元映像のフォーラム)(副部会長)/日本バーチャルリアリティ学会ハプティクス研究委員会(委員)/ACM(Professional Member)/情報処理学会(正会員)/3Dコンソーシアム(賛助会員)/URCF(特別会員)

---------------------

前職:立体映像産業推進協議会(幹事)/日本バーチャルリアリティ学会・論文委員会(委員)/3DBiz研究会(個人賛助会員)


[資格]
TOEIC805点
数学検定1級(数理技能)
中型・普自二免許
サッカー4級審判員

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード