Перелік функцій витрат, що використовуються в нейронних мережах, поряд із додатками


133

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

Деталі

(не соромтеся пропустити решту цього питання. Мій намір тут - просто дати пояснення щодо того, що відповіді можуть бути використані, щоб допомогти їм бути зрозумілішими для широкого читача)

Я думаю, було б корисно скласти перелік загальних функцій витрат, а також декілька способів, які вони використовуються на практиці. Тож якщо інших це цікавить, я думаю, що вікі спільноти - це, мабуть, найкращий підхід, або ми можемо зняти це, якщо це поза темою.

Позначення

Для початку я хотів би визначити позначення, які ми всі використовуємо при їх описі, тому відповіді добре поєднуються між собою.

Це позначення з книги Нілсена .

Нейронна мережа Feedforward - це багато шарів нейронів, з'єднаних між собою. Тоді він приймає на вхід, що вхід "просочується" через мережу, а потім нейронна мережа повертає вихідний вектор.

Більш формально викликати активацію (ака-вихід) нейрона нейрона в шарі , де - елемент у вхідному векторі. j t h i t h a 1 j j t hajijthithaj1jth

Тоді ми можемо пов’язати вхід наступного шару з попереднім через наступне відношення:

aji=σ(k(wjkiaki1)+bji)

де

σ - функція активації,

k t h ( i - 1 ) t h j t h i t hwjki - вага від нейрона в шарі до нейрона в шарі,kth(i1)thjthith

j t h i t hbji - зміщення нейрона в шарі , іjthith

j t h i t haji представляє значення активації нейрона в шарі.jthith

Іноді ми пишемо щоб представляти , іншими словами, значення активації нейрона перед застосуванням функції активації .k ( w i j ka i - 1 k ) + b i jzjik(wjkiaki1)+bji

введіть тут опис зображення

Для більш коротких позначень ми можемо написати

ai=σ(wi×ai1+bi)

Щоб використовувати цю формулу для обчислення виходу мережі подачі для деякого входу , встановіть , а потім обчислити , , ..., , де m - кількість шарів.a 1 = I a 2 a 3 a mIRna1=Ia2a3am

Вступ

Функція вартості - це міра "наскільки добре" зробила нейронна мережа щодо даного навчального зразка та очікуваного результату. Це також може залежати від змінних, таких як вага і зміщення.

Функція вартості - це єдине значення, а не вектор, оскільки воно оцінює, наскільки добре нейронна мережа зробила в цілому.

Зокрема, форма витрат має форму

C(W,B,Sr,Er)

де - ваги нашої нейронної мережі, - ухили нашої нейронної мережі, - вхід єдиного тренувального зразка, а - бажаний вихід цього навчального зразка. Зверніть увагу, що ця функція також може бути залежною від та для будь-якого нейрона у шарі , оскільки ці значення залежать від , та .B S r E r y i j z i j j i W B S rWBSrEryjizjijiWBSr

У зворотному розповсюдженні функція витрат використовується для обчислення похибки нашого вихідного шару, , черезδL

δjL=CajLσ(zji)
.

Що також можна записати у вигляді вектора через

δL=aCσ(zi)
.

Ми надамо градієнт функцій витрат з точки зору другого рівняння, але якщо хтось хоче сам довести ці результати, рекомендується використовувати перше рівняння, оскільки з ним легше працювати.

Вимоги до функції витрат

Для використання у зворотному розповсюдженні функція витрат повинна відповідати двом властивостям:

1: Функція витрат повинна бути спроможна записати як середнюC

C=1nxCx

над витратними функціями для окремих прикладів навчання, . xCxx

Це так, що дозволяє обчислити градієнт (стосовно ваг та ухилів) для єдиного прикладу тренувань та запустити Градієнт Спуск.

2: Функція витрат не повинно залежати від будь-яких значень активації нейронної мережі , крім вихідних значень .a LCaL

Технічно ціна функції може залежати від будь-якого або . Ми просто робимо це обмеження, щоб ми могли пропагувати, оскільки рівняння для знаходження градієнта останнього шару є єдиним, яке залежить від функції витрат (решта залежать від наступного шару). Якщо функція вартості залежить від інших шарів активації, окрім вихідного, зворотне розповсюдження буде недійсним, оскільки ідея "прокручування назад" вже не працює. z i jajizji

Також функції активації повинні мати вихід для всіх . Таким чином, ці функції витрат потрібно визначати лише в межах цього діапазону (наприклад, є дійсним, оскільки нам гарантується ).j 0ajL1j a L j0ajLajL0


3
Це веб-сайт із питань запитання, і формат цієї публікації не дуже відповідає цьому. Напевно, ви повинні поставити більшість вмісту у відповідь, а залишити лише питання (наприклад, що таке перелік функцій витрат, що використовуються в національних мережах?).
Роджер Фан

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

Але що робити, якщо інша відповідь використовує різні позначення чи термінологію?
Роджер Фан

3
Ідея полягає в тому, що всі тут використовують одну і ту ж термінологію, і якщо це інше, ми перетворюємо її на це, тож відповіді "підходять" один до одного. Але я думаю, що я міг би зняти цю частину, якщо ви не вважаєте, що це корисно.
Філіїда

