Research

Чи мріють нейрони про електроовець? Творець перших нейромереж розповів про їх еволюції і майбутньому

Джеффрі Хінтон - один з творців концепціїглибокого навчання, призер премії Тьюринга 2019 року і інженер Google. Минулого тижня, під час конференції розробників I / O, Wired взяв у нього інтерв'ю і обговорив його захоплення мозком і можливістю змоделювати комп'ютер на основі нейронної структури мозку. Довгий час ці ідеї вважалися безглуздими. Цікава і захоплююча бесіда про свідомість, майбутні плани Хинтона і про те, чи можна навчити комп'ютери бачити сни.

Що буде з нейронними мережами?

Давайте почнемо з тих часів, коли ви написалисвої найперші, дуже впливові статті. Всі говорили: «Ідея розумна, але насправді ми не зможемо проектувати комп'ютери таким чином». Поясніть, чому ви наполягали на своєму і чому ви були так упевнені, що знайшли щось важливе.

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

Поясніть, що таке нейронні мережі. Поясніть початкове уявлення.

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

Коли ви зрозуміли, що це приблизне уявлення того, як працює мозок?

О, так все спочатку так і було задумано. Проектувалося так, щоб нагадувати мозок в роботі.

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

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

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

Так, так думав не тільки Тьюринг. Багато так думали.

Коли настали темні часи? Коли сталося так, що інші люди, які працювали над цим і вважали ідею Тьюринга вірною, почали відступати, а ви продовжили гнути свою лінію?

Завжди була жменька людей, які вірили,незважаючи ні на що, особливо в області психології. Але серед комп'ютерних вчених, вважаю, в 90-х, вийшло так, що набори даних були досить маленькими, а комп'ютери не були такими швидкими. А з невеликими наборами даних інші методи, зокрема, метод опорних векторів, працювали трішки краще. Їх не так сильно бентежив шум. Так що все це було сумно, тому що в 80-х ми розробили метод зворотного поширення [back propagation - метод зворотного поширення помилки, дуже важливий для нейромереж]. Ми думали, що він все вирішить. І були здивовані тим, що він нічого не вирішив. Питання було реально в масштабі, але тоді ми цього не знали.

Чому ви думали, що він не працює?

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

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

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

Отже, в 1990-х ви продовжуєте свої дослідження,ви в академічних колах, ви все ще публікуєте, але не вирішуєте великих проблем. Чи бував у вас момент, коли ви говорили: «Знаєш, що, досить цього. Спробую зробити що-небудь інше »? Або ви просто говорили собі, що будете продовжувати займатися глибоким навчанням [тобто, концепцією deep learning, глибокого навчання нейромереж; читайте детальніше тут].

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

Ви ніколи в цьому не сумнівалися. Коли стало схоже на те, що це працює?

Одним з найбільших розчарувань 80-х було те,що якщо ми робили мережі з безліччю прихованих шарів, ми не могли їх тренувати. Це не зовсім вірно, тому що ви можете тренувати відносно прості процеси на зразок листа від руки. Але ми не знали, як тренувати більшість глибоких нейронних мереж. І десь в 2005 році я придумав спосіб навчання глибоких мереж без спостереження. Ви вводите дані, скажімо, пікселі, і навчаєте кілька детекторів деталей, які просто добре пояснювали, чому пікселі були такими, які є. Потім ви згодовуєте цим детекторів деталей дані і навчаєте інший набір детекторів деталей, так, щоб ми могли пояснити, чому у конкретних детекторів деталей з'являються конкретні кореляції. Ви продовжуєте навчати шар за шаром. Але найцікавіше полягало в тому, що можна було розкласти математично і довести, що кожен раз, коли ви навчаєте новий шар, ви зовсім не обов'язково поліпшите модель даних, однак будете мати справу з діапазоном того, наскільки хороша ваша модель. І цей діапазон ставав краще з кожним доданим шаром.

Що ви маєте на увазі під діапазоном того, наскільки хороша ваша модель?

