Чи може глибока нейронна мережа наближати функцію множення без нормалізації?


27

Скажімо, ми хочемо зробити регресію для простого f = x * yвикористання стандартної глибокої нейронної мережі.

Я пам’ятаю, що є повторні дослідження, які говорять про те, що NN з одним прихованим шаром може апоксимувати будь-яку функцію, але я спробував і без нормалізації NN не зміг наблизити навіть це просте множення. Тільки журнал-нормалізація даних допоміг. m = x*y => ln(m) = ln(x) + ln(y). Але це схоже на обман. Чи може це зробити NN без нормалізації журналу? Незрозумілий, очевидно, (як на мене) - так, тож питання полягає в тому, яким має бути тип / конфігурація / компонування таких NN?

Відповіді:


13

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

  1. Ділимо на постійну. Ми просто ділимо все до навчання і множимо після.
  2. Використовуйте нормалізацію журналу. Це робить множення на додавання:

    м=хуln(м)=ln(х)+ln(у)


5

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

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


5

NN з функцією активації relu може наближати множення, коли діапазон входів обмежений. Нагадаємо, що relu(x) = max(x, 0).

Досить, якщо NN наближає квадратну функцію g(z) = z^2, оскільки x*y = ((x-y)^2 - x^2 - y^2)/(-2). Права сторона має просто лінійні комбінації та квадрати.

NN може наближатися z^2до кусково-лінійної функції. Наприклад, на дальність [0, 2]поєднання xі relu(2(x-1))не так вже й погано. Нижче на малюнку це візуалізується. Не маю уявлення, чи корисно це поза теорією :-) введіть тут опис зображення


0

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


0

Я не можу коментувати через те, що я нещодавно активний користувач на StackExchange. Але я вважаю, що це важливе питання, тому що його так просто зрозуміти, але важко пояснити. Щодо поваги, я не вважаю, що прийнята відповідь є достатньою. Якщо ви думаєте про основні операції стандартної передачі даних NN, з активацією форми s(W*x+b)для якоїсь нелінійної функції активації s, насправді не очевидно, як «дістати» множення з цього навіть у складеній (багатошаровій) мережі. Масштабування (перша куля у прийнятій відповіді), здається, взагалі не вирішує питання ... масштабуючи за що? Вхідні дані xі y, імовірно, різні для кожного зразка. І брати журнал добре, доки ви знаєтеце те, що вам потрібно зробити, і подбати про питання знаків при попередній обробці (оскільки очевидно, що журнал не визначений для негативних входів). Але це принципово не узгоджується з уявленням про те, що нейронні мережі можуть просто «вчитися» (це відчувається як обман, як сказала ОП). Я не думаю, що на це питання слід вважати відповідь, поки це насправді не буде хтось розумніший за мене!

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