Функція витрат на перехресну ентропію в нейронній мережі


11

Я переглядаю функцію витрат на перехресну ентропію, знайдену в цьому підручнику :

C=1nx[ylna+(1y)ln(1a)]

Що саме ми підсумовуємо? Звичайно, це понад , але і не змінюються з . Усі є введеннями в один . навіть визначено в абзаці вище рівняння як функція від суми всіх 's та ' s. xyaxxaawx

Також визначається як кількість входів у цей конкретний нейрон, правильно? Це сформульовано як "загальна кількість елементів даних про навчання" .n


Редагувати:

Чи правильно я вважаю це

C=1nx[ylna+(1y)ln(1a)]

буде функцією витрат для всієї мережі, тоді як

C=[ylna+(1y)ln(1a)]

була б витрата на окремий нейрон? Чи не повинна сума перевищувати кожен вихідний нейрон?

Відповіді:


14

Ось як я б виразив крос-ентропійну втрату :

L(X,Y)=1ni=1ny(i)lna(x(i))+(1y(i))ln(1a(x(i)))

Тут - це набір прикладів введення в навчальному наборі даних, а - це відповідний набір міток для цих прикладів введення. являє собою вихід нейронної мережі з урахуванням вхідного .X={x(1),,x(n)}Y={y(1),,y(n)}a(x)x

Кожен з або 0, або 1, і активація виходу як правило, обмежується відкритим інтервалом (0, 1) за допомогою логістичної сигмоїди . Наприклад, для одношарової мережі (що еквівалентно логістичній регресії) активація дається через де - a вагова матриця і - вектор зміщення. Для декількох шарів ви можете розширити функцію активації на щось на зразок де і - вагова матриця і зміщення першого шару, аy(i)a(x)

a(x)=11+eWxb
Wb
a(x)=11+eWz(x)bz(x)=11+eVxc
Vcz(x) - це активація прихованого шару в мережі.

Я використав (i) суперскрипт для позначення прикладів, тому що виявив, що він досить ефективний в курсі машинного навчання Ендрю Нг; інколи люди висловлюють приклади як стовпці чи рядки в матриці, але ідея залишається такою ж.


Дякую! Таким чином, це дасть нам єдине число за нашу помилку для всієї мережі в усіх наших зразках. Для зворотного розповсюдження мені потрібно знайти часткову похідну від цієї функції wrt матриці в кінцевому шарі. Як би я це зробив?
Адам12344

Робити задню частину - це ціла окрема банка глистів! Сторінка, на яку ви посилаєтесь, містить опис похідних обчислень тощо, і є багато питань щодо зворотної підтримки на stackoverflow та на цьому веб-сайті. Спробуйте трохи озирнутися, а потім опублікувати окреме запитання, зокрема про backprop.
lmjohns3

Це може бути корисним для вас, коли ви розумієте, що задній простір проходить через задню опору з чотирьохшаровою нейронною мережею з перехресною ентропією втратою в деталях :) cookedsashimi.wordpress.com/2017/05/06/…
YellowPillow

5

Що саме ми підсумовуємо?

Підручник насправді досить явний:

... - загальна кількість елементів даних тренувань, сума перевищує всі входи на навчання ...n

Оригінальна функція вартості єдиного нейрона, наведена в навчальному посібнику (рівняння 57), також має підпис під під який повинен на це натякати. Для одного нейрона випадку немає нічого іншого підсумувати , крім навчальних прикладів, так як ми вже підсумовується за всіма вхідним ваг при обчисленні :xΣa

a=jwjxj.

Пізніше в цьому ж посібнику Нільсен дає вираз для функції витрат для багатошарової мультинейронової мережі (рівняння 63):

C=1nxj[yjlnajL+(1yj)ln(1ajL)].

У цьому випадку сума перебігає як на приклади тренувань ( 's), так і на окремі нейрони у вихідному шарі ( ' s).jxj


Дякую за розуміння, одне питання: останнє, яке ви визначили, не є категоричною крос-ентропією, правда?
Томмазо Герріні

Він також зазначив у своєму підручнику, що "y іноді може приймати значення проміжні між 0 і 1", але функція, яку він дав, увімкнена y, і введення активації не було. Як ми могли реалізувати проміжні значення у функції st?
Ферас

У підручнику Нільсена, який показує одношаровий перцептрон, a = \ sigma (\ sum_ {j} w_j x_j), оскільки у вас є функція активації сигмоїдів для вихідного шару, а не = \ sum_ {j} w_j x_j
ARAT
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.