Використовуйте регулятор ваги, щоб зменшити переобладнання моделей глибокого навчання

Останнє оновлення 6 серпня 2019 року

Нейронні мережі вивчають набір вагових коефіцієнтів, які найкраще відображають входи та виходи.

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

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

У цьому дописі ви дізнаєтесь про регулювання ваги як підхід до зменшення надмірності нейронних мереж.

Прочитавши цю публікацію, ви дізнаєтесь:

  • Великі ваги нейронної мережі є ознакою більш складної мережі, яка перевершує дані навчання.
  • Оштрафування мережі на основі розміру ваги мережі під час навчання може зменшити перенапруження.
  • До оптимізації мережі може бути додано покарання норми L1 або L2 для заохочення менших ваг.

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

Давайте розпочнемо.

ваги

Ніжний вступ до регулювання ваги для зменшення переобладнання моделей глибокого навчання
Фото Джоджо Нікдао, деякі права захищено.

Проблема з великими вагами

Підбираючи модель нейронної мережі, ми повинні вивчити ваги мережі (тобто параметри моделі), використовуючи стохастичний градієнтний спуск та навчальний набір даних.

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

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

Великі ваги, як правило, спричиняють різкі переходи у функціях вузла і, отже, великі зміни на виході при незначних змінах на входах.

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

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

… Враховуючи деякі навчальні дані та мережеву архітектуру, численні набори значень ваги (кілька моделей) можуть пояснити дані. Більш прості моделі рідше пристосовуються до складних. Проста модель у цьому контексті - це модель, де розподіл значень параметрів має меншу ентропію

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

Малі ваги або навіть нульові ваги для менш релевантних або нерелевантних входів у мережу дозволять моделі зосередитись на навчанні. Це також призведе до спрощення моделі.

Хочете отримати кращих результатів із глибоким навчанням?

Пройдіть мій безкоштовний 7-денний курс збою електронної пошти зараз (із зразком коду).

Клацніть, щоб зареєструватися, а також отримати безкоштовну версію курсу у форматі PDF для електронних книг.

Заохочуйте малі ваги

Алгоритм навчання може бути оновлений, щоб заохотити мережу до використання невеликих ваг.

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

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

Багато підходів до регуляризації засновані на обмеженні можливостей моделей, таких як нейронні мережі, лінійна регресія або логістична регресія, додаючи покарання […] до цільової функції.

Більші ваги призводять до більшого штрафу у вигляді більшої оцінки втрат. Потім алгоритм оптимізації підштовхує модель до менших ваг, тобто ваг, не більших за необхідні для ефективної роботи з навчальним набором даних.

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

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

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

Додавання показників за ваговий розмір або регуляризацію ваги до нейронної мережі має наслідком зменшення помилки узагальнення та дозволяє моделі приділяти менше уваги менш релевантним вхідним змінним.