Random Initialization
Оновлено: 31.07.2023
Нейронні мережі та випадкова ініціалізація
Останнім часом нейронні мережі є універсальним рішенням практично для всіх проблем машинного навчання. Завдяки здатності нейронних мереж синтезувати складні нелінійності, вони можуть забезпечити раніше недосяжну точність майже завжди.
Переходячи від одного товстого шару до іншого, вони використовують особливості даних для створення все більш складних ознак. Дослідники намагалися вивчити ці складні механізми створення функцій, але поки що не досягли значних успіхів. І нейронні мережі залишаються загадковими чорними скриньками, якими вони завжди були.
Деякі вчені також виступають проти використання нейронних мереж у таких критично важливих сферах, як автономні транспортні засоби та дрони. Вони стверджують, що порівняно з системами прийняття рішень, такими як машини опорних векторів або випадкові ліси, рішення, прийняті глибинною нейронною мережею, не можуть бути обґрунтованими.
Якщо одного разу щось піде не так, скажімо, автономний автомобіль зістрибне зі скелі по дорозі до продуктового магазину, причину проблеми можна буде легко визначити та усунути, якщо за поведінку автомобіля відповідатимуть машини з опорними векторами.
З іншого боку, ніхто не може передбачити, чому автомобіль з'їхав з обриву і прийняв таке рішення через дуже складну структуру нейронних мереж.
- Але, зважаючи на все, жоден інший підхід сьогодні не може вивчати дані так точно, як нейронні мережі. Розпізнавання зображень стало таким, яким воно є зараз, завдяки нейронним мережам. Зараз розробляються великі згорткові мережі, які стають все більш точними у виявленні об'єктів, аж до того, що можуть конкурувати з людиною.
Між кожними двома шарами нейронної мережі існують ваги. Щоб отримати значення наступного шару, лінійне перетворення цих ваг і значень у попередніх шарах пропускається через нелінійну функцію активації.
Цей процес відбувається шар за шаром під час прямого розповсюдження, а оптимальні значення цих ваг можуть бути визначені шляхом зворотного розповсюдження, щоб створити правильні вихідні дані на вході.
Ініціалізація нейронних мереж
Зосередимося на трьох способах ініціалізації ваг машинного навчання між шарами:
- Нульова ініціалізація не має сенсу. Нейронна мережа не порушує симетрію. Якщо всі ваги дорівнюють 0, всі нейрони в усіх шарах виконують однакові обчислення, що призводить до однакового результату, що робить глибинну мережу безглуздою. Якщо ваги дорівнюють 0, загальна складність глибокої мережі дорівнює складності одного нейрона, а передбачення є не більш ніж випадковими.
- Випадкова ініціалізація для нейронних мереж допомагає в процесі порушення симетрії і покращує точність. Ваги ініціалізуються випадковим чином, дуже близько до нуля. В результаті симетрія порушується, і кожен нейрон більше не виконує однакові обчислення.
Для порушення симетрії зазвичай використовується метод випадкової ініціалізації, який забезпечує значно вищу точність, ніж нульова ініціалізація. Він не дозволяє нейронам сприймати ті самі характеристики, що й на вході. Оскільки нейронна мережа швидко запам'ятовує навчальні дані, вона є особливо чутливою і схильною до перенавчання.
Наша мета, однак, полягає в тому, щоб кожен нейрон навчався різним функціям на основі вхідних даних. Якщо ваги, ініціалізовані випадковим чином, можуть бути дуже високими або дуже низькими, може виникнути нова складність.
Коли ваги ініціалізуються великим числом, член зростає. Потім значення зіставляється з 1 за допомогою сигмоїдної функції, що призводить до повільнішої зміни градієнта нахилу донизу. Навчання займає значну кількість часу!!!
Коли ваги ініціалізуються значно меншим значенням, відбувається та сама ситуація. Сигмоїдна функція має тенденцію відображати значення в нуль, сповільнюючи процес оптимізації. Спробуємо застосувати цю ж модель на наведеному вище наборі даних з випадковою ініціалізацією.
- Нееталонна ініціалізаціяу цьому методі ваги починаються з урахуванням розміру попереднього шару, що дозволяє швидше та ефективніше знаходити глобальний мінімум функції вартості. Хоча ваги все ще є випадковими, їх діапазон змінюється залежно від розміру попереднього шару нейронів. В результаті регульованої ініціалізації градієнтний спуск відбувається швидше і ефективніше.
Таким чином, нейрон запам'ятовує одні й ті ж функції майже кожну ітерацію завдяки нульовій ініціалізації.
Випадкова ініціалізація є кращим вибором для порушення симетрії; тим не менш, ініціалізація дуже високим або низьким значенням може призвести до сповільнення оптимізації.
Цю проблему можна частково вирішити, додавши додатковий масштабний коефіцієнт до ініціалізації He-et-al. В результаті, це найбільш рекомендований підхід до ініціалізації ваг з трьох запропонованих.