Як можна потрапити в пастку на сідло?


14

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

Рішення може бути занадто банальним, щоб я його не розумів.

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

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

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

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

Я трохи розгублений у двох інших частинах.


1
Моті це отримує. Точка сідла з дуже високими схилами і оточена нульовим схилом запускає градієнтний спуск великими кроками в "багатства", з яких він не може відновитися. Подумайте над пошуком свердловини на фактично рівній рівнині. Тепер подумайте про колодязь як про сухий, так і з мурашиним пагорбом у центрі. Градієнт-спуск, який приземляється на пагорбі мурашника, але не в точній вершині, буде радіально знімати пошук. А тепер уявіть, що розмір кроків для пошуку в тисячу разів більший за діаметр свердловини. Якщо пошук коли-небудь знайде колодязь, мурашник відстрілює його в
штат

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

Відповіді:


16

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

Діаграматичне зображення точки сідла

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

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

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

Складні райони сідла

Те, як такі способи, як імпульс, ADAGRAD, Adam тощо, можуть вийти з цього, полягає в розгляді минулих градієнтів. Розглянемо імпульс,

vт=γvт-1+ηтгодетаJ(θ)

vт-1


Ну не зовсім! Відповідь на практиці дивіться: stats.stackexchange.com/a/284399/117305
alifornia

@AliAbbasinasab Я думаю, що Сурма добре пояснює. Звичайно, застрягти в звичайному сідловому пункті навряд чи ви згадуєте у своїй відповіді, але він просто показав можливість, що SGD може бути спійманий. І мені він просто показав деякі незвичайні точки сідла, що SGD не може уникнути.
Казуя Томіта

2

Це не повинно.

[ 1 ] показало, що спуск градієнта з випадковою ініціалізацією та відповідним постійним розміром кроку не сходить до точки сідла. Це довга дискусія, але для того, щоб дати вам уявлення, чому дивіться наступний приклад:

f(x,y)=12x2+14y412y2

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

z1=[00],z2=[01],z3=[01]
.

z2z3z1

z0=[x0]z1z1xR2

2f(x,y)=[1003y21]

2f(z1)xxz1


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

1
Мені не вдалося зв’язатися з вашим посиланням [1] - ви могли б надати повну інформацію? Тим часом можна побудувати контрприклади до вашої претензії, вказуючи, що вона повинна ґрунтуватися на додаткових невстановлених припущеннях.
whuber

@whuber можна легко приготувати контрприклади. Наприклад, якщо у вашому просторі є лише лінія. Я просто спробував додати точку, яка може бути не очевидною для багатьох (Спочатку мені було не надто очевидно, чому). Щодо посилання, я не маю поняття, чому ви не можете його досягти. Я двічі перевірив, посилання є дійсним і також оновлюється. Ви можете шукати "Градієнт спуск переходить до мінімізерів, Джейсон Д. Лі, Макс Сімховіц, Майкл І. Джордан † та Бенджамін Рехт † Кафедра електротехніки та комп'ютерних наук † Кафедра Каліфорнійського університету статистики, Берклі, 19 квітня 2019 року "
аліфорнія

Дякую за довідку. Швидкий погляд на це (посилання зараз працює) показує, що аналіз обмежений "суворими сідлами" (де є як позитивні, так і негативні власні значення гессея), що виключає багато можливостей. Заключні твердження статті включають "ми зазначимо, що існують дуже складні проблеми без обмежень щодо оптимізації, коли сувора умова суворого сідла", і вони пропонують квартичну мінімізацію як приклад.
whuber

0

Якщо ви перейдете до посилається на папір (вони також емпірично показують, як їх підхід без сідла дійсно покращується при міні-пакетному SGD), вони заявляють:

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

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

Здається, можливо, можна спробувати ітеративний підхід, коли можна перезапустити міні-пакетний SGD після його завершення (тобто скидання рівня навчання), щоб побачити, чи можна вийти з проблемного регіону.


0

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

Якщо ви не зменшите кроки, то ви будете перестрибувати мінімум і пропускати їх багато. Ви повинні якось зменшити розмір кроку.

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