Нейронні мережі проти всього іншого


15

Я не знайшов задовільної відповіді на це від Google .

Звичайно, якщо у мене є дані мільйонів, то глибоке навчання - це спосіб.

І я читав, що коли у мене немає великих даних, то, можливо, краще використовувати інші методи в машинному навчанні. Причина - це надмірна відповідність. Машинне навчання: тобто перегляд даних, вилучення можливостей, створення нових можливостей із того, що збирається тощо. Такі речі, як видалення сильно корельованих змінних тощо. Увесь машинний процес навчання 9 ярдів.

І мені було цікаво: чому так, що нейронні мережі з одним прихованим шаром не є панацеєю для проблем машинного навчання? Вони є універсальними оцінками, надмірне пристосування можна керувати випадом, регуляризацією l2, регуляризацією l1, пакетною нормалізацією. Швидкість тренувань взагалі не є проблемою, якщо у нас є лише 50 000 прикладів тренувань. Вони краще в тестовий час, ніж, скажімо, випадкові ліси.

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

Буде вдячний приклад, коли якийсь інший алгоритм машинного навчання перевершив би ретельно регульовану 2-х шарувату (можливо 3?) Нейронну мережу. Ви можете надіслати мені посилання на проблему, і я би підготував найкращу нейронну мережу, яку я можу, і ми можемо побачити, якщо двошарова або 3 шарова нейронні мережі не відповідають будь-якому іншому алгоритму машинного навчання.


14
Нейронні мережі - це алгоритм машинного навчання ...
Меттью Друрі

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

1
@MatthewDrury - Дійсно так! вибачення за те, що вони терплячі в термінології. Я сподіваюся, що повідомлення було передано. тим не менш, змінивши питання, щоб бути більш надійним. Дякую за вказівку
MiloMinderbinder

1
Щодо глибини мережі, то обов'язково перевірте це: stats.stackexchange.com/questions/182734
jld

Відповіді:


31

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

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

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

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

вони є універсальними оцінками

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

Ви можете надіслати мені посилання на проблему, і я би підготував найкращу нейронну мережу, яку я можу, і ми можемо побачити, якщо 2-шарові або 3-шарові нейронні мережі не відповідають будь-якому іншому алгоритму машинного навчання

Приклад проблеми, яку я думаю, що нейронна мережа ніколи не зможе вирішити: З огляду на ціле число, класифікуйте як просте чи не просте.

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


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

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

http://gluon.mxnet.io/_images/regularization-overfitting.png

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

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

θН(θ)θ


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

Так. Ось потворна, але, сподіваюсь, ефективна фігура, яка ілюструє мою думку. https://i.imgur.com/nM3aI2l.png

але це не має сенсу. глибока мережа може просто вивчити відображення 1-1 над мілкою

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

Ми обговорювали той факт, що більші мережі завжди працюватимуть краще, ніж менші мережі

Без додаткової кваліфікації це твердження просто неправильне.


Дякую за відповідь! Чи може регуляризація взяти модель від тієї, яка перевершує ту, яка має свою репрезентативну силу, сильно посилену регуляризацією? Чи завжди не буде такої милої плями між ними?
MiloMinderbinder

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

Зверніть увагу на замітки лекції cs231n - "Ми обговорювали той факт, що більші мережі завжди працюватимуть краще, ніж менші мережі, але їх більш високу ємність модель повинна бути належним чином вирішена з більш сильним регуляризацією (наприклад, зменшенням більшої ваги), інакше вони можуть бути надмірними. Ми побачимо більше форм регуляризації (особливо випадання) в наступних розділах. " cs231n.github.io/neural-networks-1
MiloMinderbinder

@ user46478 я звернувся до питань із вашим вище, відредагувавши відповідь
shimao

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

11

Я додам, що не існує такого поняття, як машинне навчання панацеї:

За теоремою про безкоштовний обід :

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


Це дуже гнітюче (але не хвилюйтесь, я не хочу сперечатися з наслідками) 1. Читаючи це, я розумію, що це стосується алгоритмів з однаковим розподілом за функціями, які вони можуть вивчити (що означало б і той самий домен). Таким чином, нейронні мережі можуть жалітись лише на універсальні оцінки. 2. Це не говорить про те, наскільки швидко проходить функціональний простір. Чи можемо ми сказати, що нейронна мережа з 2 прихованими шарами обов'язково рівнозначна або перевершує нейронну мережу з одним прихованим шаром у кожній проблемі? Я думаю, що припущення про наступність має зробити тут багато
MiloMinderbinder

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

1
"Чи можна сказати, що нейронна мережа з 2 прихованими шарами обов'язково еквівалентна або перевершує нейронну мережу з одним прихованим шаром у кожній проблемі". Ні, на жаль, ні. В якості протилежного прикладу уявіть логістичну регресію (nn з нульовими прихованими шарами) проти нейромережі 1-го шару, кількість прихованих одиниць дорівнює кількості точок даних для повністю відокремленого набору даних. Немає інформації про межу прийняття рішення, яку lr не може прийняти, і велика складність nn, ймовірно, перевиконає
user3684792

3
Погодьтесь із твердженням тут, але я хотів додати стандартний застереження до NFL, також взятого зі сторінки вікіпедії: "зауважте, що NFL застосовується лише у випадку, якщо цільова функція обрана за рівномірного розподілу всіх можливих функцій".
mkt - Відновіть Моніку

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