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

5 комментариев

В Беларуси немного исследователей в области 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 — человеку будут давать столько, сколько ему необходимо для жизни. Я с тревогой слежу за новостями про глобальное потепление. Такой угрозы над человечеством ещё никогда не нависало. Стараюсь меньше летать на самолётах. 

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

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

Горячие события

Testing Stage 2020
26 марта — 28 марта

Testing Stage 2020

Киев
JSNation 2020 Amsterdam
3 июня — 5 июня

JSNation 2020 Amsterdam

Amsterdam

Читайте также

Microsoft обучила крупнейшую языковую модель на базе архитектуры Transformer
Microsoft обучила крупнейшую языковую модель на базе архитектуры Transformer

Microsoft обучила крупнейшую языковую модель на базе архитектуры Transformer

Facebook опубликовала библиотеку PyTorch3D для обучения нейросетей на 3D-данных
Facebook опубликовала библиотеку PyTorch3D для обучения нейросетей на 3D-данных

Facebook опубликовала библиотеку PyTorch3D для обучения нейросетей на 3D-данных

1 комментарий
Easybrain открыла ИТ-лабораторию в БГЭУ
Easybrain открыла ИТ-лабораторию в БГЭУ

Easybrain открыла ИТ-лабораторию в БГЭУ

4 комментария
AI «апгрейдил» короткометражку братьев Люмьер 1896 года до 4К
AI «апгрейдил» короткометражку братьев Люмьер 1896 года до 4К

AI «апгрейдил» короткометражку братьев Люмьер 1896 года до 4К

Обсуждение

-4

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

0

Рискну поделиться наблюдением с универских лет (БГУИР)

Чем ниже студент в рейтинге, тем меньше ему нравится местное образование. Может, что-то успело поменяться :)

Антон Ковалевский
Антон Ковалевский Software Engineer в ISsoft
5

Дмитрий в статье упомянул очень важный момент. У нас в ВУЗах не мотивируют и не объясняют, что преподают и зачем. То же самое и в школах. По итогу людей, желающих учиться просто потому что это интересно, не так уж и много. А когда мировоззрение позволяет увидеть применение вещам, которые нужно было штудировать в ВУЗе - перспектива начинать с нуля не кажется хорошей идеей.

Алексей Рудак
Алексей Рудак Основатель в Lingvanex
1

Дима, спасибо тебе за твои работы! Мы как раз делаем переводчик на базе твоей публикации. Будешь в Минске - пиши, сыграем в фрисби :)

0

"Хороший пример — нейросетевой машинный перевод. Появился он в 2014 году, и тогда его воспринимали как безумие. Но ему ведь не понадобились десятилетия, чтобы выстрелить."
Много слышал что машинный перевод выстрелил.... но до сих пор не могу найти где же он выстрелил. Самое мощное что видел из переводчиков - это популярный гугль транслейт. Сколько там нейросетевого я не знаю, но переводит он хреново.
Буду признателен за ссылочку на отличный нейросетевой машинный переводчик, который уже как пару лет выстрелил.