«В Минске пытался прибиться хоть куда-нибудь». Дима Богданов изобрёл механизм attention и работает с лауреатом премии Тьюринга. Говорим про ML и Монреаль

Релокейт
3 апреля 2019, 09:18

В Беларуси немного исследователей в области AI и ML. Один из них — Дмитрий Богданов, родом из Гомеля. В 2014 году во время стажировки в Монреальском университете в Канаде он изобрёл механизм attention, который сейчас используется во всех индустриальных системах машинного перевода, таких как Google Translate.

Сейчас он получает PhD и работает под руководством известного канадского учёного Йошуа Бенжио. dev.by поговорил с белорусом о жизни научного работника в Беларуси и на Западе.

Арсений Кравченко писал, что белорусские исследователи AI больше не живут в Беларуси — Денис Ярец сейчас в Нью-Йорке, Дима Богданов в Монреале — в первую очередь из-за состояния белорусской науки в целом и исследований в области ML в частности. Это так?

На 4-м курсе я ходил кругами, пытался прибиться хоть куда-нибудь, даже пробовал с профессором из России удалённо работать. В конце концов подошёл к завкафедрой и спросил, с кем я могу заниматься машинным обучением, а он мне в ответ: «Что это такое? Первый раз об этом слышу». В тот момент я понял, что здесь мне нечего ловить, нужно подавать документы за рубеж. С точки зрения науки и исследований хуже точно не будет.

По теме
Все материалы по теме
Что-то изменилось с тех пор? Белорусская наука в области AI, ML куда-то развивается?

Сама фраза «наука в Беларуси в области AI» уже вызывает смех. А вообще с расстояния почти в 7 тысяч км сложно следить за ситуацией в другой стране. Я каждый раз радуюсь за белорусские ИТ-компании и стартапы, за образование, когда читаю новости о каких-то позитивных изменениях. А вот про исследования в области AI ничего не слышал.

Людям, которые занимаются наукой, нужно платить разумную зарплату, предоставлять вычислительные ресурсы, возможность ездить на конференции — это всё стоит денег, для Беларуси это роскошь. У аспирантов на Западе зарплаты небольшие, но они могут несколько раз в год посещать топовые конференции. Сомневаюсь, что белорусский аспирант может это себе позволить.

Что делать белорусским ученым, если получение европейских грантов — это долгий, забюрократизированный и ненадёжный путь?

Что может делать белорусский учёный в области AI? Другого ответа, кроме как уехать за границу, у меня нет. Не факт, что Беларуси вообще нужны эти исследования. У белорусской ИТ-отрасли хорошо получается делать то, что она делает, а исследования требуют колоссальных инвестиций, которых в стране нет. У самых заметных в этой нише американских университетов — MIT, Стэнфордского, Калифорнийского — много серьёзных лабораторий с многолетней историей, качественным оборудованием и хорошим финансированием. Плюс они «загребают» себе лучших студентов. 

Ты учился в БГУ,  Бременском университете в Германии, сейчас в Монреальском университете в Канаде. По какому принципу выбирал? 

Всё получилось спонтанно, даже случайно. В Бременском университете были знакомые студенты. Я подал документы в магистратуру, немного поучился и спросил у одного профессора про стажировку. Он сразу написал своему коллеге — известному учёному в Канаде, и тот меня принял на стажировку. Я хорошо себя зарекомендовал, и меня позвали на PhD в Монреальский университет.

Искать гранты самому не пришлось — этот профессор очень успешен,  ему хватает финансирования для всех своих студентов. Технические компании заинтересованы в том, чтобы область не снижала обороты и появлялись всё новые и новые инновации. Поэтому финансирование в исследования поступают сотнями миллионов долларов не только от ИТ-компаний, но и от государства и провинций Канады. Все делают ставку на AI и не хотят упустить эту возможность. К слову, недавно наше подразделение переехало в новое здание и теперь занимает целый этаж. Вот так всё серьёзно.

Можешь сравнить эти три университета?

