Нелінійність перед кінцевим шаром Softmax у згортковій нейронній мережі


12

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

Вихідні нейрони в моїй мережі представляють активацію кожного класу: найактивніший нейрон відповідає передбачуваному класу для заданого входу. Щоб розглянути можливість перехресної ентропії на навчання, я додаю шар softmax в кінці мережі, так що значення активації кожного нейрона інтерпретується як значення ймовірності.

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

  • якщо вхід до -го вихідного нейрона являє собою крапковий добуток між вектором (що надходить з попереднього шару) та вагами для цього нейрона,x T θ i x θ iiхТθiхθi
  • і якщо я використовую монотонну нелінійну функцію, як сигмоїд або ReLU
  • то більший вихід активації все ще буде відповідати найбільшому , тому з цієї точки зору нелінійна функція не змінила б прогнозування.хТθi

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

І якщо я маю рацію, чи змінилось би щось, якщо замість сигмоїдної функції я використовую функцію ReLU , яка не є суто монотонною?

макс(0,хТθi)

EDIT

З посиланням на відповідь Карела, відповідь якої в основному була "це залежить", ось більш детальний опис моєї мережі та сумнівів:

Припустимо, у мене є N прихованих шарів, а мій вихідний шар - це просто softmax шар над набором нейронів, що представляють класи (тому мій очікуваний вихід - це ймовірність того, що вхідні дані належать кожному класу). Якщо припустити, що перші шари N-1 мають нелінійні нейрони, яка різниця між використанням нелінійних проти лінійних нейронів у N-му прихованому шарі?



Чи шари N-2, N-3, .. 1 лінійні чи нелінійні?
Карел Мацек

Шари від 1 (найближчі до входу) до N-1 нелінійні. Шар N - останній (ближче до виходу) прихований шар. Шар softmax - це шар N + 1.
rand

1
Що з шаром BN безпосередньо перед softmax? це нелінійність гаразд? (це вважається нелінійністю?)
Чарлі Паркер

Відповіді:


11

Не слід використовувати нелінійність для останнього шару перед класифікацією softmax. Нелінійність ReLU (використовується зараз майже виключно) у цьому випадку просто викине інформацію, не додаючи додаткової вигоди. Ви можете подивитися на реалізацію кави відомого AlexNet для ознайомлення з тим, що робиться на практиці.


2
Що з шаром BN безпосередньо перед softmax? це нелінійність гаразд? (це вважається нелінійністю?)
Чарлі Паркер

6

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


0

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


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