Інтерв’ю
Марлос С. Мачадо, ад’юнкт-професор Університету Альберти, стипендіат Amii, голова CIFAR AI – Серія інтерв’ю

Марлос С. Мачадо – стипендіат в Резиденції Альбертського інституту машинного інтелекту (Amii), ад’юнкт-професор Університету Альберти, а також стипендіат Amii, де він також займає посаду голови Канадської ради з питань штучного інтелекту (CIFAR AI). Дослідження Марлоса в основному зосереджені на проблемі навчання з підкріпленням. Він отримав ступінь бакалавра та магістра в Університеті Федерал де Мінас-Жерайс (UFMG) у Бразилії, а ступінь доктора філософії – в Університеті Альберти, де він популяризував ідею тимчасово розширеної експлуатації через варіанти.
Він був дослідником у DeepMind з 2021 по 2023 рік і у Google Brain з 2019 по 2021 рік, під час якого він зробив значний внесок у навчання з підкріпленням, зокрема застосування глибокого навчання з підкріпленням для контролю стратосферних балонів Loon. Робота Марлоса була опублікована у провідних конференціях та журналах з штучного інтелекту, включаючи Nature, JMLR, JAIR, NeurIPS, ICML, ICLR та AAAI. Його дослідження також були представлені у популярних ЗМІ, таких як BBC, Bloomberg TV, The Verge та Wired.
Ми провели інтерв’ю на щорічній конференції Upper Bound 2023 з штучним інтелектом, яка проводиться в Едмонтоні, Альберта, і організована Amii (Альбертський інститут машинного інтелекту).
Ваш основний фокус був на навчанні з підкріпленням, що вас приваблює до цього типу машинного навчання?
Мене приваблює навчання з підкріпленням, оскільки це природний спосіб навчання, тобто навчання шляхом взаємодії. Це інтуїтивний спосіб, коли ви пробуєте різні речі, деякі з яких здаються хорошими, деякі – поганими, і ви вчитеся робити ті речі, які роблять вас кращими. Однією з речей, які мене цікавлять у навчанні з підкріпленням, є те, що через взаємодію зі світом ви можете відкрити нові поведінки. Наприклад, одним з найвідоміших прикладів є AlphaGo, хід 37, про який говорять у документальному фільмі, який був творчим і залишив усіх ураженими.
Ми побачили поведінку, яка виникла і залишила всіх враженими, хоча ми ніколи не думали про це раніше. Я вважаю, що навчання з підкріпленням унікально підходить для відкриття цього типу поведінки, оскільки ви взаємодієте зі світом, і в певному сенсі одна з найважчих речей – контрфакти, тобто що б відбулося, якщо б я зробив інше? Це надзвичайно важка проблема в машинному навчанні, але в навчанні з підкріпленням ви можете спробувати це наступного разу, коли будете взаємодіяти зі світом.
Який був ваш улюблений історичний приклад?
Я думаю, що є два дуже відомі приклади, один – це льотний вертоліт, який вони створили в Стенфорді за допомогою навчання з підкріпленням, а інший – це TD-Gammon, який став чемпіоном світу з нарди. Це було ще у 90-х роках, і тоді я зробив стажування в IBM з Джеральдом Тесоро, і Джеральд Тесоро очолював проект TD-Gammon, тому це було дуже круто.
Чому навігація була хорошим випадком для забезпечення доступу до інтернету в важкодоступних районах?
Це була презентація Loon, дочірньої компанії Alphabet, над якою ми працювали. Коли ви проходите через те, як ми забезпечуємо інтернет для багатьох людей у світі, то це означає, що ви будуєте антену, наприклад, в Едмонтоні, і ця антена дозволяє вам забезпечити інтернет для регіону радіусом 5-6 кілометрів. Якщо ви поставите антену в центрі Нью-Йорка, ви будете забезпечувати інтернет для мільйонів людей, але якщо ви спробуєте забезпечити інтернет для племені в амазонському дощовому лісі, то, можливо, у вас буде 50 людей, і економічна вартість будівництва антени там буде дуже високою.
Ідея використання балонів полягала в тому, щоб створити антену, яка була б дуже високою, наприклад, 20 кілометрів у висоту. Ми не знаємо, як побудувати таку антену, але ми могли б поставити балон там, і тоді балон міг би забезпечити інтернет для регіону, який у 10 разів більший за радіус, або якщо говорити про площу, то в 100 разів більший. Якщо ви поставите його в центрі лісу або в центрі джунглей, то, можливо, ви зможете забезпечити інтернет для кількох племен, які інакше потребували б окремої антени для кожного з них.
Які були навігаційні проблеми, які ви намагалися вирішити?
Ці балони працюють так, що вони не мають приводу, як і те, як люди навігують гарячими повітряними балонами, тобто ви або піднімаєтеся, або опускаєтеся, і знаходитьесь у потоці повітря, який дме у певному напрямку, а потім ви рухаєтеся за цим потоком. Це те, що роблять і ці балони. Вони не є гарячими повітряними балонами, а є балонами постійного об’єму, які літають у стратосфері.
Все, що вони можуть зробити з навігаційної точки зору, – це піднятися, опуститися або залишитися на місці, і тоді їм потрібно знайти вітри, які дозволять їм рухатися туди, куди їм потрібно. У цьому сенсі ми навігували, і були багато挑елів. Одним з них була формулювання задачі, тобто ви хочете бути в певному регіоні, забезпечувати інтернет, але також потрібно забезпечити, щоб ці балони були сонячними, тобто зберігали енергію. Це багатоцільова оптимізаційна проблема, тобто не тільки забезпечити, щоб я був у регіоні, який мені потрібен, але також бути енергоефективним.
Це була сама проблема, але коли ви дивитесь на деталі, то не знаєте, яким буде вітер. Ви знаєте, яким є вітер там, де ви зараз знаходитеся, але не знаєте, яким він буде за 500 метрів вище вас. У нас є так звана часткова спостережуваність, тобто ви не маєте цих даних. Ви можете мати прогнози, і є статті, написані про це, але прогнози часто можуть бути неправильними на 90 градусів. Це дуже складна проблема, оскільки ви маєте справу з частковою спостережуваністю, і це надзвичайно висока вимірність, оскільки ми говоримо про сотні різних шарів вітру, і тоді вам потрібно враховувати швидкість вітру, напрям вітру, те, як ми моделюємо це, і наскільки ви впевнені в цьому прогнозі та невизначеності.
Це робить проблему дуже складною для розуміння. Одним з речей, з якими нам було особливо складно працювати в цьому проєкті, було те, як пояснити, наскільки складною є ця проблема. Бо це не те, що ви можете побачити на екрані, а сотні вимірів і вітри, і коли востаннє ви мали вимір цього вітру? У певному сенсі вам потрібно засвоювати все це, одночасно думаючи про енергію, час доби, куди вам потрібно бути, і це很多.
Що вивчає машинне навчання? Чи просто вітрові моделі та температуру?
Це працює так, що у нас є модель вітру, яка є системою машинного навчання, але це не навчання з підкріпленням. У вас є історичні дані про різні висоти, і тоді ви будуєте модель машинного навчання на основі цих даних. Коли я кажу “ми”, то маю на увазі, що це була річ, яку зробила компанія Loon ще до того, як Google Brain приєднався до проєкту. У них була модель вітру, яка була кращою, ніж просто різні висоти, тобто як інтерполювати між різними висотами?
Ви можете сказати: “Давайте зробимо гауссівський процес на основі цього”, і вони мали статті, написані про те, наскільки хорошою була ця модель. Ми робили це так, що починали з точки зору навчання з підкріпленням, у нас була дуже хороша симуляція динаміки балону, і у нас також була симуляція вітру. Тоді ми повернулися в часі і сказали: “Давайте уявимо, що ми в 2010 році”. У нас були дані про те, яким був вітер у 2010 році по всьому світу, хоча і досить грубі, але тоді ми могли накласти на це машинне навчання, цей гауссівський процес, щоб отримати фактичні вимірювання вітру, і тоді ми могли вводити шум, ми могли робити різні речі.
Тоді, оскільки у нас була динаміка моделі і у нас був симулятор вітру, і ми поверталися в час, то у нас був симулятор.
Це як цифровий двійник у минулому.
Так, ми розробили функцію винагороди, яка полягала в тому, щоб залишатися на цілі і бути трохи енергоефективним, але ми розробили цю функцію винагороди, яку мали балон, який навчився взаємодією з цим світом, але він міг взаємодіяти зі світом тільки тому, що ми не знаємо, як змоделювати погоду і вітри, але оскільки ми поверталися в минуле, то ми змогли навчитися навігації. По суті, це було питання про те, чи підніматися, опуститися чи залишитися на місці, враховуючи все, що відбувається довкола мене, а в кінцевому підсумку я хочу забезпечити інтернет для цього регіону. Це була проблема, у певному сенсі.
Які є деякі з викликів при розгортанні навчання з підкріпленням у реальному світі порівняно з ігровим середовищем?
Я думаю, що є кілька викликів. Я не думаю, що це обов’язково про ігри та реальний світ, а про фундаментальні дослідження та прикладні дослідження. Бо ви можете робити прикладні дослідження в іграх, наприклад, якщо ви намагаєтеся розгорнути наступну модель в грі, яка буде відправлена мільйонам людей, але я думаю, що одним з основних викликів є інженерія. Якщо ви працюєте над багатьма речами, ви використовуєте ігри як дослідницьке середовище, оскільки вони захоплюють багато властивостей, про які ми дбаємо, але вони захоплюють їх у більш визначеному наборі обмежень.
Через це ми можемо проводити дослідження, ми можемо валідувати навчання, але це більш безпечне середовище, яке ми краще розуміємо. Це не означає, що дослідження обов’язково повинні бути дуже різними, але я думаю, що реальний світ приносить багато додаткових викликів. Це питання безпеки, наприклад, ми повинні були забезпечити, щоб рішення було безпечним. Коли ви просто працюєте з іграми, ви не обов’язково думаєте про це. Як ви забезпечуєте, щоб балон не зробив щось глупе, або щоб агент навчання з підкріпленням не навчився чогось, чого ми не передбачили, і що це матиме погані наслідки? Це було одним з наших основних проблем.
Іншим викликом є інженерний стек. Це дуже відрізняється від того, коли ви самостійно взаємодієте з комп’ютерною грою, оскільки ви хочете валідувати це. Тепер у вас є інженерний стек всього продукту, з яким ви повинні працювати. Це не означає, що вони просто дозволять вам зробити все, що вам хочеться, тому я думаю, що вам потрібно стати набагато більш знайомим з цим додатковим елементом. Я думаю, що розмір команди також може бути дуже різним, наприклад, Loon на той час мала десятки, якщо не сотні людей. Ми взаємодіємо з малим числом з них, але тоді у них є диспетчерська, яка спілкується з авіаційним персоналом.
Ми були не впевнені в цьому, але тоді у вас є багато більше зацікавлених сторін у певному сенсі. Я думаю, що багато різниці полягає в тому, що інженерія, безпека тощо, і, можливо, інше – це те, що ваші припущення не справджуються. Багато припущень, на яких базуються ці алгоритми, коли вони переходять у реальний світ, вони не справджуються, і тоді вам потрібно вирішити, як з цим справитися. Світ не так дружній, як будь-яке застосування, яке ви будете робити в іграх, це в основному якщо ви говорите про дуже обмежену гру, яку ви робите самостійно.
Одним з прикладів, який мені дуже подобається, є те, що вони дали нам все, і ми були такими: “Окей, тепер ми можемо спробувати деякі речі, щоб вирішити цю проблему”, і тоді ми пішли і зробили це, і через тиждень чи два тижні ми повернулися до інженерів Loon і сказали: “Ми вирішили вашу проблему”. Ми були дуже розумними, вони дивилися на нас з посмішкою на обличчі, як на тих, хто не може вирішити проблему, і сказали: “Ви не можете вирішити цю проблему, вона занадто складна”, і ми відповіли: “Так, ми вирішили вашу проблему, дивіться, у нас 100% точність”. І вони сказали: “Це буквально неможливо, іноді у вас немає вітру, який дозволить вам…” і ми відповіли: “Ні, ми вирішили вашу проблему, дивіться, що відбувається”.
Ми вирішили, що відбувається. Балон, алгоритм навчання з підкріпленням навчився йти до центру регіону, і тоді він піднімався вище і вище, і тоді балон лускав, і балон опускався, і він був всередині регіону назавжди. Вони сказали: “Це явно не те, що ми хочемо”, але тоді, звичайно, це була симуляція, і тоді ми сказали: “Окей, як ми можемо виправити це?” І вони відповіли: “Окей, є кілька речей, але одна з них полягає в тому, щоб забезпечити, щоб балон не міг піднятися вище рівня, на якому він лусне”.
Ці обмеження в реальному світі, ці аспекти того, як ваше рішення взаємодіє з іншими речами, легко проігнорувати, коли ви просто дослідник навчання з підкріпленням, який працює з іграми, і тоді, коли ви переходите у реальний світ, ви розумієте, що ці речі мають наслідки, і вам потрібно бути обізнаним про це. Я думаю, що це одна з основних труднощів.
Я думаю, що інша проблема полягає в тому, що цикл цих експериментів дуже довгий, наприклад, в іграх ви можете просто натиснути кнопку “Грати”. У гіршому випадку, через тиждень у вас будуть результати, але якщо вам потрібно літати балонами в стратосфері, то у вас є такий вираз, який мені подобається використовувати у моїх розмовах, що ми проводили А/Б-тестування стратосфери, оскільки в кінцевому підсумку, після того, як у нас було рішення, і ми були впевнені в ньому, ми хотіли забезпечити, що це насправді статистично краще. Ми отримали 13 балонів, і ми літали ними в Тихому океані понад місяць, оскільки це було те, що нам потрібно було, щоб валідувати все, що ми зробили, і щоб воно було насправді краще. Часова шкала також дуже відрізняється, тому у вас немає такої кількості можливостей спробувати щось.
На відміну від ігор, немає мільйона ітерацій однієї й тієї ж гри, які відбуваються одночасно.
Так, ми мали це для навчання, оскільки ми використовували симуляцію, хоча, знову ж таки, симулятор значно повільніший за будь-яку гру, яку ви будете мати, але ми змогли впоратися з цим інженерно. Коли ви робите це у реальному світі, то це інакше.
Що таке ваше дослідження, над яким ви працюєте сьогодні?
Тепер я в Університеті Альберти, і у мене є дослідницька група тут з багатьма студентами. Моє дослідження значно більш різноманітне, оскільки мої студенти дозволяють мені це робити. Одним з речей, які мене особливо цікавлять, є ця концепція безперервного навчання. Що відбувається, це те, що майже кожен раз, коли ми говоримо про машинне навчання в цілому, ми робимо деякі обчислення, будь то використання симулятора чи обробка даних, і ми вчимо машинну модель, і ми розгортаємо цю модель, і ми сподіваємося, що вона працюватиме добре, і це нормально. Багато разів це саме те, що вам потрібно, багато разів це ідеально, але іноді це не так, оскільки іноді проблеми у реальному світі занадто складні, щоб очікувати, що модель, незалежно від того, наскільки вона велика, зможе захопити всі складності світу, тому вам потрібно адаптуватися.
Одним з проєктів, у якому я беру участь, наприклад, тут в Університеті Альберти, є система очистки води. По суті, це питання про те, як створити алгоритми навчання з підкріпленням, які能够 підтримувати людей у процесі прийняття рішень, або як зробити це автономно для очистки води. У нас є дані, ми бачимо дані, і іноді якість води змінюється протягом годин, тому навіть якщо ви скажете: “Кожного дня я буду тренувати свою машинну модель з попереднього дня, і я буду розгортати її протягом годин свого дня”, ця модель вже не дійсна, оскільки є дрейф даних, він не стаціонарний. Це дуже складно змоделювати ці речі, оскільки, можливо, це лісовий вогонь, який відбувається вище за течією, або, можливо, сніг починає танути, тому вам потрібно змоделювати весь світ, щоб зробити це.
Конечно, ніхто цього не робить, ми не робимо цього як люди, тому що робимо? Ми адаптуємося, ми продовжимо вчитися, ми кажемо: “О, це, що я робив, не працює більше, тому я можу навчитися робити щось інше”. Я думаю, що є багато публікацій, в основному про реальні випадки, які вимагають безперервного навчання. Оftentimes ми говоримо про те, що ми робимо великий пакет обчислень, і ми розгортаємо модель, і, можливо, ми вже робимо більше обчислень, тому ми розгортаємо модель через кілька днів чи тижнів, але іноді часової масштаб цих речей не працює.
Питання полягає в тому, як ми можемо продовжувати вчитися безперервно, щоб ставати кращими і адаптуватися? І це дуже складно. У нас є кілька статей про це, наприклад, наша поточна техніка не здатна зробити це, наприклад, багато рішень, які ми маємо, які є золотим стандартом у галузі, якщо ви просто продовжите вчитися, не зупиняючи і не розгортаючи, речі стають поганими дуже швидко. Це одна з речей, які мене цікавлять, я думаю, що навчання з підкріпленням особливо підходить для цього, оскільки багато наших алгоритмів обробляють дані, коли дані надходять, і багато алгоритмів просто природно підходять для навчання.
Це не означає, що вони роблять це або що вони хороші в цьому, але ми не повинні запитувати себе, і я думаю, що є багато цікавих дослідницьких питань про те, що ми можемо зробити.
Які майбутні застосування безперервного навчання вас найбільш цікавлять?
Це мільярдний питання, оскільки в певному сенсі я шукаю ці застосування. Я думаю, що як дослідник, мені вдалося поставити правильні питання, це більше ніж половина роботи, тому я думаю, що в нашому навчанні з підкріпленням багато разів мені подобається бути керованим проблемами. Це просто як: “О, ми маємо цю проблему, тепер нам потрібно вирішити її”, і тоді ви робите наукові відкриття. Правильніше кажучи, я зараз працюю з іншими, наприклад, з Адамом Вайтом, Мартою Вайтом над цим проєктом, який фактично очолюють вони, про систему очистки води.
Це щось, що мене дуже цікавить, оскільки це одна з речей, які дуже важко описати мовою, це просто як: це не те, що всі поточні успіхи, які ми маємо з мовою, вони легко застосовні тут. Вони вимагають цього аспекту безперервного навчання, як я сказав, ви маєте дані, ви бачите дані, і іноді якість води змінюється дуже швидко, тому вам потрібно продовжувати вчитися. Це має великий соціальний вплив, важко уявити щось більш важливе, ніж забезпечення питної води для населення, і іноді це має велике значення.
Я думаю, що це має великий потенціал соціального впливу, це надзвичайно складна дослідницька проблема. У нас немає симулятора, у нас немає можливості його придбати, тому нам потрібно використовувати найкращі дані, нам потрібно вчитися онлайн, тому є багато викликів. Це одна з речей, які мене цікавлять, інша річ – охолодження будівель, і знову ж таки, думаю про погоду, про зміну клімату і речі, на які ми можемо впливати, часто це просто як: як ми вирішуємо, як охолодити будівлю? Як ця будівля, в якій ми зараз знаходимося, з сотнями людей, це дуже відрізняється від того, що було минулої тижня, і чи будемо ми використовувати точно ту ж саму політику?
Є багато можливостей для цих контрольованих систем, які є високовимірними, дуже складними для розуміння, і ми, можливо, можемо зробити набагато краще, ніж стандартні підходи, які ми маємо зараз у галузі.
У деяких місцях до 75% споживання енергії буквально становлять кондиціонери, тому це має великий сенс.
Так, я думаю, що багато цього в вашому будинку вже є продукти, які використовують машинне навчання, і вони вчаться з клієнтами. У цих будівлях ви можете мати набагато більш тонкий підхід, наприклад, у Флориді, Бразилії, це багато місць, які мають цю потребу. Охолодження даних – це ще одна річ, є компанії, які починають це робити, і це звучить майже як наукова фантастика, але є можливість продовжувати вчитися і адаптуватися, коли виникає потреба. Це може мати великий вплив на ці контрольовані завдання, які є високовимірними тощо, наприклад, коли ми літали балонами. Наприклад, однією з речей, які ми змогли показати, було саме те, як навчання з підкріпленням, і особливо глибоке навчання з підкріпленням, можуть вчитися приймати рішення на основі датчиків, які є набагато більш складними, ніж те, що люди можуть розробити.
Просто через визначення, ви дивитесь, як людина розробляє реакційну криву, просто у певному сенсі, це як: “Ну, це, ймовірно, буде лінійним, квадратичним”, але коли у вас є нейронна мережа, вона може вчитися всі нелінійності, які роблять це набагато більш тонким рішенням, яке іноді дуже ефективне.
Дякуємо за чудове інтерв’ю, читачам, які хочуть дізнатися більше, рекомендуємо відвідати наступні ресурси:












