Як стохастичний градієнтний спуск може уникнути проблеми локального мінімуму?


Відповіді:


22

Алгоритм стохастичного градієнта (SG) веде себе як алгоритм імітаційного відпалу (SA), де швидкість навчання СГ пов'язана з температурою СА. Випадковість або шум, внесений SG, дозволяє втекти від місцевих мінімумів для досягнення кращого мінімуму. Звичайно, це залежить від того, наскільки швидко ви знижуєте рівень навчання. Прочитайте розділ 4.2 Стохастичного градієнтного навчання в нейронних мережах (pdf) , де це пояснено більш докладно.


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

2

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

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


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

2

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

Щоб візуалізувати це за допомогою двовимірного прикладу, ось декілька фігур та малюнків з класу машинного навчання Ендрю Нґ.

Перший градієнтний спуск:

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

По-друге, стохастичний градієнтний спуск:

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

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

Отже, ось кілька практичних порад, якщо ви використовуєте стохастичний градієнтний спуск:

1) перемішайте навчальний набір перед кожною епохою (або ітерацію у "стандартному" варіанті)

2) використовувати адаптивну швидкість навчання, щоб "відпалити" ближче до світового мінімуму


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

Перемішування - це в основному один із способів змусити їх вибирати навчальні зразки навмання. У своїх реалізаціях я зазвичай forпереміщую навчальний набір перед кожною епохою, а потім просто переходжу через перетасований набір

2
Гм, у вікіпедії алгоритм SGD описується як "без заміни", однак Ботту описує його як ви (Ботту, Леон. "Масштабне машинне навчання зі стохастичним градієнтним спуском". Праці COMPSTAT'2010. Physica-Verlag HD, 2010. 177-186.), І я думаю, що тут я б схильний довіряти Ботту більше, ніж цій статті Вікіпедії.

4
@xeon Ознайомтеся з цією роботою , в якій стверджується, що вибірки без заміни є кращими. Я розумію, що без заміни, як правило, емпірично перевершують, але теоретичні аналізи були доступні зовсім недавно.
Дугал

1
@xeon Я просто переглянув свої слайди PDF з курсу Ендрю Нґ, і, здається, він описав це як у Вікіпедії (варіант "без заміни") не так, як Ботту. Я завантажив сюди скріншот
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.