1
Я просто думаю, що деталь, в яку йдеться питання, насправді не потрібна чи актуальна. Це здається трохи надмірним і обмежуючим, але це тільки я.
Роджер Фан

Відповіді:


85

Ось ті, кого я розумію поки що. Більшість із них найкраще працюють, коли задаються значення від 0 до 1.

Квадратична вартість

Також відомий як середня помилка в квадраті , максимальна ймовірність і помилка в квадраті , це визначається як:

CMST(W,B,Sr,Er)=0.5j(ajLEjr)2

Градієнт цієї функції витрат відносно виходу нейронної мережі та деякої вибірки дорівнює:r

aCMST=(aLEr)

Перехресна ентропія

Також відомий як негативна ймовірність лор- Бернуллі та Бінарна крос-ентропія

CCE(W,B,Sr,Er)=j[Ejr ln ajL+(1Ejr) ln (1ajL)]

Градієнт цієї функції витрат відносно виходу нейронної мережі та деякої вибірки дорівнює:r

aCCE=(aLEr)(1aL)(aL)

Експоненційна вартість

Для цього потрібно вибрати якийсь параметр який, на вашу думку, призведе до потрібної вам поведінки. Зазвичай вам просто потрібно буде пограти з цим, поки все не вийде добре.τ

CEXP(W,B,Sr,Er)=τ exp(1τj(ajLEjr)2)

де є просто скороченням для .exp(x)ex

Градієнт цієї функції витрат відносно виходу нейронної мережі та деякої вибірки дорівнює:r

aC=2τ(aLEr)CEXP(W,B,Sr,Er)

Я міг би переписати , але це здається зайвим. Точка - градієнт обчислює вектор, а потім помножує його на .CEXPCEXP

Відстань Хеллінгера

CHD(W,B,Sr,Er)=12j(ajLEjr)2

Більше про це можна дізнатися тут . Це повинно мати позитивні значення, а в ідеалі - значення від до . Те саме стосується наступних розбіжностей.01

Градієнт цієї функції витрат відносно виходу нейронної мережі та деякої вибірки дорівнює:r

aC=aLEr2aL

Відбій Кулбека – Лейблера

Також відомий як інформаційної дивергенції , інформація про посилення , відносної ентропії , KLIC або KL дивергенції (див тут ).

Відбій Кулбека – Лейблера зазвичай позначається ,

DKL(PQ)=iP(i)lnP(i)Q(i)

де є мірою втрати інформації при використовується для апроксимації . Таким чином, ми хочемо встановити і , тому що ми хочемо виміряти, скільки інформації втрачено, коли ми використовуємо для наближення . Це нам даєQ P P = EDKL(PQ)QPP=EiQ=aLajiEji

CKL(W,B,Sr,Er)=jEjrlogEjrajL

Решта розбіжності тут використовувати цю ж ідею створення і .P=EiQ=aL

Градієнт цієї функції витрат відносно виходу нейронної мережі та деякої вибірки дорівнює:r

aC=EraL

Узагальнена дивергенція Куллбека - Лейблера

Від сюди .

CGKL(W,B,Sr,Er)=jEjrlogEjrajLj(Ejr)+j(ajL)

Градієнт цієї функції витрат відносно виходу нейронної мережі та деякої вибірки дорівнює:r

aC=aLEraL

Відстань Ітакура - Сайто

Також звідси .

CGKL(W,B,Sr,Er)=j(EjrajLlogEjrajL1)

Градієнт цієї функції витрат відносно виходу нейронної мережі та деякої вибірки дорівнює:r

aC=aLEr(aL)2

Де . Іншими словами, просто дорівнює квадратурі кожного елемента . ( a L ) 2aL((aL)2)j=ajLajL(aL)2aL


Дякуємо за спільний доступ, ви також можете розглянути наступне
Yannis Assael

2
у вас є невелика помилка в знаменнику похідною крос-ентропії, воно повинно бути a*(1-a)НЕa*(1+a)
Amro

1
Також було б здорово показати функцію втрат пінболу, щоб мінімізувати квантили помилок, а не середню помилку. Дуже застосовується в системах підтримки прийняття рішень.
Рікардо Крус

де я можу побачити графіки для них?
coiso

1
Що стосується функції квадратичної вартості, то слід зазначити, що "середня помилка в квадраті" "максимальна ймовірність" "помилка в квадраті". Автори можуть використовувати ім’я (неправильно) взаємозамінно, але це не одне і те ж.
Джон

20

Не маю репутації коментувати, але в цих останніх 3 градієнтах є помилки знаків.

У розбіжності KL Це така ж помилка знаку з'являється в узагальненому розбіжності KL.

C=jEjlog(Ej/aj)=jEjlog(Ej)Ejlog(aj)dC=jEjdlog(aj)=j(Ej/aj)dajaC=Ea

На відстані Ітакура-Сайто

C=j(Ej/aj)log(Ej/aj)1=j(Ej/aj)log(Ej)+log(aj)1dC=j(Ej/aj2)daj+dlog(aj)=j(1/aj)daj(Ej/aj2)daj=j(ajEj)/aj2dajaC=aE(a)2
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.