タグ付けされた質問 「cross-entropy」

5
ニューラルネットワークのマルチクラス、マルチラベル分類タスクの損失関数は何ですか?
ニューラルネットワークをトレーニングして、オブジェクトのセットをnクラスに分類しています。各オブジェクトは、同時に複数のクラスに属することができます(マルチクラス、マルチラベル)。 マルチクラス問題の場合、一般に、mseの代わりにソフトマックスとカテゴリクロスエントロピーを損失関数として使用することをお勧めしますが、その理由はだいたいわかります。 マルチラベルの私の問題については、各クラスの確率が互いに独立している必要があるため、もちろんソフトマックスを使用することは意味がありません。したがって、最後のレイヤーは、入力をすべてのクラスの確率範囲0..1に押しつぶすシグモイドユニットです。 今、私はこれにどの損失関数を使用すべきかわからない。カテゴリクロスエントロピーの定義を見ると、1になるはずのニューロンの出力のみが考慮され、他のニューロンは無視されるため、この問題にはあまり当てはまらないと思います。 バイナリクロスエントロピーは、より適切に聞こえますが、出力ニューロンが1つの場合のバイナリ分類の問題については、これまでに言及しただけです。 重要な場合に備えて、トレーニングにpythonとkerasを使用しています。

6
Softmax /クロスエントロピーによる逆伝播
私は、ソフトマックス/クロスエントロピー出力層での逆伝播の仕組みを理解しようとしています。 クロスエントロピー誤差関数は E(t,o)=−∑jtjlogojE(t,o)=−∑jtjlog⁡ojE(t,o)=-\sum_j t_j \log o_j とニューロンにおける目標出力としてそれぞれ。合計は、出力層の各ニューロンに対するものです。自体は、関数の結果です。tttooojjjojojo_j oj=softmax(zj)=ezj∑jezjoj=softmax(zj)=ezj∑jezjo_j=softmax(z_j)=\frac{e^{z_j}}{\sum_j e^{z_j}} この場合も、合計は出力層の各ニューロンあり、はニューロンへの入力です。zjzjz_jjjj zj=∑iwijoi+bzj=∑iwijoi+bz_j=\sum_i w_{ij}o_i+b これは、対応する出力とニューロンに対する重みにバイアス加えた、前の層のすべてのニューロンの合計です。oioio_iwijwijw_{ij}jjjbbb ここで、出力層のニューロンを前の層のニューロンに接続する重みを更新するには、チェーンルールを使用して誤差関数の偏微分を計算する必要があります。wijwijw_{ij}jjjiii ∂E∂wij=∂E∂oj∂oj∂zj∂zj∂wij∂E∂wij=∂E∂oj∂oj∂zj∂zj∂wij\frac{\partial E} {\partial w_{ij}}=\frac{\partial E} {\partial o_j} \frac{\partial o_j} {\partial z_{j}} \frac{\partial z_j} {\partial w_{ij}} ニューロンへの入力として、。zjzjz_jjjj 最後の用語は非常に簡単です。と間に重みが1つしかないため、導関数は次のようになります。iiijjj ∂zj∂wij=oi∂zj∂wij=oi\frac{\partial z_j} {\partial w_{ij}}=o_i 最初の項は、出力に関するエラー関数の導出です。ojojo_j ∂E∂oj=−tjoj∂E∂oj=−tjoj\frac{\partial E} {\partial o_j} = \frac{-t_j}{o_j} 中間項は、その入力に対する関数のが難しいことです。zjzjz_j ∂oj∂zj=∂∂zjezj∑jezj∂oj∂zj=∂∂zjezj∑jezj\frac{\partial o_j} {\partial z_{j}}=\frac{\partial} {\partial z_{j}} \frac{e^{z_j}}{\sum_j …

1
t-SNE目的関数でクロスエントロピーではなく、Kullback-Leibler発散を使用する理由
私の考えでは、サンプル分布から真の分布へのKLの相違は、単純にクロスエントロピーとエントロピーの違いです。 多くの機械学習モデルでクロスエントロピーをコスト関数として使用するのに、t-sneでKullback-Leibler発散を使用するのはなぜですか?学習速度に違いはありますか?

3
機械学習:バイナリ予測にカテゴリクロスエントロピーまたはバイナリクロスエントロピー損失を使用する必要がありますか?
まず、バイナリ予測を実行する必要がある場合、ワンホットエンコーディングを実行して少なくとも2つのクラスを作成する必要があることに気付きました。これは正しいです?ただし、バイナリクロスエントロピーは、クラスが1つだけの予測に対してのみですか?ほとんどのライブラリ(TensorFlowなど)で通常見られるカテゴリクロスエントロピー損失を使用する場合、大きな違いはありますか? 実際、カテゴリクロスエントロピーとバイナリクロスエントロピーの正確な違いは何ですか?TensorFlowでバイナリクロスエントロピーの実装を見たことがないので、おそらくカテゴリー的なものも同じように機能すると思いました。

2
平均二乗誤差が経験的分布とガウスモデル間のクロスエントロピーであるのはなぜですか?
5.5では、ディープラーニング(イアングッドフェロー、ヨシュアベンジオ、アーロンクールビル)が、 負の対数尤度で構成される損失は、トレーニングセットで定義された経験的分布とモデルで定義された確率分布の間の相互エントロピーです。たとえば、平均二乗誤差は経験的分布とガウスモデルの間の相互エントロピーです。 なぜそれらが同等なのか理解できず、著者はその点については拡張していません。

2
ダイス係数損失関数とクロスエントロピー
完全たたみ込みネットワークなどのピクセルセグメンテーションニューラルネットワークをトレーニングする場合、クロスエントロピー損失関数とダイス係数損失関数のどちらを使用するかをどのように決定しますか? これは短い質問ですが、他にどのような情報を提供すべきかはよくわかりません。2つの損失関数に関する多くのドキュメントを見ましたが、どちらを使用するかを直感的に理解することはできません。

2
クロスエントロピーとKLダイバージェンスの違いは何ですか?
クロスエントロピーとKLダイバージェンスはどちらも、2つの確率分布間の距離を測定するためのツールです。違いはなんですか? また、KLの最小化は、クロスエントロピーの最小化と等価です。K L (P | Q )= ∑ x P (x )log P (x )H(P、Q )= − ∑バツP(x )ログQ (x )H(P、Q)=−ΣバツP(バツ)ログ⁡Q(バツ) H(P,Q) = -\sum_x P(x)\log Q(x) KL (P| Q)= ∑バツP(x )ログP(x )Q (x )KL(P|Q)=ΣバツP(バツ)ログ⁡P(バツ)Q(バツ) KL(P | Q) = \sum_{x} P(x)\log {\frac{P(x)}{Q(x)}} 本能的に知りたい。 事前にどうもありがとうございました。

1
オートエンコーダーの損失関数
私はビットオートエンコーダを実験しており、テンソルフローを使用して、MNISTデータセットを再構築しようとするモデルを作成しました。 私のネットワークは非常に単純です:X、e1、e2、d1、Y、ここでe1とe2はエンコード層、d2とYはデコード層です(そしてYは再構築された出力です)。 Xには784個、e1には100個、e2には50個、d1には再び100個、Y 784には再びあります。 シグモイドをレイヤーe1、e2、d1、およびYのアクティベーション関数として使用しています。入力は[0,1]であり、出力もそうである必要があります。 さて、クロスエントロピーを損失関数として使用してみましたが、出力は常にブロブであり、Xからe1への重みは常にゼロ値の行列に収束することに気付きました。 一方、損失関数として二乗平均誤差を使用すると、適切な結果が得られ、入力を再構築できるようになりました。 どうしてこんなことに?値を確率として解釈することができ、したがってクロスエントロピーを使用できると思いましたが、明らかに何か間違っています。

5
回帰のコンテキストでは、クロスエントロピーコストは意味がありますか?
クロスエントロピーコストは、(分類ではなく)回帰のコンテキストで意味がありますか?もしそうなら、TensorFlowを通じておもちゃの例を挙げていただけますか?そうでない場合、なぜでしょうか? 私はマイケルニールセンによるニューラルネットワークとディープラーニングのクロスエントロピーについて読んでいましたが、それは回帰や分類に自然に使用できるもののようですが、TensorFlowでそれを効率的に適用する方法がわからないので、損失関数はロジットを取り(私もどちらも理解していません)、ここで分類の下にリストされています

2
クロスエントロピー損失関数のさまざまな定義
私は、neuralnetworksanddeeplearning dot comチュートリアルでニューラルネットワークについて学び始めました。特に第3章には、クロスエントロピー関数に関するセクションがあり、クロスエントロピー損失を次のように定義しています。 C=−1n∑x∑j(yjlnaLj+(1−yj)ln(1−aLj))C=−1n∑x∑j(yjln⁡ajL+(1−yj)ln⁡(1−ajL))C = -\frac{1}{n} \sum\limits_x \sum\limits_j (y_j \ln a^L_j + (1-y_j) \ln (1 - a^L_j)) ただし、Tensorflowの概要を読むと、クロスエントロピー損失は次のように定義されます。 C=−1n∑x∑j(yjlnaLj)C=−1n∑x∑j(yjln⁡ajL)C = -\frac{1}{n} \sum\limits_x \sum\limits_j (y_j \ln a^L_j)(上記と同じ記号を使用する場合) 次に、何が起こっているのかを探すために周りを検索すると、クロスエントロピー損失の完全に異なる定義を使用する別のメモセット(https://cs231n.github.io/linear-classify/#softmax-classifier)が見つかりました。ニューラルネットワークではなく、ソフトマックス分類器の時間。 誰かが私にここで何が起こっているのか説明できますか?なぜ矛盾があるのですか?クロスエントロピー損失はどのように定義されますか?いくつかの包括的な原則はありますか?

4
ディープラーニングにおけるMLEとクロスエントロピーの関係はどの程度意味がありますか?
一連の独立した観測 が与えられたことを理解してい最尤推定(または、平坦と同等に、MAP /均一前)ことを識別するパラメータ\ mathbf {θ}モデル分布生成 P_ {モデル} \ これらの観測に最もよく一致するleft(\、\ cdot \、; \ mathbf {θ} \ right)は、mmmO={o(1),...,o(m)}O={o(1),...,o(m)}\mathbb{O}=\{\mathbf{o}^{(1)}, . . . , \mathbf{o}^{(m)}\}θθ\mathbf{θ}pmodel(⋅;θ)pmodel(⋅;θ)p_{model}\left(\,\cdot\, ; \mathbf{θ}\right) θML(O)=pmodel(O;θ)=argmaxθ‎‎∏i=1mpmodel(o(i);θ)θML(O)=pmodel(O;θ)=arg⁡maxθ‎‎∏i=1mpmodel(o(i);θ)\mathbf{θ}_{ML}(\mathbb{O})= p_{model}\left(\mathbb{O}; \mathbf{θ}\right) = \underset{\mathbf{θ}}{\arg\max}‎‎\prod_{i=1}^{m} p_{model}\left(\mathbf{o}^{(i)}; \mathbf{θ}\right) または、より便利に θML(O)=argminθ∑i=1m−logpmodel(o(i);θ)θML(O)=arg⁡minθ∑i=1m−log⁡pmodel(o(i);θ)\mathbf{θ}_{ML}(\mathbb{O})= \underset{\mathbf{θ}}{\arg\min}\sum_{i=1}^{m} -\log p_{model}\left(\mathbf{o}^{(i)}; \mathbf{θ}\right) その役割を参照θMLθML\mathbf{θ}_{ML}、マルチクラスの深いニューラルネットワークを損失関数を定義する際に再生することができますがこれでθθ\mathbf{θ}ネットワークのトレーニング可能パラメータ(例えば、に相当するθ={W,b})θ={W,b})\mathbf{θ} = \{\mathbf{W}, \mathbf{b}\} )と観測は、入力アクティベーションxx\mathbf{x}と対応する正しいクラスラベルy∈[1,k]y∈[1,k]y \in [1, k]、\ mathbf {oのペアです。} ^ {(i)}o(i)o(i)\mathbf{o}^{(i)} = { …

1
直感的に、なぜクロスエントロピーは2つの確率分布の距離の尺度になるのでしょうか。
2つの離散分布および場合、クロスエントロピーは次のように定義されます。pppqqq H(p 、q)= − ∑バツp (x )ログq(x )。H(p、q)=−Σバツp(バツ)ログ⁡q(バツ)。H(p,q)=-\sum_x p(x)\log q(x). なぜこれが2つの確率分布間の距離を直感的に測定できるのでしょうか。 私がいることがわかりエントロピーである、の対策「驚き」。、部分的に置き換える尺度であるすることにより。私はまだ定義の背後にある直感的な意味を理解していません。H(p 、p )H(p、p)H(p,p)ppppppH(p 、q)H(p、q)H(p,q)pppqqq

1
クロスエントロピーの微分
私のコンピューターでニューラルネットワークをトレーニングするプログラムを作成しようとしています。問題のネットワークでは、クロスエントロピーエラー関数を使用することにしました。 E= − ∑jtjlnojE=−∑jtjln⁡ojE = -\sum_jt_j\ln o_j ここで、はNeuron jのターゲット出力であり、o jはそのニューロンの出力であり、t jを予測しようとします。tjtjt_jjjjojojo_jtjtjt_j 私が何を知りたい、いくつかのニューロンのためであるJ。私の直感(プラス微積分の私の限られた知識)この値がなければならないことを信じるように私を導く-トンのJδEδojδEδoj\frac{\delta E}{\delta o_j}jjj。− tjoj−tjoj-\frac{t_j}{o_j} ただし、これは正しくないようです。クロスエントロピーは、o j = e z jのように、softmax関数と併用されることがよくあります。ここで、zはソフトマックスレイヤー内のすべてのニューロンへの入力のセットです(ここを参照)。oj= ezjΣkezkoj=ezj∑kezko_j = \frac{e^{z_j}}{\sum_ke^{z_k}} このファイル、私はそれを集める:δojδzj= oj(1 − oj)δojδzj=oj(1−oj)\frac{\delta o_j}{\delta z_j} = o_j(1 - o_j) よると、この質問: しかし、私の以前の推測と、この競合δEδEδzj= tj− ojδEδzj=tj−oj\frac{\delta E}{\delta z_j} = t_j - o_j。どうして?δEδojδEδoj\frac{\delta E}{\delta o_j} 。⇒δEJδEjδzj= δEjδojδojδzjδEjδzj=δEjδojδojδzj\frac{\delta E_j}{\delta z_j}=\frac{\delta …


1
クロスエントロピー計算の対数ベースの違い
ここでTensorFlowチュートリアルを開始しましたが、クロスエントロピーの計算について少し質問があります。2を底とする対数を使用して計算されたクロスエントロピーを見たほとんどの場所ですが、tf.logはeを底としています。どのような条件下で、1つのログベースを使用するほうが望ましいでしょうか
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.