Как стать ученым в области компьютерных наук
Компьютерные науки давно не только удел ученых и разработчиков, но и наша повседневная реальность. Онлайн-кинотеатры научились рекомендовать фильмы в нашем вкусе, телефоны в реальном времени улучшают качество снимков, а на YouTube можно смотреть видео в разрешении 4K. Но кто стоит за тем, чтобы все это работало? Мы попросили пятерых ученых в области компьютерных наук, лауреатов научной премии «Яндекса» имени Ильи Сегаловича, рассказать о том, чем они занимаются на работе, как выбрали свое направление в науке и что ожидает тех, кто только присматривается к этой области.
.marker { background: #FFE3E0; background: linear-gradient(180deg,rgba(255,255,255,0) 45%, #FFE3E0 55%); }
Анастасия Янина
Аспирантка МФТИ
«Мне всегда хотелось найти баланс между технической и творческой составляющей»
Я занимаюсь двумя совершенно разными задачами: разведочным поиском текстовых документов и генерацией фотореалистичных виртуальных человеческих аватаров.
А теперь простым языком. Я пытаюсь сделать поисковик, который ищет семантически и тематически близкие статьи. Это инструмент для ученых и других специалистов узкоспециализированных областей — например, врачей и юристов. Работает это так: вы берете, условно, юридический акт, закидываете в поисковик и находите все похожие по смыслу документы. Моя вторая задача — из области AR- и VR-приложений.
Как я пришла в науку. В работе мне всегда хотелось найти некий баланс между технической и творческой составляющей. Научная деятельность дает широкий простор в этом плане: можно придумывать и тестировать идеи, при этом многие исследования попадают в продукты и видны конечному пользователю.
Я училась в МФТИ, чуть позже — в Школе анализа данных «Яндекса», на младших курсах была уверена, что буду разработчиком. Машинным обучением и исследованиями я начала заниматься на третьем курсе, когда познакомилась со своим научруком. Он предложил задачу, которая мне очень понравилась: применить тематическое моделирование для создания исследовательского поисковика. Собственно, поиском близких текстов, а также их ранжированием я занимаюсь до сих пор.
Параллельно с исследованиями я начала преподавать машинное обучение: вела лекции и семинары в МФТИ и барселонском институте Harbour.Space, позже прибавились ML-курсы для бизнеса и онлайн-курсы на Stepik и Coursera.
Что нужно сделать, чтобы стать ученым. Отличный способ прокачаться в качестве исследователя — ездить по стажировкам во время учебы в институте. Это позволяет лучше понять, как работает академия и индустрия, а также приобрести массу полезных навыков и контактов. Обязательно социализируйтесь в профессиональных кругах. Вдруг идея для статьи возникнет на кофе-брейке научной конференции?
Лариса Маркеева
Младший научный сотрудник «Сколтеха»
«Можно прийти и сказать: „Смотри, какую штуку я сделал!“»
Я занимаюсь прикладной математикой. В рамках кандидатской диссертации получила быстрый метод численного решения дифференциальных уравнений при помощи тензорных разложений.
А теперь простым языком. Я занимаюсь проектами, связанными со сжатием нейронных сетей. Представьте, что у вас есть очень большая модель, которая никуда не поместится. Моя задача — научить модель поменьше повторять поведение большой, не теряя в качестве. В результате мы сможем выпустить, например, телефон, в котором быстро и эффективно работает маленькая модель. Такие технологии важны для снижения энергопотребления устройств, ускорения работы приложений или сокращения интернет-трафика.
Как я пришла в науку. Когда я училась в третьем классе, отец принес с работы списанный компьютер, и я стала проводить за ним много времени — разбирала и собирала заново, играла в игры. После школы я поступила в МАТИ на факультет «Информатика и вычислительная техника», но вскоре поняла, что это слишком техническая специальность. Мне хотелось быть среди тех, кто разрабатывает новые технологии, а не просто использует готовые.
Мой научный путь начался с магистратуры МФТИ, где я вела научно-исследовательскую работу. Я сразу почувствовала, что это мое — придумывать и создавать что-то новое. Помимо магистратуры, я год проучилась в ШАД и дважды съездила в Калифорнию на стажировку в Google, но поняла, что в науке мне интереснее: здесь больше свободы, чем в индустрии.
Сейчас я уже пятый год работаю в лаборатории Ивана Валерьевича Оселедца. Я искренне люблю свою работу — тут можно прийти и сказать: «Смотри, какую штуку я сделал!»
Что нужно сделать, чтобы стать ученым. На мой взгляд, важно попасть в соответствующую среду, которая поможет вам развиваться. В моем случае это родители, которые сами занимались наукой и привили мне определенный тип мышления, а позже — МФТИ, ШАД и лаборатория, где собралось много увлеченных людей.
Олег Свидченко
Старший исследователь в JetBrains Research
«Наука меня сразу затянула»
Я занимаюсь исследованиями в области обучения с подкреплением. Это алгоритмы машинного обучения, которые, в отличие от классических, работают не с наборами исходных данных, а взаимодействуют со средой, выдающей «награды» при определенных действиях.
А теперь простым языком. Если говорить совсем просто, можно провести аналогию с животными. Во время обучения их поощряют за хорошее поведение и наказывают за нежелательное. Я обучаю алгоритмы, которые следуют такому же принципу. Со временем они начинают все лучше и лучше выполнять поставленную задачу.
Как я пришел в науку. Я жил в Краснодарском крае, в городе Горячий Ключ, где никто ничего о программировании не слышал. Первые шаги в IT я делал самостоятельно: в восемь лет увлекся редактором карт в Warcraft, а позже мне помогала мама, которая постоянно занималась со мной математикой. В старших классах я стал призером Всероссийской олимпиады по информатике и поступил в петербургский НИУ ВШЭ.
К науке меня подтолкнула программа нашего бакалавриата: с первого курса нас пытались вовлечь в научную деятельность. То есть мой выбор был определен случайностью, но наука меня сразу затянула. Она дает свободу для творчества, и я получаю огромное удовольствие от процесса.
Что нужно сделать, чтобы стать ученым. Важное качество ученого — упертость. Если не получается с первого раза — это не значит, что идея плохая. Однажды у нас с командой возникла идея, как улучшить алгоритм. Мы потратили много сил и времени, но ничего особенно не вышло. Позднее, на конференции ICLR 2019, вышла статья, где раскрывалась очень похожая идея, просто ребята подошли к ней с другой стороны. Было обидно, что мы не додумались сделать так же, но, увы, истории провала в науке — классика. Важно не опускать руки, а просто двигаться дальше.
Дмитрий Ковалев
Студент Computer Science PhD в KAUST
«Наука — это спонтанное решение»
Я учусь по программе PhD в Саудовской Аравии и параллельно прохожу магистратуру в МФТИ. Наукой занимаюсь с 2018 года: разрабатываю методы оптимизации для машинного обучения.
А теперь простым языком. Моя задача заключается в том, чтобы разработать наиболее эффективные алгоритмы для решения задач оптимизации, то есть научить алгоритмы думать быстрее. Такие алгоритмы применяются, например, для обучения нейронных сетей.
Как я пришел в науку. Программированием я увлекся в детстве и обучался всему сам, по книгам. Заодно освоил HTML/CSS и даже сделал для школьного проекта сайт воображаемой пивоваренной компании.
После выпуска я поступил в МФТИ и долгое время думал, что буду разработчиком. Наука скорее спонтанное решение: однажды Физтех пригласил профессора, который взял меня в свою научную группу и пригласил на стажировку в Саудовскую Аравию. Я съездил к нему на стажировку и остался работать под его руководством.
Что нужно сделать, чтобы стать ученым. Ученому однозначно нужна усидчивость: не бывает такого, что ты решил написать статью — хоп, написал и опубликовал. Если у тебя появилась идея — отлично, но неизвестно, к чему она приведет. Нужно тестировать гипотезы по чуть-чуть, а не кидая разом в котел.
Алексей Артемов
Научный сотрудник «Сколтеха»
«Фундаментальное качество ученого — любопытство»
Я разрабатываю софт, который решает задачи построения виртуальных моделей для реальных объектов.
А теперь простым языком. Мои друзья говорят, что я делаю роботам глаза. А я говорю, что я скорее программист, который занимается разработкой наукоемкого ПО — 3D-реконструкцией объектов, моделированием сцен и анимацией лиц. Если говорить еще проще — чтобы распечатать что-нибудь на 3D-принтере, нужна очень точная трехмерная цифровая модель. Вот я занимаюсь построением таких моделей.
Как я пришел в науку. Я всегда увлекался сложной техникой — например, в детстве любил играть в машиниста электропоезда. Позже я окончил Лицей информационных технологий, где меня научили программировать с восьмого класса. С тех пор я с компьютером не расставался.
Исследованиями я заинтересовался только на втором курсе физического факультета МГУ. Сначала это привело меня в Школу анализа данных «Яндекса», а потом — в аспирантуру. Сейчас я работаю в «Сколтехе»: меня привлекла интересная научная позиция постдока, которая прекрасно сочетается с моими устремлениями и потребностями.
Что нужно сделать, чтобы стать ученым. С одной стороны, нужно много всего, а с другой — ничего особенно и не нужно. Я бы сказал, что фундаментальное качество ученого — любопытство. Важно постоянно задавать вопросы: «Как это сделать?», «Почему это работает?», «Чего можно добиться дальше?»
Безусловно, нужна усидчивость, потому что, прежде чем что-то получится, у тебя сто раз не получится. А еще — стрессоустойчивость. Ученый — не тот, кто сидит, размышляет, и на него приземляется яблоко. Он нередко живет в стрессе — особенно активный и деятельный исследователь, который имеет отношение к государству и грантам. А без грантов никак: это возможность покупать оборудование, платить зарплаты, ездить в командировки, на конференции.
Советы молодым ученым
Советов в духе «изучайте алгоритмы и математику» не будет: без этого в компьютерных науках никуда. Вот не самые очевидные, но полезные советы, которыми поделились лауреаты научной премии имени Ильи Сегаловича:
Подтягивайте английский. Без знания языка вы будете оторваны от жизни международного сообщества и не сможете полноценно следить за его достижениями. К тому же многие крупные и интересные конференции проходят за рубежом.Научитесь правильно читать и писать научные статьи. Например, попробуйте технику структурного чтения по инструкции, разработанной в Стэнфордском университете. Не менее важные идеи изложены в заметке «Creating a Research Space».Общайтесь с коллегами. Сидеть в углу и пилить свой проект не получится. Расширяйте сеть контактов, общайтесь с коллегами, в том числе из других университетов и лабораторий. Посещайте конференции, активно рассказывайте о своих исследованиях на научных семинарах и участвуйте в обсуждении статей.Заявляйте о себе. Научное сообщество очень гибкое и открытое к общению. Не стесняйтесь написать интересующему вас профессору: «Привет, я занимаюсь тем-то и тем-то, очень хочу поучаствовать, можете мне выдать какую-нибудь задачу?» Помните, что существует множество тем, которые не исследуются, потому что не хватает квалифицированных рук.Участвуйте в reading clubs. Иногда их называют научными семинарами, но суть одна: это такие встречи, где люди собираются и рассказывают о том, какие научные статьи прочитали. Такие мероприятия проходят в компаниях в research-подразделениях (например, в Школе анализа данных «Яндекса» проходит RL reading club) или в университетах.Преподавайте. Это отличный способ не только вспомнить материал университетских курсов, но и обзавестись интересными контактами. Проводите лекции и семинары для студентов, готовьте онлайн-курсы, обучающие материалы и учебники, организовывайте летние школы и воркшопы.
Банально, но успевайте жить вне работы. Это так же важно, как ваша научная деятельность.