Як тільки ви отримували модель, ви могли задатипитання: «Наскільки незвичайними ця модель знаходить ці дані?». Ви показуєте їй дані і задаєте питання: «Ти знаходиш все це таким, як і передбачала, або ж це незвично?». І ось це можна було виміряти. І хотілося дістати модель, хорошу модель, яка дивиться на дані і каже: «Так, так. Я знала це. Це не дивно". Завжди дуже важко точно розрахувати, наскільки незвичайними модель визнає дані. Але можна прорахувати діапазон цього. Можна сказати, що модель знайде ці дані менш незвичайними, ніж ці. І можна було показати, що в міру додавання нових шарів в детектори деталей модель формується, і з кожним доданим шаром, коли вона знаходить дані, діапазон розуміння того, наскільки незвичайними вона вважатиме дані, стає краще.

Виходить, приблизно в 2005 році ви здійснилицей математичний прорив. Коли ви почали отримувати правильні відповіді? З якими даними ви працювали? Перший прорив у вас вийшов з мовними даними, вірно?

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

Воно було краще комерційно доступного розпізнавання мови? Обійшло кращі наукові роботи з розпізнавання мови?

У відносно невеликому наборі даних під назвою TIMIT воно було трохи краще, ніж найкраща академічна робота. IBM також зробила багато роботи.

Дуже швидко люди зрозуміли, що все це - якщо вжевоно обходить стандартні моделі, які розроблялися 30 років - буде чудово працювати, якщо трохи розвинути. Мої випускники потрапили в Microsoft, IBM і Google, і Google дуже швидко створив робочий распознаватель мови. До 2012 року ця робота, яка була зроблена ще в 2009 році, потрапила на Android. Android раптово став набагато краще розпізнавати мову.

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

Що ж, на той момент я зберігав ці ідеї всього 30 років!

Так, так!

Було прекрасне відчуття того, що все це нарешті перетворилося на справжню проблему.

А ви пам'ятаєте, коли вперше отримали дані, що вказують на це?

Ні.

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

Спочатку ми почали застосовувати їх до всілякихінших проблем. Джордж Даль, разом з яким ми спочатку працювали над розпізнаванням мови, застосував їх, щоб передбачити, чи зможе молекула зв'язатися з чим-небудь і стати хорошим ліками. І був конкурс. Він просто застосував нашу стандартну технологію, створену для розпізнавання мови, до прогнозування активності препаратів і переміг в цьому конкурсі. Це був знак того, що ми робимо щось дуже універсальне. Потім з'явився студент, який сказав: «Знаєш, Джефф, ця штука спрацює з розпізнаванням зображень, і Фей-Фей Лі створив відповідний набір даних для цього. Є публічний конкурс, давай зробимо щось ».

Ми отримали результати, які набагато перевершували стандартне комп'ютерне зір. Це був 2012 рік.

Тобто, в цих трьох областях ви досягли успіху: моделювання хімічних речовин, мова, голос. Де зазнали невдачі?

Ви розумієте, що невдачі носять тимчасовий характер?

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

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

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

І тому ви продовжуєте говорити, що нейронні мережі в кінцевому підсумку переможуть всюди.

Ну, ми і є нейронні мережі. Все, що можемо ми, зможуть і вони.

Вірно, але мозок людини далеко не найефективніша обчислювальна машина з коли-небудь створених.

Безумовно ні.

Безумовно, не мій людський мозок! Чи існує спосіб змоделювати машини, які будуть набагато ефективніше людського мозку?

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

Але є і речі, які наш мозок не здатний робити добре. Чи означає це, що нейронні мережі також не зможуть робити їх добре?

Цілком можливо, так.

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

Так, ми дійсно не розуміємо, як вони працюють.

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

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

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

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

Думаю, це важливо, так.

Але вчені, які вивчають мозок, з цим не зовсім згодні?

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

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

Так.

Хіба це не виверт? Ну, тобто, якщо намагаєшся зробити щось подібно мозку, але не впевнений, що мозок так робить?

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

Це цікаво. Якби я був комп'ютерним вченим, і працював над нейронними мережами, і захотів обійти Джеффа Хинтона, одним з варіантів було б будівництво низхідній комунікації і базування її на інших моделях наук про мозок. Базування на навчанні, а не на реконструкції.

Якби були моделі краще, ви б перемогли. Так.

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

Ні.

Значить, любов можна буде реконструювати нейронною мережею? Свідомість можна реконструювати?

Абсолютно точно. Як тільки ви з'ясуєте, що означають ці речі. Адже ми нейромережі, так? Свідомість - особливо цікава для мене тема. Але ... люди не знають насправді, що мають на увазі під цим словом. Є маса різних визначень. І я думаю, що це досить-таки науковий термін. Тому, якби 100 років тому ви запитали людей: що таке життя? Вони б відповіли: «Ну, у живих речей є життєва сила, і коли вони вмирають, життєва сила залишає їх. У цьому різниця між живим і мертвим, або у вас є життєва сила, або ні ». Тепер у нас немає життєвої сили, ми думаємо, що ця концепція з'явилася до науки. І як тільки ви почнете трохи розбиратися в біохімії і молекулярної біології, вам більше не потрібна буде життєва сила, ви зрозумієте, як все це працює насправді. І те ж саме, я думаю, відбудеться зі свідомістю. Я думаю, що свідомість - це спроба пояснити уявні явища із застосуванням якоїсь сутності. І ця сутність, вона не потрібна. Як тільки ви зможете її пояснити, ви зможете пояснити, як ми робимо все те, що робить людей свідомими істотами, поясніть різні значення свідомості, не привертаючи ніяких особливих сутностей.

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

Щось схоже співав Джон Леннон в одній зі своїх пісень.

Ви на 100% впевнені в цьому?

Ні, я байесовец, тому впевнений на 99,9%.

Добре, а що тоді ці 0,01%?

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

Справедливо. Отже, що ми дізнаємося про мозок з нашої роботи над комп'ютерами?

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

Але ми не зрозуміли це на прикладі мозку? Але не зрозуміли вони оновлення ваг?

Це була теорія. Давним-давно люди думали, що це можливо. Але на тлі завжди були якісь комп'ютерні вчені, які говорили: «Так, але ідея того, що все випадково і навчання відбувається за рахунок градієнтного спуску, не спрацює з мільярдом параметрів, доведеться підключити багато знань». Тепер ми знаємо, що це не так. Можна просто ввести випадкові параметри і все вивчити.

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

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

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

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

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

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

Чи зможемо ми зрозуміти, як працюють сни?

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

Розкажіть про них - про першої, другої, третьої, четвертої.

Давним-давно були такі штуки під назвою мережіХопфилда, і вони вивчали спогади як локальні атрактори. Хопфилд виявив, що якщо ви спробуєте помістити занадто багато спогадів, вони переплутаються. Вони візьмуть два локальних аттрактора і об'єднають їх в один аттрактор десь на півдорозі між ними.

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

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

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

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

Ми бачимо сни по багато годин щоночі. І якщо раптово прокинутися, можна сказати, що снилося тільки що, тому що сон зберігається в короткочасній пам'яті. Ми знаємо, що бачимо сни багато годин, але вранці, після пробудження, можемо згадати лише останній сон, а інших не пам'ятаємо, що вельми вдало, тому що можна було б помилково прийняти їх за реальність. Так чому ми взагалі не пам'ятаємо своїх снів? На думку Кріка, в цьому і є сенс снів: розучуватися цих речей. Ви як би вчіться навпаки.

Террі Сейновскі і я показали, що насправді це процедура навчання з максимальною вірогідністю для машин Больцмана. Це перша теорія про сновидіння.

Я хочу перейти до інших вашим теоріям. Але задам питання: виходило у вас навчити який-небудь з ваших алгоритмів глибокого навчання насправді бачити сни?

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

Добре, значить андроидам насправді сняться електровівці. Давайте перейдемо до теорій два, три і чотири.

Теорія два була названа Wake Sleep Algorithm[Алгоритм «пробудження-сон»]. Вам потрібно навчити генеративную модель. І у вас є ідея створити модель, яка може генерувати дані, має шари детекторів ознак і активує вищі і нижчі верстви, і так далі, аж до активації пікселів - створення зображення, по суті. Але ви хотіли б навчити її іншому. Ви хотіли б, щоб вона розпізнавала дані.

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

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

Добре, а що з двома іншими теоріями? У нас залишилося всього вісім хвилин, я думаю, не встигну запитати про все.

Дайте мені ще годину, і я розповім про дві інші.

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

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

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

У наступному році ми повернемося, щоб поговорити про теоріях сновидінь номер три і номер чотири.

Пропишемо в нашому чаті в Телеграма, щоб не пропустити.

У статті використані ілюстрації Марії Меньшикова.