Математику можно хорошо выучить и в ФПМИ БГУ. В этом плане претензий к вузу у меня нет, правда, её как-то странно преподают. Я бы сказал, что в белорусском вузе тебя не пытаются вдохновить, заинтересовать предметом, не объясняют, откуда вообще взялась математика. Ты просто зубришь, потому что ты фанатик, и тебе вовсе не нужно искать в этом смысл. А по итогу, наверное, мне одному из группы она пригодилась в жизни. На Западе всё по-другому. Тебе объясняют, какие у конкретного предмета корни, откуда он взялся. Тебе дают только современные, актуальные знания. Практика — must have, там проектный фокус. Плюс в программу включена такая важная часть, как презентация себя и своих исследований. Для меня, особенно первое время, это была большая и сложная задача. Я умел программировать, но мне нужно было научиться говорить.

В Монреале ты работаешь под руководством учёного Йошуа Бенжио. Чем он известен? 

Известен он тем, что давно и упорно занимается нейронными сетями, продвигает deep learning в массы. Когда это направление оказалось крайне полезным и значимым, он стал невероятно популярен, потому что в каком-то смысле оказался пророком. Кстати, он только что получил премию Тьюринга — аналог Нобелевской премии в информатике. Работая с ним, понимаешь, что можешь перевернуть искусственный интеллект с ног на голову, и это будет нормально. Он потрясающе амбициозен, и мне сильно помог поднять уровень амбиций. Думаю, благодаря ему я стал лучшим исследователем.

При этом работать с ним тяжело, Йошуа крайне бескомпромиссен во всём, что касается работы. Он никогда не удовлетворяется частичными решениями, иногда дело доходит до крайности. Цели, которые он ставит перед собой и студентами, важны, но ориентированы на очень далёкое будущее и совсем непонятно, как к ним идти.

А твои исследования более приземлённые?

Можно сказать и так. Сейчас, например, я хочу понять, как человек может взаимодействовать с системой на естественном языке (Natural Language Understanding). Люди давно пытаются решить эту задачу, и в какой-то мере компьютер уже понимает естественный язык — с его помощью мы, например, гуглим. Также Siri или Google Assistance иногда нас слышат. Но я хочу добиться, чтобы, скажем, эти голосовые помощники понимали нас не через раз, а почти всегда, в 95 процентах случаев. Зачем? Примеров, где можно это применять, масса. Из банального — чтобы не рыться самому в настройках телефона, а просто объяснить, скажем, голосовому помощнику, что тебе нужно, и получить ответ. На практике такие решения пока не применяются.

Машинное обучение — это всего лишь костыль, который помогает только в статистически частых случаях. Как только ты сталкиваешься с маловероятной ситуацией, машинное обучение ломается. Поэтому мне интересно понять, в чём фундаментальные проблемы текущих подходов и как их можно улучшить. Черпаю вдохновение из лингвистики и Cognitive Science — что-то вроде экспериментальной психологии, где исследуется, как работает High Level Cognition. Оттуда можно позаимствовать много интересных идей и использовать их в своих корыстных целях.

Приведу другой пример, который меня даже больше мотивирует. Люди часто работают с программами, например, Excel, но не могут воспользоваться всей их функциональностью в полной мере. Я сейчас часто работаю в векторных редакторах, но меня никто не учил ими пользоваться, поэтому я просто тыкаюсь в разные стороны, нажимаю всё подряд, чтобы найти нужную кнопку. Мне кажется, гуманнее было бы использовать естественный язык в качестве интерфейса.

Станет ли после этого людям сложнее использовать старые интерфейсы? Безусловно. Такое уже было. Всё начиналось с командной строки, потом появился графический интерфейс, и людей, которые умеют пользоваться командной строкой, стало меньше. Насколько плохо для человечества то, что оно потеряет способность рыться в огромном количестве выпадающих меню? Не думаю, что это большая потеря. Я прекрасно представляю свою жизнь и без этого.

