Чи можливо тренувати нейронну мережу без зворотного розповсюдження?


94

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

Припустимо, ми будуємо модель з параметрами / вагами ~ 10K. Чи можливо запустити оптимізацію за допомогою деяких алгоритмів оптимізації без градієнта?

Я думаю, що обчислення числового градієнта було б надто повільним, але як щодо інших методів, таких як Нелдер-Мід, імітаційний відпал або генетичний алгоритм?

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



6
@FranckDernoncourt Інше питання я трактував як "чому б не використовувати методи глобальної оптимізації для тренування нейронних мереж?", Тоді як це більше "чому не використовувати оптимізатори без похідних ...".
GeoMatt22

6
Маючи 3 обґрунтованих відповіді, це здається мені не надто широким, щоб відповідати мені.
gung

5
Так, вам не доведеться багато хвилюватися, коли Нєлдер-Мід застрягне на місцевому мінімумі, тому що вам пощастить, якщо він стане десь корисним.
Марк Л. Стоун

1
BTW, ультра L-BFGS, дають це кружляння. це може бути добре, але це так незрозуміло, напевно, ніхто навіть не пробував це в нейромережах. Дивіться рівняння 2.9 на с. 12 (вам потрібно прочитати попередні кілька сторінок, щоб зрозуміти формулу) математики maths.dundee.ac.uk/nasc/na-reports/NA149_RF.pdf (у статті не називається ультра BFGS), яку потім потрібно буде потрапляйте у "L" (обмежену пам'ять) версію, щоб бути ультра L-BFGS, а не ультра BFGS. Версія, що не стосується L, викладена у статті. Ultra BFGS - це, в основному, придушений ("гарячий стрижень") BFGS - може бути швидшим, але може бути трохи дикішим.
Марк Л. Стоун

Відповіді:


80

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

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

Відносно недавній документ, який порівнює сучасний стан, полягає в наступному:

Rios, LM, & Sahinidis, NV (2013) Оптимізація без похідних: огляд алгоритмів та порівняння програмних реалізацій. Журнал глобальної оптимізації.

Це приємний документ, який містить багато цікавих поглядів на останні методи. Наприклад, результати наочно показують, що найкращі локальні оптимізатори - це "засновані на моделі", використовуючи різні форми послідовного квадратичного програмування (SQP).

Однак, як зазначається у їхньому рефераті, "Ми виявляємо, що здатність усіх цих вирішувачів отримувати хороші рішення зменшується зі збільшенням розміру проблеми". Щоб дати уявлення про числа, для всіх проблем вирішувачам було надано бюджет в 2500 оцінок функцій, а розміри задач мали максимум ~ 300 параметрів для оптимізації. Крім параметрів O [10], дуже мало таких оптимізаторів спрацювало дуже добре, навіть навіть найкращі показали помітне зниження продуктивності, оскільки розмір проблеми збільшувався.

Отже, для задач з великими розмірами алгоритми DFO просто не є конкурентними з похідними. Для надання певної перспективи оптимізація на основі PDE (часткове диференціальне рівняння) - це ще одна область з дуже високими розмірними проблемами (наприклад, кілька параметрів для кожної комірки великої 3D-мережі з кінцевими елементами). У цій царині " суміжний метод " є одним із найбільш використовуваних методів. Це також оптимізатор нахилу градієнта, заснований на автоматичній диференціації коду моделі вперед.

Найближчим до оптимізатора великого розміру DFO є, можливо, фільтр Ensemble Kalman , який використовується для засвоєння даних у складних моделюваннях PDE, наприклад, погодних моделей. Цікаво, що це, по суті, підхід SQP, але з байєсово-гауссовою інтерпретацією (тому квадратична модель є позитивно визначеною, тобто немає сідлових точок). Але я не думаю, що кількість параметрів або спостережень у цих додатках порівнянна з тією, що спостерігається при глибокому навчанні.

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

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

Пов’язана стурбованість щодо локальної та глобальної оптимізації (наприклад, це питання, зазначене в коментарях). Хоча я не займаюся глибоким навчанням, на моєму досвіді переозброєння, безумовно, є важливою проблемою. На мою думку, методи глобальної оптимізації найбільше підходять для проблем інженерного проектування , які сильно не залежать від "природних" даних. У завданнях асиміляції даних, будь-які поточні глобальні мінімуми легко можуть змінитися при додаванні нових даних (застереження: Мій досвід буде зосереджений в задачах геонаучних, де дані зазвичай «розріджений» по відношенню до моделі ємності).

Мабуть, цікавий погляд

О. Bousquet & L. Bottou (2008) Компроміс широкомасштабного навчання. NIPS.

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

Заключна примітка (метаоптимізація): Хоча методи, засновані на градієнті, здаються домінуючими для навчальних мереж, може існувати роль DFO у пов'язаних із ними завданнях метаоптимізації.

Одним із прикладів може бути налаштування гіперпараметрів. (Цікаво, що успішні оптимізатори DFO на основі моделей від Rios & Sahinidis можна розглядати як по суті вирішення послідовності проблем проектування-експериментів / відповіді-поверхні .)

Іншим прикладом може бути проектування архітектури з точки зору налаштування шарів (наприклад, кількості, типу, послідовності, вузлів / шару). У цьому контексті дискретної оптимізації алгоритми генетичного стилю можуть бути більш доречними. Зауважте, що тут я маю на увазі випадок, коли зв’язність неявно визначається цими факторами (наприклад, повністю пов'язані шари, згорткові шари тощо). Іншими словами, зв'язок є метаоптимізованою явно. (Міцність зв’язку впаде під час тренувань, де, наприклад, обмеженість може бути підвищена регуляризацією та / або активацією ReLU ... ці варіанти можуть бути мета-оптимізовані.)O[N2]notL1


1
"Огляд", який ви цитуєте, ведеться від основних прихильників нейронних мереж; Я б поставив під сумнів твердження про локальні мінімуми - добре відома теоретична критика NN полягає в тому, що будь-яка складна модель не може бути оптимізована за допомогою градієнтного спуску, оскільки вона застрягне в локальних мінімумах. Незрозуміло, чи можна вирішити лише трішки успіхів заднім числом, а про невдачі ви не чуєте.
seanv507

2
@ GeoMatt22 Контрастна дивергенція - це особливе наближення до градієнта особливого класу моделей, під який потрапляють ПЗМ. Слід зазначити, що ПДМ - це імовірнісні моделі, які передбачають певний вид розподілу, для якого градієнт оцінки максимальної вірогідності є непереборним. Нейронні мережі - це обчислювальні моделі, які можна використовувати без будь-якої ймовірнісної вихідної точки, наприклад, шляхом оптимізації втрат шарніру. Якщо коротко розповісти, компакт-диск не є загальним засобом для оптимізації нейронних мереж.
bayerj

2
@ seanv507 Хоча заяву висловили основні прихильники, є рецензовані статті з найкращих конференцій машинного навчання, які ретельно оцінюють ці твердження, наприклад, arxiv.org/abs/1406.2572 . На сьогоднішній день ця заява широко прийнята в широкому співтоваристві з питань ML, головним чином завдяки її вищим теоретичним аргументам та емпіричним свідченням. Я не думаю, що аргумент ad hominem тут є адекватним.
байерж

1
Я згоден, що теорії DL не вистачає. Але ви повинні визнати, що такі статті просуваються до цього. Якщо ви вважаєте, що стаття констатує неправильні результати, а висновки (наприклад, "місцеві мінімуми є меншою проблемою, ніж точки сідла") недійсні, вам потрібно зробити краще, ніж заявити ще одну атаку ad hominem, на цей раз спрямовану на ML-спільнота в цілому.
bayerj

1
Недавня робота показує, що при випадковій ініціалізації спуск градієнта сходить до локального мінімуму (а не точки сідла). Доповідь тут: arxiv.org/abs/1602.04915 та публікація в блозі тут: offconvex.org/2016/03/24/saddles-again З іншого боку, існує (менше) нещодавня гіпотеза, що у великих нейронних мережах локальні мінімуми є про так само добре, як глобальне, тут обговорювались: stats.stackexchange.com/questions/203288/…
DavidR

12

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

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

Вікіпедія (я знаю, не найбільше джерело, але все ж) говорить

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

джерело

Щодо генетичних алгоритмів, я б бачив Backpropagation vs Genetic Algorithm для тренувань з нейронної мережі

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

Я б не вважав backprop як один алгоритм, а клас алгоритмів.

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


12

Ну, оригінальні нейронні мережі до революції розмноження в 70-х роках були «навчені» вручну. :)

Це сумно:

Існує "школа машинного навчання", яка називається екстремальною машиною навчання , яка не використовує зворотного розповсюдження.

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

Більшість людей, принаймні ті, з ким я працюю, з цим наслідуванням ставляться до «школи» машинного навчання, і вони є групою ізгоїв, що мають власні конференції тощо, але я насправді думаю, що це щось геніальне.


Ще один момент: всередині зворотного розповсюдження є такі альтернативи, які рідко згадуються, як пружна зворотна розмноження , які реалізовані в R в neuralnetпакеті, які використовують лише величину похідної. Алгоритм складається із умов if-else замість лінійної алгебри. Вони мають деякі переваги перед традиційним розмноженням, а саме вам не потрібно нормалізувати свої дані, оскільки вони не страждають від зникаючої проблеми з градієнтом .


Таксі ви робите (більшу частину або всю частину) шпилі в четвертому абзаці, а потім використовуєте результат як вихідну точку для оптимізації на основі похідних, щоб "тонко налаштувати" її.
Марк Л. Стоун

1
@ MarkL.Stone Я не знаю тих, хто здійснив зворотне розповсюдження, застосувавши спочатку лінійну регресію до останнього шару. Хоча це звучить цікаво.
Рікардо Крус

1
Наскільки я знаю, суперечки навколо ЕЛМ пов'язані здебільшого з етичних аспектів, а не з реалізації. Шмідт та ін. Вже торкнулися цієї теми у 1992 році, їх мережа Feedforward із випадковими вагами.
Firebug

3

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


3

Ви також можете скористатися іншою мережею, щоб порадити, як слід оновлювати параметри.

Існує Розв’язаний нейронний інтерфейс (DNI) від Google Deepmind. Замість використання зворотного розповсюдження, він використовує інший набір нейронних мереж, щоб передбачити, як оновити параметри, що дозволяє проводити паралельне та асинхронне оновлення параметрів.

У статті показано, що DNI збільшує швидкість навчання та ємність моделі RNN та дає порівнянні результати як для RNN, так і для FFNN у різних завданнях.


У статті також перераховано та порівняно багато інших методів беззахисного поширення

Наша синтетична градієнтна модель найбільш аналогічна функції значення, яка використовується для сходження градієнта [2], або функції значення, що використовується для завантаження. Більшість інших робіт, які спрямовані на усунення зворотного розповсюдження, роблять це з метою виконання біологічно правдоподібного призначення кредиту, але це не усуває блокування оновлень між шарами. Наприклад, поширення цілі [3, 15] знімає залежність від прохідних градієнтів між шарами, замість цього генеруючи активацію цілі, до якої слід підходити. Однак ці цілі все ж повинні генеруватися послідовно, поширюючись назад через мережу, і шари все ще залишаються оновленими та зворотно замкненими. Інші алгоритми знімають блокування назад, дозволяючи передавати втрати чи винагороди безпосередньо кожному шару - наприклад, REINFORCE [21] (враховуючи, що всі активації є діями),1та коагентні мережі з градієнтами політики [20], але все ще залишаються заблокованими, оскільки вони вимагають, щоб винагороди були отримані результатом (або глобальним критиком). Хоча Поточне навчання в режимі реального часу [22] або наближення, наприклад [17], може здатися перспективним способом зняти блокування оновлення, ці методи вимагають збереження повного (або приблизного) градієнта поточного стану щодо параметрів. Це по суті не є масштабним, а також вимагає від оптимізатора мати глобальні знання про стан мережі. На відміну від цього, формуючи взаємодію між шарами як локальну проблему зв'язку з DNI, ми усуваємо необхідність глобальних знань про систему навчання. Інші роботи, такі як [4, 19], дозволяють тренувати шари паралельно без зворотного розповсюдження,


2

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

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