Які загальновиробничі функції, що використовуються при оцінці працездатності нейронних мереж?
Деталі
(не соромтеся пропустити решту цього питання. Мій намір тут - просто дати пояснення щодо того, що відповіді можуть бути використані, щоб допомогти їм бути зрозумілішими для широкого читача)
Я думаю, було б корисно скласти перелік загальних функцій витрат, а також декілька способів, які вони використовуються на практиці. Тож якщо інших це цікавить, я думаю, що вікі спільноти - це, мабуть, найкращий підхід, або ми можемо зняти це, якщо це поза темою.
Позначення
Для початку я хотів би визначити позначення, які ми всі використовуємо при їх описі, тому відповіді добре поєднуються між собою.
Це позначення з книги Нілсена .
Нейронна мережа Feedforward - це багато шарів нейронів, з'єднаних між собою. Тоді він приймає на вхід, що вхід "просочується" через мережу, а потім нейронна мережа повертає вихідний вектор.
Більш формально викликати активацію (ака-вихід) нейрона нейрона в шарі , де - елемент у вхідному векторі. j t h i t h a 1 j j t h
Тоді ми можемо пов’язати вхід наступного шару з попереднім через наступне відношення:
де
- функція активації,
k t h ( i - 1 ) t h j t h i t h - вага від нейрона в шарі до нейрона в шарі,
j t h i t h - зміщення нейрона в шарі , і
j t h i t h представляє значення активації нейрона в шарі.
Іноді ми пишемо щоб представляти , іншими словами, значення активації нейрона перед застосуванням функції активації . ∑ k ( w i j k ⋅ a i - 1 k ) + b i j
Для більш коротких позначень ми можемо написати
Щоб використовувати цю формулу для обчислення виходу мережі подачі для деякого входу , встановіть , а потім обчислити , , ..., , де m - кількість шарів.a 1 = I a 2 a 3 a m
Вступ
Функція вартості - це міра "наскільки добре" зробила нейронна мережа щодо даного навчального зразка та очікуваного результату. Це також може залежати від змінних, таких як вага і зміщення.
Функція вартості - це єдине значення, а не вектор, оскільки воно оцінює, наскільки добре нейронна мережа зробила в цілому.
Зокрема, форма витрат має форму
де - ваги нашої нейронної мережі, - ухили нашої нейронної мережі, - вхід єдиного тренувального зразка, а - бажаний вихід цього навчального зразка. Зверніть увагу, що ця функція також може бути залежною від та для будь-якого нейрона у шарі , оскільки ці значення залежать від , та .B S r E r y i j z i j j i W B S r
У зворотному розповсюдженні функція витрат використовується для обчислення похибки нашого вихідного шару, , через
Що також можна записати у вигляді вектора через
Ми надамо градієнт функцій витрат з точки зору другого рівняння, але якщо хтось хоче сам довести ці результати, рекомендується використовувати перше рівняння, оскільки з ним легше працювати.
Вимоги до функції витрат
Для використання у зворотному розповсюдженні функція витрат повинна відповідати двом властивостям:
1: Функція витрат повинна бути спроможна записати як середню
над витратними функціями для окремих прикладів навчання, . x
Це так, що дозволяє обчислити градієнт (стосовно ваг та ухилів) для єдиного прикладу тренувань та запустити Градієнт Спуск.
2: Функція витрат не повинно залежати від будь-яких значень активації нейронної мережі , крім вихідних значень .a L
Технічно ціна функції може залежати від будь-якого або . Ми просто робимо це обмеження, щоб ми могли пропагувати, оскільки рівняння для знаходження градієнта останнього шару є єдиним, яке залежить від функції витрат (решта залежать від наступного шару). Якщо функція вартості залежить від інших шарів активації, окрім вихідного, зворотне розповсюдження буде недійсним, оскільки ідея "прокручування назад" вже не працює. z i j
Також функції активації повинні мати вихід для всіх . Таким чином, ці функції витрат потрібно визначати лише в межах цього діапазону (наприклад, є дійсним, оскільки нам гарантується ).j √ a L j ≥0