Можно ли назвать то, чем ты занимаешь, Natural Language Processing (NLP)?

Я предпочитаю использовать Natural Language Understanding, потому что Natural Language Processing — это термин, которому уже много лет, и он часто применяется для других ситуаций. Да, deep learning применяется в NLP, но его роль там незначительная. Всё, что оно делает — ищет статистические закономерности. Благодаря им у него и получается решать задачи: понимать, что человек хочет, классифицировать что-то, предсказать. Это направление AI может быть полезным и уже позволяет людям делать деньги, и это замечательно. Но я хочу продвинуться на новый уровень, где компьютер будет реально понимать тебя и отвечать не только на статистически частые вопросы. 

Расскажи о механизме attention, который широко используется в машинном обучении. Ты изобрёл этот механизм?   

Да, я изобрёл этот механизм. Можно сказать, что это были мои 15 минут славы.

Когда я приехал на стажировку в Монреаль, проект по машинному переводу был в самом разгаре, но при этом не был жизнеспособен. На тот момент алгоритм машинного перевода работал следующим образом: предложение на английском языке нейронная сеть преобразовывала в вектор фиксированной длины. На входе могло быть 20-30 слов, а на выходе — тысяча вещественных символов. И из этого потока следующая нейронная сеть пыталась написать предложение на французском.

Я сразу сказал, что это дикость, но предложить альтернативу смог не сразу — через два месяца. Нужно было просто разрешить нейронной сети идти в обход тысячи вещественных чисел и искать в английском предложении то, что нужно для воспроизведения следующего французского слова. Это и есть механизм attention. На самом деле идея не ортодоксальна. В 2014 году в мире нейронных сетей никто так не делал. Но в последующие годы механизм оказался крайне популярен, у этой статьи уже около 6 тысяч цитирований. С одной стороны, я сомневаюсь, что в Беларуси есть ещё кто-то с таким же цитированием, а с другой, это была случайность. Я тогда мало что знал в DL и в машинном переводе, но проект нуждался в новых идеях.

Где сейчас можно увидеть применение этого подхода?

Везде. Самый типичный пример — индустриальные системы машинного перевода, такие как Google Translate. Он в несколько видоизменённом формате перекочевал во многие разделы deep learning. Потомки attention механизма повсеместно используются в NLP, но их уже не я изобретал.

Качество перевода растёт. Соответствует ли этот рост ожиданиям инженеров и размерам инвестиций в разработку нейросетей-переводчиков?

Думаю, да. Но ведь есть много промежуточных уровней. Допустим, есть шкала, где 0 — это когда ты самостоятельно переводишь слово за словом со словарём, а 10 — это когда ты можешь доверить перевод критически важного документа машине. Нейросетевой машинный перевод позволил сильно продвинуться в этой шкале. Жизнь переводчиков упростилась. Когда ты едешь в Китай, не обязательно учить китайский — можно достать телефон и худо-бедно прочитать указатели в метро и вывески  магазинов. Google пытается сделать наушники, которые в режиме реального времени переводят сказанное. Машинный перевод открывает колоссальные возможности для взаимодействия с разными культурами и странами. Но пока что не может давать гарантию качества — это то, что и близко не предвидится.  

Денис Ярец из лаборатории Fair в Facebook считает, что главная проблема в обучении моделей сегодня sample efficiency, количество примеров, которые необходимо показать модели для обучения. Видишь ли ты какие-нибудь ещё проблемы?

Я согласен с Денисом, это большая проблема. Могу добавить, что с текущими подходами к обучению нейросети не умеют применять полученные знания в новых, статистически не частых ситуациях. Мы же хотим, чтобы они научились это делать. В моей последней статье есть такой пример: если тебе задали вопрос «Есть ли под твоей машиной скрипка?», как ты отреагируешь? Скорее всего, сначала заглянешь под машину. Вопрос дурацкий, но человек способен на поиски ответа. А нейросеть тут же сломается.

По теме
Все материалы по теме

