Різні визначення функції перехресної ентропії


12

Я почав вивчати нейронні мережі з навчального посібника з нейронної роботи та вивчення навчальних точок. Зокрема, у 3-му розділі є розділ про функцію логічної ентропії та визначається втрата поперечної ентропії як:

C=−1n∑x∑j(yjln⁡ajL+(1−yj)ln⁡(1−ajL))

Однак, читаючи вступ Tensorflow , втрата поперечної ентропії визначається як:

C=−1n∑x∑j(yjln⁡ajL) (при використанні тих же символів, що і вище)

Тоді, шукаючи навколо, щоб знайти, що відбувається, я знайшов ще один набір приміток: ( https://cs231n.github.io/linear-classify/#softmax-classifier ), який використовує зовсім інше визначення перехресної ентропійної втрати, хоча це час для класифікатора softmax, а не для нейронної мережі.

Може хтось пояснить мені, що тут відбувається? Чому існують розбіжності btw. як люди визначають втрату перехресної ентропії як? Чи є лише якийсь всеохоплюючий принцип?


Відповіді:


18

Ці три визначення по суті однакові.

1) Вступ Tensorflow ,

C=−1n∑x∑j(yjln⁡aj).

2) Для двійкових класифікацій вона стає і через обмеження і , його можна переписати як що є тим же, що і в 3-му розділі .С = - 1j=2

C=−1n∑x(y1ln⁡a1+y2ln⁡a2)
∑jaj=1∑jyj=1
C=−1n∑x(y1ln⁡a1+(1−y1)ln⁡(1−a1))

3) Більше того, якщо - один гарячий вектор (що зазвичай трапляється для класифікаційних міток), а є єдиним ненульовим елементом, то перехресні втрати ентропії відповідного зразка у до С х = - Σ J ( у J пер в J ) = - ( 0 + 0 + . . . + у до пров до ) = - пер в до .yyk

Cx=−∑j(yjln⁡aj)=−(0+0+...+ykln⁡ak)=−ln⁡ak.

У примітках cs231 перехресна ентропійна втрата одного зразка подається разом із нормалізацією програмного забезпечення як

Cx=−ln⁡(ak)=−ln⁡(efk∑jefj).

0

У третьому розділі рівняння (63) - це поперечна ентропія, застосована до декількох сигмоїдів (які не можуть дорівнювати 1), тоді як у введенні Tensoflow перехресна ентропія обчислюється на вихідному шарі softmax.

Як пояснив dontloo, обидві формули по суті є еквівалентними для двох класів, але це не тоді, коли розглядається більше двох класів. Softmax має сенс для багатокласових класів з ексклюзивними класами ( тобто, коли існує лише одна мітка на зразок, що дозволяє однокольорове кодування міток), тоді як (кілька) сигмоїдів можна використовувати для опису багатозначної проблеми (тобто з можливими позитивними зразками для кількох класів).

Дивіться також цю іншу відповідь dontloo .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.