• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Контакты

Адрес: 109028, г. Москва, Покровский бульвар, д. 11

Телефон: +7 (495) 531-00-00 *27254

Email: computerscience@hse.ru

 

Руководство
Первый заместитель декана Вознесенская Тамара Васильевна
Заместитель декана по научной работе и международному сотрудничеству Объедков Сергей Александрович
Заместитель декана по учебно-методической работе Самоненко Илья Юрьевич
Заместитель декана по развитию и административно-финансовой работе Плисецкая Ирина Александровна
Мероприятия
Образовательные программы
Бакалаврская программа

Компьютерные науки и анализ данных

4 года
Очная форма обучения
75/5
75 платных мест
5 платных мест для иностранцев
RUS
Обучение ведётся на русском языке
Бакалаврская программа

Прикладная математика и информатика

4 года
Очная форма обучения
125/60/30
125 бюджетных мест
60 платных мест
30 платных мест для иностранцев
RUS/ENG
Обучение ведётся на русском и английском языках
Бакалаврская программа

Программа двух дипломов НИУ ВШЭ и Лондонского университета «Прикладной анализ данных»

4 года
Очная форма обучения
90/12
90 платных мест
12 платных мест для иностранцев
ENG
Обучение ведётся на английском языке
Бакалаврская программа

Программная инженерия

4 года
Очная форма обучения
120/80/30
120 бюджетных мест
80 платных мест
30 платных мест для иностранцев
RUS/ENG
Обучение ведётся на русском и английском языках
Магистерская программа

Анализ данных в биологии и медицине

2 года
Очная форма обучения
25/5/1
25 бюджетных мест
5 платных мест
1 платное место для иностранцев
RUS/ENG
Обучение ведётся на русском и английском языках
Магистерская программа

Магистр по наукам о данных

2 года
Заочная
63/27
63 платных мест
27 платных мест для иностранцев
ENG
Обучение ведётся на английском языке
Магистерская программа

Математика машинного обучения

2 года
Очная форма обучения
15/5/1
15 бюджетных мест
5 платных мест
1 платное место для иностранцев
ENG
Обучение ведётся на английском языке
Магистерская программа

Машинное обучение и высоконагруженные системы

2 года
Очная форма обучения
28/2
28 платных мест
2 платных места для иностранцев
RUS
Обучение ведётся на русском языке
Магистерская программа

Науки о данных

2 года
Очная форма обучения
65/15/20
65 бюджетных мест
15 платных мест
20 платных мест для иностранцев
RUS/ENG
Обучение ведётся на русском и английском языках
Магистерская программа

Системная и программная инженерия

2 года
Очная форма обучения
25/5/10
25 бюджетных мест
5 платных мест
10 платных мест для иностранцев
ENG
Обучение ведётся на английском языке
Магистерская программа

Системное программирование

2 года
Очная форма обучения
15/5/2
15 бюджетных мест
5 платных мест
2 платных места для иностранцев
RUS
Обучение ведётся на русском языке
Магистерская программа

Финансовые технологии и анализ данных

2 года
Очная форма обучения
50/1
50 платных мест
1 платное место для иностранцев
RUS/ENG
Обучение ведётся на русском и английском языках
Глава в книге
Black-Box Optimization with Local Generative Surrogates

Belavin V., Ustyuzhanin A., Широбоков С. К. et al.

In bk.: Advances in Neural Information Processing Systems 33 (NeurIPS 2020). Curran Associates, Inc., 2020. P. 14650-14662.

Статья
The multiplicative-additive Lambek calculus with subexponential and bracket modalities

Kanovich M., Kuznetsov S., Scedrov A.

Journal of Logic, Language and Information. 2021. Vol. 30. No. 1. P. 31-88.

В конкурсе нужно четко обозначить свою цель. Например, моя цель — выиграть.

В конкурсе нужно четко обозначить свою цель. Например, моя цель — выиграть.

Иван Брагин

В эти выходные, 19-21 апреля, прошел финал IDAO 2021, и до того, как станут известны победители, будет возможность послушать лекции от экспертов. А пока мы ждем, кто же выиграл IDAO 2021, мы поговорили с победителем IDAO 2020 Иваном Брагиным: он рассказал об участии в олимпиаде, своем опыте и пути в программировании.

Начало пути

Свое развитие в ИТ я начал с hadoop (фреймворк для разработки и выполнения распределённых программ). Я работал преподавателем электроэнергетики, параллельно изучал Java, искал какие-то вакансии в ИТ и в конце концов нашел стартап Sociohub. Их идея состояла в том, чтобы собирать данные о пользователе из интернета, делать аналитику и затем конструировать модели, например, для кредитного скоринга. Я попал в эту компанию, начал с hadoop, а через год-полтора уже строил модели на технологиях, которые сегодня уже можно назвать древними. Тогда для меня было не совсем понятно, чем отличаются постройка модели от написания какого-нибудь backend или API — это были просто разные задачи обычного разработчика.

