Интервью
Марлос С. Мачадо, адъюнкт-профессор Университета Альберты, стипендиат Amii, CIFAR AI Chair – Интервью

Марлос С. Мачадо – стипендиат в Резиденции Альбертского института машинного интеллекта (Amii), адъюнкт-профессор Университета Альберты, и стипендиат Amii, где он также занимает должность Canada CIFAR AI Chair. Исследования Марлоса в основном сосредоточены на проблеме обучения с подкреплением. Он получил степень бакалавра и магистра в Университете Федерал де Минас-Жерайс (UFMG) в Бразилии, и степень доктора философии в Университете Альберты, где он популяризировал идею временно-расширенного исследования через опции.
Он был исследователем в DeepMind с 2021 по 2023 год и в Google (GOOGL ) Brain с 2019 по 2021 год, во время которого он сделал значительный вклад в обучение с подкреплением, в частности, применение глубокого обучения с подкреплением для управления стратосферными шарами Loon. Работы Марлоса были опубликованы в ведущих конференциях и журналах по искусственному интеллекту, включая Nature, JMLR, JAIR, NeurIPS, ICML, ICLR и AAAI. Его исследования также были представлены в популярных СМИ, таких как BBC, Bloomberg TV, The Verge и Wired.
Мы провели интервью с ним на ежегодной конференции Upper Bound 2023 по искусственному интеллекту, которая проходит в Эдмонтоне, Альберта, и организуется Альбертским институтом машинного интеллекта (Amii).
Ваша основная направленность была на обучении с подкреплением, что привлекает вас к этому типу машинного обучения?
Мне нравится в обучении с подкреплением эта концепция, это очень естественный способ обучения, то есть вы учитесь через взаимодействие. Это кажется мне интуитивным способом, как мы учимся как люди, в некотором смысле. Я не люблю антропоморфизировать ИИ, но это просто интуитивный способ, когда вы пробуете вещи, некоторые вещи кажутся хорошими, некоторые – плохими, и вы учитесь делать то, что делает вас лучше. Одним из вещей, которые меня fascinуют в обучении с подкреплением, является тот факт, что, поскольку вы взаимодействуете с миром, вы – это агент, который пробует вещи в мире и может выдвигать гипотезы и проверять их.
Причина, по которой это важно, заключается в том, что это позволяет открытие нового поведения. Например, одним из самых знаменитых примеров является AlphaGo, ход 37, о котором говорят в документальном фильме, который был творческим и оставил всех в изумлении. Это было не где-то, это было просто через взаимодействие с миром, вы получаете возможность открыть такие вещи. Вы получаете эту способность открывать, как один из проектов, над которым я работал, был полетом видимых шаров в стратосфере, и мы увидели очень похожие вещи.
Мы увидели поведение, которое всех впечатлило и показалось блестящим, но мы никогда не думали об этом. Думаю, что обучение с подкреплением уникально расположено для того, чтобы позволить открытие такого поведения, потому что вы взаимодействуете, и в некотором смысле одна из самых трудных вещей – контрфакты, то есть что бы произошло, если бы я сделал что-то другое? Это очень трудная проблема в целом, но во многих случаях в машинном обучении нет ничего, что можно сделать. В обучении с подкреплением вы можете, “Что бы произошло, если бы я сделал что-то другое?” Я могу попробовать в следующий раз, когда я буду испытывать это.
Конечно, я не собираюсь быть лицемерным, я думаю, что многие из этих крутых приложений, которые пришли с этим, сделали его очень интересным. Например, если мы вернемся на десятилетия назад, даже когда мы говорим о ранних примерах больших успехов обучения с подкреплением, все это сделало его очень привлекательным для меня.
Какое было ваше любимое историческое применение?
Думаю, что есть два очень знаменитых примера, один – это летающий вертолет, который они сделали в Стэнфорде с помощью обучения с подкреплением, и другой – TD-Gammon, который является игроком в нарды, ставшим чемпионом мира. Это было в 90-х годах, и так это было во время моего докторантура, я сделал стажировку в IBM с Джеральдом Тесоро и Джеральд Тесоро возглавлял проект TD-Gammon, поэтому это было действительно круто.
Это было смешно, потому что когда я начал заниматься обучением с подкреплением, я не был полностью осведомлен о том, что это такое. Когда я подавал заявление в аспирантуру, я помню, что я посетил многие веб-сайты профессоров, потому что я хотел делать машинное обучение, и я читал описание исследований каждого, и я был как, “О, это интересно”. Когда я оглянулся назад, без знания области, я выбрал всех знаменитых профессоров в области обучения с подкреплением, но не потому, что они были знаменитыми, а потому, что описание их исследований было привлекательным.
Я был как, “О, этот веб-сайт действительно хороший, я хочу работать с этим парнем и этим парнем и этой женщиной”, поэтому в некотором смысле я нашел их органично.
Как вы пришли к работе над автономной навигацией стратосферных шаров?
Это было не то, в чем я был экспертом, это была идея Loon, которая была дочерней компанией Alphabet. Когда мы проходили через то, как мы обеспечиваем доступ к интернету многим людям в мире, это то, что вы строите антенну, например, вы строите антенну в Эдмонтоне, и эта антенна позволяет вам обслуживать регион радиусом пять или шесть километров. Если вы поставите антенну в центре Нью-Йорка, вы обслуживаете миллионы людей, но теперь представьте, что вы пытаетесь обеспечить доступ к интернету племени в амазонской сельве. Может быть, у вас есть 50 человек в племени, экономическая стоимость установки антенны там очень высока, не говоря уже о том, что доступ к этому региону очень труден.
Экономически это не имеет смысла делать большой инвестиции в инфраструктуру в труднодоступном регионе, который очень слабо заселен. Идея шаров заключалась в том, что, но что, если мы могли бы построить антенну, которая была бы очень высокой? Что, если мы могли бы поставить шар туда, и тогда шар мог бы обслуживать регион, который в 10 раз больше, или если вы говорите о радиусе, то это 100 раз больше площади интернета. Если вы поставите его туда, скажем, в середине леса или в середине джунглей, то, может быть, вы сможете обслужить несколько племен, которые в противном случае потребовали бы отдельной антенны для каждого из них.
Обеспечение доступа к интернету в этих труднодоступных регионах было одной из мотиваций. Я помню, что девиз Loon был не обеспечить доступ к интернету следующему миллиарду человек, а обеспечить доступ к интернету последнему миллиарду человек, что было очень амбициозно в некотором смысле. Это не следующий миллиард, а именно последний миллиард, который самый трудный для достижения.
Какие были навигационные проблемы, которые вы пытались решить?
Эти шары работают так, что они не имеют привода, как люди навигают на воздушных шарах, вы либо поднимаетесь, либо опускаетесь, и вы находите ветер, который дует в определенном направлении, затем вы едете на этом ветре, и затем вы как, “О, я не хочу идти туда”, может быть, вы поднимаетесь или опускаетесь и находите другой ветер и так далее. Это то, что делают эти шары. Это не воздушный шар, это шар фиксированного объема, летящий в стратосфере.
Все, что он может сделать с точки зрения навигации, это подняться, опуститься или остаться на месте, и тогда он должен найти ветры, которые позволят ему добраться туда, куда он хочет. В этом смысле это то, как мы навигируем, и есть много проблем, на самом деле. Первая проблема заключается в том, что, говоря о формулировке сначала, вы хотите быть в регионе, обеспечивать интернет, но вы также хотите убедиться, что эти шары солнечные, что вы сохраняете энергию. Есть проблема многоцелевой оптимизации, не только убедиться, что я в регионе, который я хочу, но и быть энергоэффективным в некотором смысле, поэтому это первая вещь.
Это была сама проблема, но когда вы смотрите на детали, вы не знаете, как выглядят ветры, вы знаете, как выглядят ветры, где вы находитесь, но вы не знаете, как выглядят ветры 500 метров выше вас. У вас есть то, что мы называем в ИИ частичной наблюдаемостью, поэтому у вас нет этих данных. У вас могут быть прогнозы, и есть статьи, написанные об этом, но прогнозы часто могут быть неверными на 90 градусов. Это очень трудная проблема в смысле того, как вы справляетесь с этой частичной наблюдаемостью, это очень высокоразмерная проблема, потому что мы говорим о сотнях разных слоев ветра, и тогда вы должны учитывать скорость ветра, направление ветра, то, как мы моделируем его, насколько мы уверены в этом прогнозе, неопределенность.
Это просто делает проблему очень трудной для понимания. Одна из вещей, с которой мы больше всего боролись в этом проекте, была то, как мы можем передать, насколько эта проблема трудна. Потому что это трудно понять, потому что это не то, что вы видите на экране, это сотни измерений и ветров, и когда в последний раз у вас была измеренная величина этого ветра? В некотором смысле вы должны осознать все это, пока вы думаете о энергии, времени суток, где вы хотите быть, это много.
Что изучает машинное обучение? Это просто закономерности ветра и температура?
Способ, которым это работает, заключается в том, что у нас была модель ветра, которая была системой машинного обучения, но это не было обучением с подкреплением. У вас есть исторические данные о разных высотах, и тогда вы строите модель машинного обучения на основе этого. Когда я говорю “мы”, я не был частью этого, это было сделано Loon даже до того, как Google Brain подключился. У них была эта модель ветра, которая была не только о разных высотах, но и о том, как вы интерполируете между этими высотами.
Вы можете сказать, “Давайте скажем, два года назад, это было так, как ветер выглядел, но как он выглядел, может быть, 10 метров выше, мы не знаем”. Затем вы кладете процесс Гаусса на это, поэтому у них были статьи, написанные о том, насколько хорошей была эта модель. Способ, которым мы это сделали, заключался в том, что мы начали с точки зрения обучения с подкреплением, у нас был очень хороший симулятор динамики шара, и у нас также была эта модель ветра. Затем мы пошли назад во времени и сказали, “Давайте притворимся, что я в 2010 году”. У нас есть данные о том, как ветер выглядел в 2010 году во всем мире, но очень грубо, но затем мы можем наложить на это модель машинного обучения, этот процесс Гаусса, чтобы получить фактические измерения ветра, и затем мы можем ввести шум, мы можем сделать все sorts вещей.
Затем, поскольку у нас есть динамика модели и у нас есть ветер, и мы возвращаемся назад во времени, притворяясь, что мы были там, затем у нас фактически есть симулятор.
Это как цифровой двойник в прошлом.
Точно, мы разработали функцию вознаграждения, которая заключалась в том, чтобы оставаться на цели и быть немного энергоэффективным, но мы разработали эту функцию вознаграждения, чтобы шар мог учиться, взаимодействуя с этим миром, но он может взаимодействовать с миром только потому, что мы не знаем, как моделировать погоду и ветер, но потому, что мы притворяемся, что мы в прошлом, и мы смогли научиться навигации. По сути, это было – делаю я поднимаюсь, опускаюсь или остаюсь? Учитывая все, что происходит вокруг меня, в конце концов, все, что мне нужно, это обеспечить интернет в этом регионе. Это была проблема, в некотором смысле.
Какие есть проблемы в развертывании обучения с подкреплением в реальном мире по сравнению с игровым окружением?
Думаю, что есть несколько проблем. Я не думаю, что это обязательно о играх и реальном мире, это больше о фундаментальных исследованиях и прикладных исследованиях. Потому что вы можете делать прикладные исследования в играх, скажем, вы пытаетесь развернуть следующую модель в игре, которая будет поставлена миллионам людей, но я думаю, что одна из основных проблем – это инженерия. Если вы работаете, много раз вы используете игры как исследовательскую среду, потому что они захватывают многие свойства, которые нас интересуют, но они захватывают их в более хорошо определенных ограничениях. Из-за этого мы можем сделать исследования, мы можем проверить обучение, но это своего рода более “безопасная” среда, которую мы лучше понимаем.
Это не то, что исследования обязательно должны быть очень разными, но я думаю, что реальный мир приносит много дополнительных проблем. Это не только о безопасности, но и об инженерном стеке. Это очень khác от того, когда вы исследователь на своем компьютере, чтобы проверить это, но теперь у вас есть инженерный стек целого продукта, с которым вы должны работать. Это не то, что они просто позволят вам сделать все, что вы хотите, поэтому я думаю, что вам нужно стать гораздо более знакомым с этой дополнительной частью.
Думаю, что размер команды также может быть сильно khác. Например, Loon в то время имел десятки, если не сотни людей. Мы взаимодействовали только с небольшим количеством из них, но затем у них была команда управления, которая фактически общалась с авиационным персоналом.
Мы были не в курсе этого, но затем у вас есть гораздо больше заинтересованных сторон в некотором смысле. Я думаю, что многие из различий заключаются в том, что одна – это инженерия, безопасность и так далее, и может быть, другая – это то, что ваши предположения не держатся. Многие из предположений, которые вы делаете, на которых основаны эти алгоритмы, когда они выходят в реальный мир, они не держатся, и тогда вам нужно выяснить, как с этим справиться. Мир не так дружелюбен, как любое приложение, которое вы будете делать в играх, это в основном если вы говорите о очень ограниченной игре, которую вы делаете на своем компьютере.
Один пример, который я действительно люблю, – это когда они дали нам все, мы были как, “Хорошо, теперь мы можем попробовать некоторые из этих вещей, чтобы решить эту проблему”, и затем мы пошли и сделали это, и затем через неделю, две недели мы вернулись к инженерам Loon и сказали, “Мы решили вашу проблему”. Мы были очень умными, они посмотрели на нас с улыбкой на лице, как, “Вы не решили эту проблему, мы знаем, что вы не можете решить эту проблему, это слишком трудно”, как, “Нет, мы решили вашу проблему, посмотрите, у нас 100% точности”. Как, “Это буквально невозможно, иногда у вас нет ветров, которые позволят вам…” “Нет, давайте посмотрим, что происходит”.
Мы выяснили, что происходит. Шар, алгоритм обучения с подкреплением, научился лететь в центр региона, и затем он поднимался, и поднимался, и затем шар лопнул, и затем шар опустился, и он был внутри региона навсегда. Они были как, “Это явно не то, что мы хотим”, но затем, конечно, это была симуляция, но затем мы сказали, “О, да, как мы можем исправить это?” Они были как, “О, да, есть несколько вещей, но одна из вещей – мы должны убедиться, что шар не может подняться выше уровня, на котором он лопнет”.
Эти ограничения в реальном мире, эти аспекты того, как ваше решение фактически взаимодействует с другими вещами, легко упустить из виду, когда вы просто исследователь обучения с подкреплением, работающий над играми, и когда вы фактически выходите в реальный мир, вы как, “Подождите, эти вещи имеют последствия, и мне нужно быть осведомленным об этом”. Я думаю, что это одна из основных трудностей.
Думаю, что другая проблема заключается в том, что цикл этих экспериментов очень длинный, как в игре я могу просто нажать кнопку “играть”. Худший случай, через неделю у меня есть результаты, но затем, если я фактически должен летать шарами в стратосфере, мы имели это выражение, которое я люблю использовать в своей речи, что мы тестируем стратосферу, потому что в конце концов, после того, как у нас есть решение и мы уверены в нем, мы хотим убедиться, что оно фактически статистически лучше. Мы получили 13 шаров, я думаю, и мы летали ими в Тихом океане более месяца, потому что это было то, сколько времени потребовалось нам, чтобы даже проверить, что все, что мы придумали, было фактически лучше.
В отличие от игр, нет миллиона итераций одной и той же игры, работающих одновременно.
Да. У нас это было для обучения, потому что мы использовали симуляцию, хотя, снова, симулятор намного медленнее, чем любая игра, которую у вас может быть, но мы смогли справиться с этим инженерно. Когда вы это делаете в реальном мире, это другое.
Что вы исследуете сейчас?
Теперь я в Университете Альберты, и у меня есть исследовательская группа здесь с множеством студентов. Мои исследования гораздо более разнообразны в некотором смысле, потому что мои студенты позволяют мне это делать. Одна из вещей, которую я особенно взволнован, – это эта концепция непрерывного обучения. Что происходит, так это то, что почти каждый раз, когда мы говорим о машинном обучении в целом, мы делаем некоторые вычисления, будь то использование симулятора или обработка данных, и мы обучаем модель машинного обучения, и мы развертываем эту модель, и мы надеемся, что она будет работать хорошо, и это нормально. Многие разы это именно то, что вам нужно, многие разы это идеально, но иногда это не так, потому что иногда проблемы в реальном мире слишком сложны, чтобы ожидать, что модель, независимо от того, насколько она велика, фактически смогла включить все сложности мира, поэтому вам нужно адаптироваться.
Один из проектов, над которым я работаю, например, здесь в Университете Альберты, – это очистка воды. По сути, это то, как мы можем придумать алгоритмы обучения с подкреплением, которые смогут поддержать других людей в процессе принятия решений или сделать это автономно для очистки воды. У нас есть данные, мы можем видеть данные, и иногда качество воды меняется в течение часов, поэтому даже если вы скажете, “Каждый день я буду обучать свою модель машинного обучения из предыдущего дня, и я буду развертывать ее в течение часов этого дня”, эта модель не действительна больше, потому что есть дрейф данных, это не стационарно. Это очень трудно для моделирования, потому что, может быть, это лесной пожар, который происходит вверх по течению, или, может быть, снег начинает таять, поэтому вам нужно моделировать весь мир, чтобы сделать это.
Конечно, никто этого не делает, мы не делаем этого как люди, поэтому что мы делаем? Мы адаптируемся, мы продолжаем учиться, мы как, “О, это вещь, которую я делал, не работает больше, поэтому я, наверное, должен научиться делать что-то другое”. Я думаю, что есть много публикаций, в основном реальные, которые требуют от вас постоянного обучения и навсегда, и это не стандартный способ, которым мы говорим о машинном обучении. Часто мы говорим о том, что “Я буду делать большой пакет вычислений, и я буду развертывать модель”, и может быть, я разверну модель, пока я уже делаю больше вычислений, потому что я разверну модель через несколько дней или недель позже, но иногда временная шкала этих вещей не работает.
Вопрос в том, “Как мы можем учиться постоянно и навсегда, так, чтобы мы просто становились лучше и адаптировались?” и это очень трудно. У нас есть несколько статей об этом, как наша текущая машина не способна делать это, как многие из решений, которые у нас есть, которые являются золотым стандартом в этой области, если вы просто продолжаете учиться, вместо того, чтобы остановиться и развернуть, вещи становятся очень плохими очень быстро. Это одна из вещей, которую я действительно взволнован, которую я думаю, что теперь, что мы сделали так много успешных вещей, развернули фиксированные модели, и мы продолжим делать это, думая как исследователь, “Что такое передний край этой области?” Я думаю, что один из передних краев, которые у нас есть, – это этот аспект постоянного обучения.
Думаю, что одна из вещей, которую обучение с подкреплением особенно хорошо подходит для этого, заключается в том, что многие из наших алгоритмов обрабатывают данные, пока данные поступают, и поэтому многие из алгоритмов просто в некотором смысле естественно подходят для обучения. Это не означает, что они делают или что они хороши в этом, но мы не должны сомневаться в этом, и я думаю, что есть много интересных исследовательских вопросов о том, что мы можем сделать.
Какие будущие применения с помощью этого постоянного обучения вы больше всего взволнованы?
Это миллиардный вопрос, потому что в некотором смысле я ищу эти применения. Я думаю, что в некотором смысле как исследователь я смог задать правильные вопросы, это больше половины работы, поэтому я думаю, что в нашем обучении с подкреплением многие разы я люблю быть движимым проблемами. Это как, “О, у нас есть эта проблема, давайте попробуем решить ее”, и затем по пути вы делаете научные открытия. Сейчас я работаю с другими, такими как Адам Уайт, Марта Уайт, над этим, который является проектами, фактически возглавляемыми ими, над этой очисткой воды. Это то, что я действительно взволнован, потому что это то, что действительно трудно даже описать словами в некотором смысле, поэтому это как, это не все текущие успехи, которые у нас есть с языком, они легко применимы там.
Они требуют этого аспекта постоянного обучения, как я говорил, вода меняется очень часто, будь то мутность, будь то температура и так далее, и работает на разных временных шкалах. Я думаю, что это неизбежно, что нам нужно постоянно учиться. Это имеет огромное социальное воздействие, трудно представить что-то более важное, чем фактически предоставление питьевой воды населению, и иногда это имеет значение. Потому что легко упустить из виду тот факт, что иногда в Канаде, например, когда мы посещаем эти более слабо заселенные регионы, такие как в северной части и так далее, иногда у нас нет даже оператора, чтобы эксплуатировать очистку воды. Это не то, что это должно заменить операторов, но это то, чтобы фактически дать нам силу делать вещи, которые мы не могли сделать иначе, потому что мы просто не имеем персонала или силы, чтобы сделать это.
Я думаю, что это имеет огромный потенциал социального воздействия, это чрезвычайно сложная исследовательская проблема. У нас нет симулятора, у нас нет средств, чтобы его приобрести, поэтому мы должны использовать лучшие данные, мы должны учиться онлайн, поэтому есть много проблем там, и это одна из вещей, которую я взволнован. Другая – это охлаждение зданий, и снова, думая о погоде, о изменении климата и о том, как мы можем иметь воздействие, часто это как, “Как мы решаем, как мы охлаждаем здание?” Например, это здание, в котором мы находимся сегодня, это очень khác от того, что было на прошлой неделе, и будем ли мы использовать точно ту же политику? У нас есть термостат, мы как, “О, жарко, мы, наверное, можем быть более умными об этом и адаптироваться”, снова, и иногда есть много людей в одной комнате, не в другой.
Есть много таких возможностей для контролируемых систем, которые высокоразмерны, очень трудны для понимания нашими умами, и мы, вероятно, можем сделать намного лучше, чем стандартные подходы, которые у нас есть сейчас в этой области.
В некоторых местах до 75% потребления электроэнергии составляет буквально кондиционеры, поэтому это имеет много смысла.
Точно, и я думаю, что многие из этих вещей в вашем доме уже используют машинное обучение и учатся у своих клиентов. В этих зданиях вы можете иметь гораздо более тонкий подход, как во Флориде, Бразилии, это много мест, которые имеют эту потребность. Охлаждение центров данных – это еще одна вещь, есть некоторые компании, которые начинают делать это, и это звучит почти как научная фантастика, но есть способность постоянно учиться и адаптироваться, когда возникает потребность. Это может иметь огромное воздействие на эти контрольные проблемы, которые высокоразмерны и так далее, как когда мы летали шарами. Например, одна из вещей, которую мы смогли показать, была именно то, как обучение с подкреплением, и в частности глубокое обучение с подкреплением, может учиться принимать решения на основе датчиков, которые намного более сложны, чем то, что люди могут спроектировать.
Просто по определению, вы смотрите, как человек спроектировал бы кривую ответа, просто в некотором смысле, это как, “Ну, это, вероятно, будет линейным, квадратичным”, но когда у вас есть нейронная сеть, она может учиться всем нелинейностям, которые делают это намного более тонким решением, что иногда очень эффективно.
Спасибо за удивительное интервью, читателям, которые хотят узнать больше, следует посетить следующие ресурсы:












