Що означає "ступінь свободи" в нейронних мережах?


17

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

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

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

Яка ступінь свободи в нейронній мережі? Які параметри збільшуються під час тренувань?


1
Номенклатура. Параметр - це одна вага. Кількість параметрів, що збільшуються, означає, що кількість "нейронів" або "зв'язків між нейронами" збільшується. Це означає, що топологія непостійна.
EngrStudent

Спасибі! Але тоді чому тренування збільшує кількість ваг?
Роберт Сміт

Насправді існують алгоритми тренувань, які маніпулюють структурою нейронної мережі під час тренувань (Cascade Correlation, NEAT, ...). Зазвичай вони постійно збільшують кількість ваг. Але я не думаю, що Єпископ це згадує у своїй книзі.
альфа

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

Відповіді:


12

Я підозрюю, що це означає Єпископ:

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


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

Так, це підтверджує те, що я вважав, що мав на увазі владика.
Марк Шиверс

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

4

Фраза "іноді якісно пояснюється" говорить про те, що він просто робить аналогію з простою лінійною регресією. Кожен раз, коли ми додаємо термін до лінійної регресійної моделі, ми додаємо ступінь свободи моделі і віднімаємо ступінь свободи від тих, що пов'язані з терміном помилки. Якщо ми вкладемо достатньо незалежних термінів у модель, ми можемо досконало «передбачити» історію з набору випадкових чисел, але нам буде зовсім не в змозі передбачити майбутнє.


3

pp. Для більш складних моделей (ви вважаєте дерева регресії) можливість додати додатковий вузол забезпечує більшу гнучкість, оскільки модель CART буде шукати хорошу змінну для поділу та хорошу точку розколу. Це набагато більше, ніж те, що можна додати регресору до лінійної моделі, і ви виявили, що дерева регресії споживають близько 3,5-4 dfs на вузол. Нейронні мережі можуть бути десь посередині, але ступінь свободи, безумовно, значно більша за кількість одиниць і може бути більшою за кількість ваг.

Я думаю, щось подібне надав HTF Sec. 7,6 , хоча вони дивно не належать до Е. (1998). Однак вони називають єпископа особливим випадком.


1
Спасибі. Це здається правильним, але як щодо відношення до тренування нейронної мережі? Я знайшов у "Елементи статистичного навчання" на сторінці 96 ( docs.google.com/… ) вираз, що стосується ступенів свободи та коваріації, і я можу зрозуміти, чому більше навчання зменшить функцію помилок і, як наслідок, збільшить коваріантність та ступенів свободи. Однак я не розумію, чому це рівняння (3,60 в книзі) справедливо.
Роберт Сміт

До речі, це також здається дещо відмінним від визначення (узагальнених) ступенів свободи, про яке йдеться у статті Ye.
Роберт Сміт

1
Я думаю, що ви можете вважати цю коваріацію як грубу версію похідної ... або може бути навпаки: похідна, визначена як межа, оскільки розмір кроку до нуля, може вважатися плімом що коваріація як дисперсія збурення йде до нуля. Рівняння (3.60) не повинно тримати, це визначення , тому нічого не можна тримати. Що має значення - це еквівалентність стандартному визначенню dfs для лінійних моделей, про яке вони коротко згадуються на наступній сторінці, і це просто лінійна алгебра лінійних моделей. Йє (1998) також повинен про це говорити.
StasK

3

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

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

p(D|ш)=нp(тн|хн,ш)=ндосвід(β2[тн-у(хн,ш)]2)/ZD(β)
шZD(β)

p(ш)=досвід(-α||ш||22)/ZW(α)
аргмаксшp(ш|D)

p(w|D)=p(D|w)p(w)
Zw

argminwnβ2[tny(xn,w)]2+α2iwi2

Загалом, ви вважаєте, що оцінка ПДЧ еквівалентна наступному,

wMAP=argminwlog2P(D|w)log2(w)

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

Таким чином, оцінка ПДЧ еквівалентна вибору найбільш компактного можливого представлення. Іншими словами, ви шукаєте набір ваг, які враховують дані тренувань максимально вірно, які можуть бути виражені найменшою кількістю біт.

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

Сподіваюсь, це дає вам достатньо гарне уявлення про те, про що йдеться.

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

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

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

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

Нарешті, цитую вас: "Я все ще вважаю занепокоєним аргумент про те, що в міру того, як модель починає переповнювати, її можливості моделювати інші функції зростатимуть. Я думаю, що це зовсім навпаки, тому що модель, яка переповнює, не може узагальнити, щоб застосувати її до нової інформація. ". Так, він може моделювати ДРУГІ, складніші функції, але він не зможе правильно моделювати цю функцію. На малюнку 5.12 у книзі помилка спочатку зменшується, оскільки розмір ваги збільшується (зменшення упередженості). До заданої точки, коли вона знову починає зростати (зменшення узагальнення, надмірність).


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

1
Роберте, я вважаю, що це є деяким неправильним розумінням того, що означає помилка узагальнення порівняно зі складністю мережі, тобто здатність моделювати більш складні функції. Існує ряд робіт, що описують різні терміни, наприклад, cbcl.mit.edu/projects/cbcl/publications/ps/… .
jpmuc

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