Wzór na entropię krzyżową przyjmuje dwa rozkłady, p(x) , rozkład rzeczywisty i q(x) , rozkład szacowany, zdefiniowany dla zmiennej dyskretnej x i jest określony przez
H(p,q)=−∑∀xp(x)log(q(x))
W przypadku sieci neuronowej obliczenia są niezależne od następujących elementów:
Jakiego rodzaju użyto warstwy.
Jakiego rodzaju aktywacji użyto - chociaż wiele aktywacji nie będzie zgodnych z obliczeniami, ponieważ ich wyniki nie mogą być interpretowane jako prawdopodobieństwa (tj. Ich wyniki są ujemne, większe niż 1 lub nie sumują się do 1). Softmax jest często używany do klasyfikacji wieloklasowej, ponieważ gwarantuje dobrze zachowaną funkcję rozkładu prawdopodobieństwa.
Dla sieci neuronowej, można zazwyczaj zobaczyć równania napisany w formie gdzie y jest wektorem ziemia prawda i y^ jakaś inna wartość wzięte bezpośrednio z wyjścia ostatniej warstwy) jest oszacowanie. Na przykład może wyglądać następująco:
L=−y⋅log(y^)
gdzie ⋅ jest iloczynem wektora kropki.
Twój przykład ziemia prawda y daje wszelkie prawdopodobieństwo pierwszej wartości, a pozostałe wartości są równe zero, więc możemy je zignorować i po prostu używać terminu pasującego z szacunków yy^
L=−(1×log(0.1)+0×log(0.5)+...)
L=−log(0.1)≈2.303
Ważny punkt z komentarzy
Oznacza to, że strata byłaby taka sama bez względu na to, czy prognozy wynoszą [0.1,0.5,0.1,0.1,0.2] lub [0.1,0.6,0.1,0.1,0.1] ?
Tak, jest to kluczowa cecha logloss wieloklasowego, nagradza / karze tylko prawdopodobieństwa poprawnych klas. Wartość jest niezależna od podziału pozostałego prawdopodobieństwa na niepoprawne klasy.
Często zobaczysz to równanie uśrednione dla wszystkich przykładów jako funkcję kosztu . Nie zawsze jest ściśle przestrzegane w opisach, ale zwykle funkcja straty jest niższym poziomem i opisuje, w jaki sposób pojedyncza instancja lub komponent określa wartość błędu, podczas gdy funkcja kosztu jest wyższym poziomem i opisuje, w jaki sposób oceniany jest cały system do optymalizacji. Funkcja kosztu oparta na utracie dziennika wieloklasowego dla zestawu danych o rozmiarze N może wyglądać następująco:
J=−1N(∑i=1Nyi⋅log(y^i))
Wiele implementacji będzie wymagać, aby twoje podstawowe wartości prawdy były zakodowane na gorąco (z jedną prawdziwą klasą), ponieważ pozwala to na dodatkową optymalizację. Jednak w zasadzie utratę entropii krzyżowej można obliczyć - i zoptymalizować - gdy tak nie jest.
Odpowiedź Neila jest prawidłowa. Uważam jednak, że ważne jest, aby zwrócić uwagę, że chociaż utrata nie zależy od rozkładu między niepoprawnymi klasami (tylko rozkład między poprawną klasą a resztą), gradient tej funkcji straty wpływa różnie na niepoprawne klasy w zależności od tego, jak są w błędzie. Kiedy więc zastosujesz cross-ent w uczeniu maszynowym, zmienisz wagi inaczej dla [0,1 0,5 0,1 0,1 0,2] i [0,1 0,6 0,1 0,1 0,1]. Jest tak, ponieważ wynik prawidłowej klasy jest znormalizowany przez wyniki wszystkich innych klas, aby przekształcić ją w prawdopodobieństwo.
źródło
Zobaczmy, jak zachowuje się gradient straty ... Mamy entropię krzyżową jako funkcję straty, którą podaje
Idąc stąd .. chcielibyśmy poznać pochodną w odniesieniu do niektórychxi
From this we can see that we are still only penalizing the true classes (for which there is value forp(xi) ). Otherwise we just have a gradient of zero.
I do wonder how to software packages deal with a predicted value of 0, while the true value was larger than zero... Since we are dividing by zero in that case.
źródło
Let's start with understanding entropy in information theory: Suppose you want to communicate a string of alphabets "aaaaaaaa". You could easily do that as 8*"a". Now take another string "jteikfqa". Is there a compressed way of communicating this string? There isn't is there. We can say that the entropy of the 2nd string is more as, to communicate it, we need more "bits" of information.
This analogy applies to probabilities as well. If you have a set of items, fruits for example, the binary encoding of those fruits would belog2(n) where n is the number of fruits. For 8 fruits you need 3 bits, and so on. Another way of looking at this is that given the probability of someone selecting a fruit at random is 1/8, the uncertainty reduction if a fruit is selected is −log2(1/8) which is 3. More specifically,
In "cross"-entropy, as the name suggests, we focus on the number of bits required to explain the difference in two different probability distributions. The best case scenario is that both distributions are identical, in which case the least amount of bits are required i.e. simple entropy. In mathematical terms,
Wherey^ is the predicted probability vector (Softmax output), and y is the ground-truth vector( e.g. one-hot). The reason we use natural log is because it is easy to differentiate (ref. calculating gradients) and the reason we do not take log of ground truth vector is because it contains a lot of 0's which simplify the summation.
Bottom line: In layman terms, one could think of cross-entropy as the distance between two probability distributions in terms of the amount of information (bits) needed to explain that distance. It is a neat way of defining a loss which goes down as the probability vectors get closer to one another.
źródło
I disagree with Lucas. The values above are already probabilities. Note that the original post indicated that the values had a softmax activation.
The error is only propagated back on the "hot" class and the probability Q(i) does not change if the probabilities within the other classes shift between each other.
źródło
The problem is that the probabilities are coming from a 'complicated' function that incorporates the other outputs into the given value. The outcomes are inter-connected, so this way we are not deriving regarding to the actual outcome, but by all the inputs of the last activation function (softmax), for each and every outcome.
I have found a very nice description at deepnotes.io/softmax-crossentropy where the author shows that the actual derivative ispi−yi .
Other neat description at gombru.github.io/2018/05/23/cross_entropy_loss.
I think that using a simple sigmoid as a last activation layer would lead to the approved answer, but using softmax indicates different answer.
źródło