Для чего тебе PhD? Планируешь строить карьеру в университете? Денис упоминал, что отсутствие PhD сильно ограничивает карьерный рост в научных лабораториях, это одно из условий для получения должности Research Scientist. 

У меня есть две причины. Первая — любопытство. PhD даёт возможность почитать первоисточники, хорошо разобраться в своей области и построить фундамент. Вторая — PhD открывает огромное количество дверей как в университетах, так и в отделах ресёрча в компаниях. 

Раньше я хотел остаться в университете и быть профессором. Но работа профессора на Западе довольно сложная и нервная. Нужно заниматься бюрократией, выпрашивать гранты. Иногда проект финансируется в рамках конкретных сроков, и свободный академический дух пропадает — получается чистый аутсорсинг. 

При выборе места работы для тебя важен материальный фактор?

Если честно, да. Конечно, разница в зарплатах научных сотрудников университетов и лабораторий ИТ-компаний большая. Учёным на Западе платят нормально, выше среднего, ты не будешь жить в роскоши, но и таких проблем, как у профессоров в Минске, не возникнет. А Research Scientist в ИТ-компаниях платят слишком много. Думаю, то, чем я занимаюсь, будет релевантно практически для любой лаборатории.  

Согласен с утверждением, что самые амбициозные AI проекты обычно терпят крах, а «более скромные» постепенно продвигают AI?

Я бы сказал так: самые амбициозные терпят крах, менее амбициозные дают краткосрочный результат. Самые полезные — где-то посередине. Срок реализации проекта с правильными амбициями — не 5-10 лет, а например, год. Если не получается, значит, нужно сворачиваться и начинать что-то другое. Если вы обещаете сделать революцию через 10 лет — это всё ерунда. Никто не может так долго фокусировать своё внимание на одной задаче. Такие проекты попадают в категорию «можно было не начинать». Хороший пример — нейросетевой машинный перевод. Появился он в 2014 году, и тогда его воспринимали как безумие. Но ему ведь не понадобились десятилетия, чтобы выстрелить.

Приведи примеры стартапов в мире, которые в твоём понимании действительно создают инновации и работают в связке с наукой.

Мне нравится, как ИИ применяют в медицине: например, Google Health — это крутой проект. Нравится применение ИИ в электросетях для оптимизации электроэнергии. Это реальные проблемы, которые должен решать ИИ.  

Слышал что-нибудь о белорусских стартапах?

Знаю, что Google купила AIMatter. Про виртуальное надевание кроссовок на ноги тоже слышал. Меня радует, что белорусы умеют брать классные технологии и делать на их основе проекты. Это хороший навык. Уровень сложности ряда белорусских проектов действительно серьёзный, хоть и не академический.

Как ты обустроил канадский быт? 

Мы с женой (она работает в местном офисе Google) приобрели жильё. Монреаль — один из дешёвых городов Канады. 

Как отдыхаешь от машинного обучения? 

Зимой я занимаюсь скалолазанием, летом играю в фрисби, в Монреале это достаточно популярная игра. Команду можно собрать по интернету, причём любого уровня. Также ездили на северо-восток Квебека, смотрели на китов, горы, скалы. Недавно на Кубе были — тепло, пальмы. Там многое похоже на Беларусь, например, есть распределение в вузах, государство распределяет все блага, субсидирует, предоставляет бесплатную медицину, образование. 

Каким будет мир через 20 лет, по-твоему? 

AI будет постепенно внедряться в нашу жизнь. Думаю, демократические институты нас не подведут, и мы придём к идее basic income — человеку будут давать столько, сколько ему необходимо для жизни. Я с тревогой слежу за новостями про глобальное потепление. Такой угрозы над человечеством ещё никогда не нависало. Стараюсь меньше летать на самолётах. 

Бываешь в Минске? 

Последний раз был полтора года назад. Я очень люблю Минск, трепетно отношусь к паркам возле проспекта. Названий уже не помню, но люблю там время проводить, ностальгировать.

Обсуждение