Яка перевага усіченого нормального розподілу в ініціалізації ваг в нейронній мережі?


13

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

Рекомендація, яку я бачив у різних місцях (наприклад, у підручнику MNIST TensorFlow ), - це використовувати усічений нормальний розподіл, використовуючи стандартне відхилення , де - кількість входів до заданий шар нейрона. N1NN

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


Чи можете ви надати джерело цієї рекомендації та / або пряму пропозицію?
Тім

+ Тім Добрий момент, я додав посилання на приклад. Я вважаю, що я також бачив цю рекомендацію в роботі про добрі практики нейронної мережі (проте не можу її знайти).
MiniQuark

Відповіді:


13

Я думаю, що це про насичення нейронів. Подумайте, у вас є така функція активації, як сигмоїд.

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

Якщо ваш ваговий вал отримає значення> = 2 або <= - 2, ваш нейрон не навчиться. Отже, якщо ви скоротите ваш звичайний дистрибутив, ви не матимете цієї проблеми (принаймні від ініціалізації) на основі вашої дисперсії. Я думаю, що тому, краще використовувати усічену норму взагалі.


Так, це має сенс, дякую. Я думаю, ви мали на увазі "значення> = 2", а не 1.
MiniQuark

так, припустимо, це значення> = 2
Güngör Basa

4

Перевага використання усіченого нормального розподілу полягає у запобіганні генерування "мертвих нейронів" завдяки використанню relu_logits , що пояснюється тут .

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


Я не впевнений, як використання усіченого_нормального запобігає мертвим нейронам: це не додасть «злегка позитивного початкового зміщення». Чи можете ви, будь ласка, докладно?
MiniQuark

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