Аспирант ФКН Максим Карпов рассказал о смене специальности, синдроме самозванца и изучении машинного обучения с нуля
О машинном обучении и аномалиях
Сейчас я аспирант третьего года обучения аспирантской школы по компьютерным наукам ВШЭ, работаю младшим научным сотрудником в лаборатории LAMBDA, веду семинары на курсах проекта Data Culture. Тема моего исследования – "Разработка методов обработки естественного языка для обнаружения аномалий в журналах событий систем хранения больших данных".
Современные информационные системы как российского производителя систем хранения данных вроде YADRO, так и крупнейшей в мире лаборатории физики высоких энергий ЦЕРН производят большое количество сообщений в так называемых журналах событий (логах), которые зачастую трудно поддаются анализу. В этом случае довольно важной задачей является поиск аномалий в логах, когда привычные паттерны нормальной работы системы сменяются новым, ранее неизвестным поведением. Превентивное обнаружение аномалий позволяет предотвращать критические ситуации, значительно снижая издержки организаций. Такие переходы довольно трудно детектировать статистически, так как сообщения о подобных событиях происходят редко, и не все они могут быть аномалиями, также мешает объем зашумленных данных. Одним из путей решения данной задачи является применение методов машинного обучения, а именно обработки естественного языка (NLP), для идентификации ранее неизвестных моделей поведения системы по последовательностям событий в логах.
До науки
Честно говоря, мое знакомство с машинным обучением началось сравнительно недавно: мой путь проходил "из гуманитария в технаря". По первому образованию я специалист по международным отношениям, окончил Московский государственный университет. На тот момент, когда я заканчивал школу с углубленным изучением иностранных языков в Москве, мне хотелось заниматься чем-то связанным с экономикой и математикой, но не забывать про языки – и все это соединялось на отделении "Глобальная экономика и управление" на Факультете глобальных процессов. Несмотря на социально-гуманитарный профиль факультета, нашему курсу очень повезло и нам преподавали профессора и доценты с мехмата основы высшей математики, прикладную статистику, математическое моделирование глобальных процессов.
На четвертом курсе я начал параллельно работать, но это была работа не совсем по специальности – я занимался мониторингом и анализом СМИ в аналитическом агентстве для таких заказчиков, как Сбербанк, Мегафон, Почта России и др. Как раз в это время в университете нас учили проводить аналитический обзор новостных статей на английском. Сначала мне понравилось, но в процессе работы я понял, что это не мое. Сама специфика была очень рутинная, как конвейер: нужно было каждый день читать много информации, много статей, быстро анализировать. Конечно, этот процесс был частично автоматизирован: например, на одного клиента была база публикаций, которая выгружала по 500-600 статей за сутки. Система сразу строила графики публикаций, показывала, какие основные темы, какая тональность у статей, и мне нужно было подготовить небольшую аналитическую справку для клиента.
Путь из глобалиста в дата-сайентиста
После второго курса мы группой студентов поехали на летние курсы по французскому языку. Знакомая преподавательница на кафедре иностранных языков МФТИ собирала студентов на языковую практику на две недели. Мы проживали в кампусе университета в городе Перпиньян на юге Франции, в 30 км от Испании. Там была прекрасная учебная атмосфера, окружение, культурный досуг, рядом Средиземное море, красивые города, достопримечательности.
Тогда я впервые узнал, что есть такой вуз – Физтех, познакомился с ребятами оттуда. Впоследствии мы очень сдружились, начали ездить компанией кататься на горных лыжах, собираться на праздниках. От них я узнал, что есть машинное обучение и анализ данных. Тогда я еще не осознавал, что мне это интересно, я просто слушал как завороженный, мне казалось, что они занимаются какой-то магией.
В начале 2015 года, уже выпустившись из МГУ и уволившись с нелюбимой работы из PR-агентства, я всерьез задумался, чем я действительно хочу заниматься по жизни. Месяц-два я рефлексировал, и потом вспомнил, что в школе мне нравилась математика, она неплохо мне давалась. Я решил кардинально сменить область. Начал проходить онлайн курсы на Coursera, восполнять пробелы в базовых знаниях. Первым курсом была "Линейная алгебра" от ВШЭ, с которого началась моя увлекательная подготовка к поступлению в магистратуру. Большую роль здесь сыграл мой друг Михаил Кузнецов, выпускник Физтеха, он всячески поддерживал и помогал советом.
Я серьезно подошел к выбору образовательной программы, почитал учебные планы, узнал, какие курсы преподаются, и остановил свой выбор на магистерской программе "Науки о данных". Вступительное испытание было нелегко сдать с моим бэкграундом, еле-еле хватило баллов для поступления. Процесс обучения был замечательно устроен: для новичков читались адаптационные курсы по теории вероятностей и статистике, по программированию и дискретной математике. Когда настал момент выбирать курсовой проект, я написал своему будущему научному руководителю Андрею Устюжанину. Мы встретились в Яндексе, поговорили, обсудили план работы, и всё закрутилось-завертелось. В дальнейшем он пригласил меня на работу стажером-исследователем в лабораторию методов анализа больших данных, которой он заведует и где я тружусь по сей день.
Сложности на пути и о страхах, сомнениях
Сейчас может показаться, что мой путь был линейный, и всё получалось с первого раза. Это не так. Было очень непросто осваивать новые дисциплины, "разворачивать свой мозг на 180 градусов". Но капля камень точит не силой, а частотой падения. Поначалу семья и друзья были скептически настроены моему выбору глобальной смены профессии. Но потом, когда я уже учился в Вышке, все начали понимать, что мне это действительно нравится и интересно, все стали, наоборот, поддерживать и вдохновляться моим примером. Говорили, что здорово, что меняешь область и занимаешься тем, чем хочешь, а не тем, к чему душа не лежит.
Было ощущение, что даже если очень трудно, но ты чувствуешь, что это твое, то у тебя обязательно получится. Было, конечно, не совсем просто: помимо учебы приходилось сражаться с синдромом самозванца, но сейчас мне кажется, что я его почти победил. Тут я особо благодарен своим родителям, они во время обучения в магистратуре поддерживали меня как морально, так и материально.
Что дальше?
В этом учебном году я вместе со своим научным руководителем выиграл грант РФФИ на тему, связанную с моими исследованиями. Сейчас я руковожу курсовыми работами у студентов образовательных программ "Прикладная математика и информатика" и "Финансовые технологии и анализ данных". Вышка делает большой акцент на проектную деятельность, чтобы преподаватели и сотрудники научно-учебных подразделений вместе со студентами реализовывали самые различные проекты. С моими студентами мы работаем по близким моим научным интересам темам, хотим построить улучшенный алгоритм для предсказания следующего события и времени на открытых логах, используя методы NLP. В идеале хотелось бы написать вместе статью на английском, опубликоваться в рейтинговом международном журнале – это был бы хороший результат общего труда.
Кроме того, я состою в проектно-учебной группе по обнаружению точек разладки под руководством Михаила Гущина и веду семинары по машинному обучению в бакалавриате ПИ и на курсах Data Culture – преподаю "Анализ данных на Python" у экономистов.
Когда видишь, что все старания были не напрасны, и на этом пути тебя окружают и поддерживают потрясающие люди, хочется двигаться дальше, строить планы, заниматься наукой, передавать опыт будущим поколениям. В заключение хочется всем пожелать, кто ищет свой путь, ничего не бояться и никогда не отступать, вы сможете всегда сделать всё, что действительно захотите.
Устюжанин Андрей Евгеньевич