Вартісна функція нейронної мережі є невипуклою?


36

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

Якщо він невипуклий, значить, похідна 2-го порядку , правда?JW<0

ОНОВЛЕННЯ

Завдяки нижченаведеним відповідям, а також коментарю @ gung, я зрозумів, що якщо у вас немає прихованих шарів, він опуклий, як і логістична регресія. Але якщо є приховані шари, переймаючи вузли в прихованих шарах, а також ваги в наступних з'єднаннях, ми можемо мати кілька рішень ваг, що призводять до однакових втрат.

Тепер більше запитань,

1) Є кілька локальних мінімумів, і деякі з них повинні мати однакове значення, оскільки вони відповідають деяким перестановкам вузлів і ваг, правда?

2) Якщо вузли і ваги взагалі не будуть перестановлені, то це опукло, правда? І мінімуми будуть глобальними мінімумами. Якщо так, відповідь на відповідь 1) полягає в тому, що всі ці локальні мінімуми матимуть однакове значення, правда?


Невипуклий тим, що може бути кілька локальних мінімумів.
gung - Відновіть Моніку

2
Залежить від нейронної мережі. Нейронні мережі з лінійними функціями активації та квадратними втратами дадуть опуклу оптимізацію (якщо моя пам'ять служить мені правильно також для радіальних базових функціональних мереж із фіксованими дисперсіями). Однак нейронні мережі в основному використовуються з нелінійними функціями активації (тобто сигмоїдними), отже оптимізація стає невипуклою.
Cagdas Ozgenc

@gung, я зрозумів, і тепер у мене більше запитань, будь ласка, дивіться моє оновлення :-)
авокадо

5
У цей момент (через 2 роки), можливо, буде краще відкинути своє запитання до попередньої версії, прийняти один із відповідей нижче та задати нове подальше запитання, яке посилається на це для контексту.
gung - Відновіть Моніку

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

Відповіді:


25

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

Щоб зробити це аналогічним одно змінним функціям, можна сказати, що функція витрат не має ні форми графа ні як графіка - x 2 . Іншим прикладом неопуклі, що не увігнута функція є гріхом ( х ) на R . Одна з найяскравіших відмінностей полягає в тому, що ± x 2 має лише один крайній край, тоді як гріх має нескінченно багато максимумів і мінімумів.x2x2sin(x)R±x2гріх

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

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


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

1
Що ви маєте на увазі під "автентичним"?
Роланд

Я маю на увазі, саме так слід тлумачити, а не лише аналогію.
авокадо

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

1
Вибачте, я не можу зрозуміти останній абзац. Але також я неправильно розумію, чому я згадав тут max (0, x). У будь-якому випадку - я думаю, що правильний спосіб показати, що може бути багаторежимний режим (декілька локальних мінімумів) певним чином довести це. ps Якщо Гессіан невизначений, він нічого не сказав - квазісупукальна функція може мати невизначений гессіан, але вона все ще є одномодна.
bruziuz

17

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


5

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

Ця стаття представляє інтерес:

Чороманська та ін. (2015). Поверхні втрат багатошарових мереж

http://arxiv.org/pdf/1412.0233v3.pdf

Зі вступу:

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

  • Ймовірність знайти локальний мінімум "поганого" (високого значення) не є нульовим для маломірних мереж і швидко зменшується при розмірі мережі.

  • Боротьба знайти глобальний мінімум на навчальному наборі (на відміну від одного з багатьох хороших місцевих) на практиці не корисна і може призвести до надмірної підготовки.

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


4

Деякі відповіді на ваші оновлення:

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

  2. Ні, він не опуклий, якщо це не одношарова мережа. У загальному багатошаровому випадку параметри пізніших шарів (ваги та параметри активації) можуть бути сильно рекурсивними функціями параметрів попередніх шарів. Як правило, множення змінних рішень, запроваджених деякою рекурсивною структурою, як правило, знищує опуклість. Іншим чудовим прикладом цього є моделі MA (q) в аналізі рядів часу.

уХу-Хβ


1
"одношарова мережа" - це саме те, що виглядає "софтмакс" або логістична регресія, правда?
авокадо

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

Ви маєте правильну ідею, але це не зовсім те саме. Для мереж втрата не обов'язково може бути біноміальною втратою, функції активації не обов'язково можуть бути сигмоїдами тощо.
Мустафа S Еїза

Так, я не думаю, що це правильно. Хоча це правда, що ви отримаєте однакові показники, незалежно від того, пересмикаєте ви ці умови, чи ні, це не визначає опуклості чи невипуклості будь-якої проблеми. Проблема оптимізації є опуклою, якщо для функції фіксованих втрат (не будь-яка перестановка термінів у втраті) об'єктивна функція є опуклою в параметрах моделі, а можлива область, за якою ви оптимізуєтесь, опукла і закрита.
Mustafa S Eisa

Я бачу, тому, якщо це "одношаровий", він може бути не "softmax".
авокадо

2

У вас буде один глобальний мінімум, якщо проблема опукла або квазіконвексована.

Про опуклі "будівельні блоки" під час побудови нейронних мереж (версія Computer Science)

Я думаю, що їх можна згадати декілька:

  1. max (0, x) - опукла і зростаюча

  2. log-sum-exp - опуклий і збільшується в кожному параметрі

  3. y = Ax є афінним і таким чином опуклим у (A), може збільшуватися, можливо, зменшуючись. y = Ax є афінним і таким чином опуклим у (x), може збільшуватися, можливо, зменшуючись.

На жаль, він не опуклий у (A, x), оскільки виглядає як невизначена квадратична форма.

  1. Звичайна математична дискретна згортання (під "звичайним" я маю на увазі визначений повторюваним сигналом) Y = h * X Здається, що це афінна функція h або змінної X. Отже, це опукла у змінній h або в змінній X. Про обидві змінні - Я не думаю, що тому, коли h і X скаляри, то згортання зменшиться до невизначеної квадратичної форми.

  2. max (f, g) - якщо f і g опуклі, то max (f, g) також опуклі.

Якщо ви замінюєте одну функцію на іншу і створюєте композиції, то все ще знаходитесь у опуклій кімнаті для y = h (g (x), q (x)), але h повинна бути опуклою і повинна збільшуватися (не зменшуватися) у кожному аргументі. ...

Чому нейронні сітки в невипуклій:

  1. Я думаю, що згортка Y = h * X не обов'язково збільшується в h. Отже, якщо ви не використовуєте зайвих припущень щодо ядра, ви вийдете з опуклої оптимізації негайно після застосування згортки. Тож не все добре із складом .

  2. Також згортання та множення матриць не є опуклим, якщо врахувати пара параметрів, як було зазначено вище. Таким чином, виникають проблеми з множенням матриць: це невипукла операція в параметрах (A, x)

  3. y = Ax може бути квазівипуклий у (A, x), але також слід враховувати додаткові припущення.

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

ps max-pooling - що зменшення розміру при виборі max виглядає як деяка модифікація операцій елементарного максу з афінною попередньою композицією (для витягування потрібних блоків), і для мене це виглядає опукло.

Про інші питання

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

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

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

Але є ще більш прості речі поряд з нейронними мережами - які не можна вирішити, як нелінійні найменші квадрати - https://youtu.be/l1X4tOoIHYo?t=2992 (EE263, L8, 50:10)

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