Яка «ємність» моделі машинного навчання?


15

Я вивчаю цей Навчальний посібник з різних автоінкодерів Карла Доерша . На другій сторінці зазначено:

Однією з найпопулярніших таких фреймворків є Variational Autoencoder [1, 3], тема цього підручника. Припущення цієї моделі слабкі, і навчання проходить швидко за допомогою зворотного розповсюдження. VAE роблять наближення, але помилка, введена цим наближенням, мабуть, невелика для моделей високої ємності . Ці характеристики сприяли швидкому зростанню їх популярності.

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

Чи є визначення місткості моделі? Ви можете це виміряти?

Відповіді:


13

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

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

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


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

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

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

Іншим способом вимірювання ємності може бути навчання вашої моделі випадковими мітками ( Нейшабур та ін. ) - якщо ваша мережа може правильно запам'ятати купу входів разом із випадковими мітками, це по суті показує, що модель має можливість запам'ятовувати всі ці точки даних індивідуально. Чим більше пар вводу / виводу, які можна "дізнатися", тим вище ємність.

Пристосовуючи це до автокодера, ви можете генерувати випадкові входи, навчати мережу реконструювати їх, а потім порахувати, скільки випадкових входів ви зможете успішно реконструювати з меншою помилкою .ϵ


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

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