Четыре с половиной года назад мы снова собрались с той командой Sociohub, восстановили инфраструктуру и начали думать, чем бы еще заняться. Компания, в которой мы работали, связана с разработкой edge devices, то есть таких устройств, которые работают без подключения к серверу. У нас возникла идея попробовать что-то, связанное с компьютерным зрением для этих устройств.

В течение трех лет я работал в стартапе. Это не была работа сегодняшнего среднестатистического data scientist’а. Также, сложно классифицировать эту работу в один из классов, например, ML-инженер или DevOps, потому что приходилось отчасти работать и с железом. Работая в этой компании, я начал активно участвовать в конкурсах, и они уже намного больше были похожи на классическую науку о данных и машинное обучение — это были достаточно узкие сферы, когда у тебя уже есть готовый набор данных, и тебе нужно просто построить модель и применить ее под новые данные.

Конкурсы

Я активно участвовал в конкурсах в течение последних двух лет. Случалось и такое: конкурс заканчивается, а я уже ищу себе другой, а бывало, что один конкурс еще не успел закончиться, а я уже начинаю новый. Последние пять месяцев я работаю в соцсети "Одноклассники", занимаюсь разработкой рекомендательных систем для игр. Это моя первая работа в крупной компании и тут применяется уже классическая наука о данных: нужно сделать аналитику, самому подготовить данные на Spark, обучить модель, использовать, а иногда и тюнить DevOps инструменты, думать не только о качестве моделей, но и о продакшене.

"Одноклассники" довольно активно развиваются. С точки зрения пользователя сложно оценить, что находится внутри системы. В 2016 году, когда я еще работал в стартапе, я узнал, что у "Одноклассников" инфраструктура была очень похожа на нашу. То есть мы были стартапом, который старался следовать последним трендам, а они — огромной компанией, в которой очень сложно что-то изменить, но оказалось, что они использовали то же самое, что и мы.

Первый конкурс, в котором я участвовал еще в 2016 году, был Social Network Analysis от "Одноклассников". Это был анализ социального графа, в котором убрали некоторые связи между друзьями, и их нужно было восстановить. Это задача была не на машинное обучение, скорее, здесь требовалось правильно обработать граф. Я использовал Spark, который тогда был не очень популярен, и это очень сильно помогло мне.

Обычно я ищу конкурсы с такой мыслью: я знаю некую технологию, которая сейчас хорошо развита, и в этом конкурсе она точно важна. Последний конкурс, который я выиграл — это Alfa Battle от Альфа-Банка. Задача была предсказать, зачем человек входит в приложение Альфа-Банка — пополнить счет телефона, посмотреть инвестиции или ещё за чем-то. Бизнес-идея заключается в том, чтобы сразу показать человеку то, зачем он пришел.

До этого был конкурс от "Цифрового прорыва" — этот хакатон длился почти год. Одна из составляющих этого хакатона — чемпионат по машинному обучению, где я участвовал в одной из задач по сегментации бактерий и выиграл его. Были сделаны микрофотографии бактерий, и нужно было определить каждый пиксель, где находятся бактерии, классифицируя их.

Также я участвовал в конкурсе на платформе Driven Data, где были даны ДНК плазмидов, созданных с помощью генной инженерии, и нужно было определить лабораторию-создателя. Нам удалось занять второе место, и сейчас мы с моей командой пишем статью. Существует такая проблема как атрибуция генной инженерии, которая заключается в том, что генная инженерия сейчас стала очень доступна, и количество занимающихся ею лабораторий выросло, а контролировать их достаточно сложно. Допустим, появляется новый вирус, и благодаря тому, что в разных лабораториях пользуются разными методиками, мы можем получить скрытую в ДНК информацию о том, кто именно это создавал. Это важная задача с точки зрения генной инженерии и выявления тех, кто создает некачественные или опасные организмы. 

Год назад я участвовал в конкурсе на Driven Data по классификации животных. Есть огромный заповедник, по которому расставлены камеры, реагирующие на движение. В половине случаев движение спровоцировано ветром — например, листочек пролетел, в других же случаях прошло какое-то животное. Необходимо определить, какое именно, чтобы в дальнейшем строить карту перемещения животных.

Участие в IDAO 2020

Я узнал про IDAO из телеграм-чата платформы ML Boot Camp (платформа для конкурсов по машинному обучению и анализу данных). Я связался с Игорем — это мой бывший коллега, он как раз начал изучать науку о данных и предложил совместно участвовать в конкурсе для того, чтобы погрузиться в тему получше.

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

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

Как играть и выигрывать?

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

Старый формат конкурсов привлекает одних и тех же людей. Я знаю несколько человек, которые просто участвуют во всех конкурсах и входят в топ-3 практически всегда. 

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

Простой способ научиться выигрывать в конкурсах — это открыть старые конкурсы и попытаться воспроизвести лучшее решение. Если вы так воспроизведете 10-15 конкурсов, то можно считать, что вы участвовали в этих конкурсах сами, и, соответственно у вас будет огромный опыт. Воспроизвести один конкурс занимет неделю, соответственно, за четыре-пять месяцев можно получить опыт участия в 15 топовых конкурсах, но это потребует очень много сил, энергии, и, скорее всего, невозможно будет совмещать с работой или учебой.

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