Чому так важливо мати принципові та математичні теорії для машинного навчання?


25

Мені було цікаво, чому так важливо принципове / теоретичне машинне навчання? З особистої точки зору як людини я можу зрозуміти, чому принципове машинне навчання було б важливим:

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

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

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

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

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


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

Відповіді:


17

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

Великий приклад, який спадає на думку, - це підтримуючі векторні машини. Спочатку вони були розроблені Вапником та Червоненкісом на початку 60-х, але насправді вони зняли на початку 90-х, коли Вапник та інші зрозуміли, що можна робити нелінійні СВМ за допомогою трюку ядра. Вапник і Червоненкіс також розробляли теорію, що стоїть за розміром VC, що є спробою придумати мірку складності машинного навчання. Я не можу придумати жодного практичного застосування розміру ВК, але я думаю, що ідея SVM, можливо, вплинула на їхню роботу над цим. Сам трюк з ядром походить з абстрактно-нісенітницької математики про простори Гільберта. Можна сказати, що потрібно знати цю абстрактну нісенітницю, щоб придумати SVM, але, я думаю, це, мабуть, дуже допомогло, тим більше, що багато машиністів захопилися машинним навчанням.

Що стосується ResNet, останнім часом була проведена якась акуратна робота, яка дозволяє припустити, що Залишкові архітектури дійсно не повинні бути глибокими у 100 шарів. Насправді деяка робота говорить про те, що залишкові зв’язки дуже схожі на RNN, наприклад, усунення прогалин між залишковим навчанням, періодичними нейронними мережами та візуальною корою ", Ліао та ін. Я думаю, що це, безумовно, заслуговує глибшого заглиблення, тому що це говорить про те, що теоретично, ResNet з багатьма шарами насправді неймовірно неефективний і роздутий.

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

Є багато хвилювань з приводу методів ентропійного стохастичного градієнта спуску . Вони були отримані з динаміки Лангевіна, і значна частина теоретичних результатів ґрунтується на класичній теоретичній теорії PDE та статистичній фізиці. Результати є багатообіцяючими, оскільки вони викидають SGD у новому світлі, з точки зору того, як він застрягає в локальних коливаннях функції втрат, і як можна локально згладити функцію втрат, щоб зробити SGD набагато ефективнішим. Це довгий шлях до розуміння того, коли SGD корисний і коли він веде себе погано. Це не те, що можна отримати емпірично, спробувавши SGD на різних моделях.

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

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


7

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

YXX+42X+42.5X4242XX+420


2
перевіряє, чи недостатньо вашої навчальної моделі працює на валідації та тестових наборах? Як, які гарантії мають теоретичні межі, якщо їхні фактичні рамки неможливо використати?
Чарлі Паркер

6
X+cc(,)

5

Тільки дивлячись на питання: чи дійсно важливе теоретичне та принципове заняття машинним навчанням?

Визначте, що ви маєте на увазі під «важливим». З філософської точки зору це принципова відмінність, якщо ви хочете щось описати або щось зрозуміти. У дещо грубій відповіді це різниця між науковим або чимось іншим. Практична частина цього питання не стосується основного питання. Якщо щось занадто важко довести, або навіть неможливо довести це само по собі, важливе відкриття. (Введіть Goedel та ін.) Але це не означає, що це не має значення. З прагматичної точки зору це може принаймні здатися неактуальним. Але це потрібно принаймні визнати як щось головне значення та цінність.

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

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


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

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

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

Щодо другої частини (наука як пошуки істини) - знову ж таки, це лише метод. Здається, це найуспішніший метод, який людство придумало. Але це не на основі віри, це на фактах. І в чомусь це також закрита система. Не існує (наукового) розрізнення між істиною та побудованою, яка, здається, є самою. Домовленість між вченим може дати вам кілька правил (наприклад, Occams Razor), але наука не є компасом у морях ненауки.
херувим

5

