SigmoidCrossEntropyWithLogits

kelas publik SigmoidCrossEntropyWithLogits

Konstruktor Publik

Metode Publik

statis <T memperluas TNomber > Operan <T>
sigmoidCrossEntropyWithLogits ( Lingkup cakupan , label Operan <T>, logit Operan <T>)
Menghitung entropi silang sigmoid berdasarkan logits .

Metode Warisan

Konstruktor Publik

SigmoidCrossEntropyWithLogits publik ()

Metode Publik

Operan statis publik <T> sigmoidCrossEntropyWithLogits ( Lingkup cakupan , label Operan <T>, logit Operan <T>)

Menghitung entropi silang sigmoid berdasarkan logits .

Mengukur kesalahan probabilitas dalam tugas klasifikasi diskrit di mana setiap kelas bersifat independen dan tidak saling eksklusif. Misalnya, seseorang dapat melakukan klasifikasi multilabel di mana sebuah gambar dapat memuat gajah dan anjing secara bersamaan.

Untuk singkatnya, misalkan x = logits , z = labels . Kerugian logistik dalam pseudo-code adalah

 z * -log(sigmoid(x)) + (1 - z) * -log(1 - sigmoid(x))
  = z * -log(1 / (1 + exp(-x))) + (1 - z) * -log(exp(-x) / (1 + exp(-x)))
  = z * log(1 + exp(-x)) + (1 - z) * (-log(exp(-x)) + log(1 + exp(-x)))
  = z * log(1 + exp(-x)) + (1 - z) * (x + log(1 + exp(-x))
  = (1 - z) * x + log(1 + exp(-x))
  = x - x * z + log(1 + exp(-x))
 

Untuk x < 0 , untuk menghindari overflow di exp(-x) , kami memformulasikan ulang hal di atas

 x - x * z + log(1 + exp(-x))
  = log(exp(x)) - x * z + log(1 + exp(-x))
  = - x * z + log(1 + exp(x))
 

Oleh karena itu, untuk menjamin stabilitas dan menghindari luapan, penerapannya menggunakan formulasi yang setara ini

   max(x, 0) - x * z + log(1 + exp(-abs(x)))
 

logit dan labels harus mempunyai jenis dan bentuk yang sama.

Parameter
cakupan Cakupan TensorFlow
label labelnya
logit logit bertipe float32 atau float64
Kembali
  • kerugian logistik berdasarkan komponen.
Melempar
Pengecualian Argumen Ilegal jika logit' dan label' tidak mempunyai bentuk yang sama