Люди могли століттями будувати кораблі, вагони та будівлі без законів фізики. Але з моменту сучасної науки нам вдалося вивести ці технології на абсолютно новий рівень. Перевірена теорія дозволяє вдосконалити принципово. Ми ніколи не потрапляли б на Місяць чи мали комп’ютери без математичної теорії матерії та обчислень.

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


5

Ось простий приклад з моєї власної роботи.

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

(ATA)1ATy
Ay

Моя сітка швидше конвергується .

Дякую, теорія.


3

Емпіризм проти теорії

Ви написали:

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

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

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

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

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

Приклад

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

  • Пройдіть за останні 300 днів і спробуйте визначити, чи змінилося середнє значення цієї змінної. Добре це дещо спрацювало.
  • Що робити, якщо натомість спробуємо 200 днів?
  • Добре, спробуємо змінити алгоритм, як тільки відбудеться дрейф.
  • Отримайте більше наборів даних і подивіться, який метод, розроблений поки що, найкраще працює.
  • Результати не є переконливими, можливо, здогадуєтесь, що існує більше одного типу концепцій дрейфу?
  • Спробуйте моделювання. Що робити, якщо ми моделюємо деякий занесення поняття, а потім застосуємо різні методи, використовуючи різну кількість днів, що використовуються для виявлення, чи відбулися зміни.

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

А тепер уявіть те саме з теоретичної точки зору:

  • Спростіть сценарій до абсурдного рівня. Можливо, використовуйте 2-змінний нормальний розподіл із середнім значенням, яке різко змінюється з часом.
  • Виберіть свої умови чітко - виберіть модель, яка є оптимальною для звичайних даних. Припустимо, ви знаєте, що дані є нормальними. Все, що ви не знаєте, це коли відбувається зміна засобів.
  • Пристрій - метод виявлення, коли відбувся зсув. Знову можна почати з 200 минулих спостережень.
  • Виходячи з цих параметрів, ми повинні мати можливість обчислити середню помилку для класифікатора, середній час, який потрібно алгоритму виявити, якщо зміни відбулися та оновити. Можливо, найгірші сценарії та гарантії в межах шансів 95%.

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

Як і один із батьків сучасного машинного навчання - Юрген Шмідхубер любить говорити:

Евристика приходить і йде - теореми є для вічності.

Уроки з інших галузей

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


2

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

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


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

1
@amoeba ось загальна посилання, хоча я раніше стикався з цим в іншому контексті. Якщо подивитися на співвідношення об’єму гіперсфери всередині одиничного гіперкуба, воно скорочується до нуля, оскільки розмірність гіперкуба переходить до нескінченності. В основному у вищих розмірах усі опуклі тіла розпадаються на точки - моя інтерпретація
Аксакал

2

Я думаю, що дуже важко, щоб це не було філософською дискусією. Моя відповідь - це переформулювання згаданих тут хороших моментів (+ 1 для всіх); Я просто хочу вказати на цитату Ендрю Гелмана, яка справді розмовляла зі мною як з людиною, яка готувалась як інформатик. У мене таке враження, що багато людей, які називають те, чим займаються машинне навчання, також походять з інформатики. Цитата з бесіди, яку виголосив Гельман на конференції R у Нью-Йорку 2017 року під назвою Теоретична статистика - це теорія прикладної статистики :

Теорія масштабована.

Теорія розповідає про те, що має сенс, а що ні за певних умов. Ми хочемо зробити тисячі чи десятки тисяч чи мільйонів симуляцій, щоб зрозуміти істину? Чи хочемо ми проводити емпіричні порівняння на більш численних наборах даних орієнтирів? Мине певний час, і наші результати все ще можуть бути крихкими. Далі, як ми можемо знати, що порівняння, які ми робимо, мають сенс? Звідки ми можемо знати, що наш новий Deep Learner з точністю 99,5% справді кращий за старий, який мав 99,1% точності? Тут допоможе деяка теорія.

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

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