Заключительный этап конкурса по машинному обучению «SNA Hackathon» в Санкт-Петербурге

Андрей Егоров, аспирант Базовой кафедры Яндекс рассказывает о заключительном этапе конкурса по машинному обучению «SNA Hackathon», прошедшем в Санкт-Петербурге 19-20 апреля 2014 года.

Андрей Егоров, аспирант Базовой кафедры Яндекс рассказывает о заключительном этапе конкурса по машинному обучению «SNA Hackathon», прошедшем в Санкт-Петербурге 19-20 апреля 2014 года.

Идея любого хакатона нацелена на разработку работающего прототипа (будущего) продукта. Акцент очного этапа хакатона был сделан на разработку и представление прототипа, использующего реальные данные социальной сети Одноклассники. Описание данных, с которыми нам предстояло иметь дело, предоставлялось заранее (доступно здесь). Заочный же этап (он же отборочный) преследовал другую цель -- проявить знания и сообразительность в наиболее точном предсказании некоторой величины на основе предложенных данных (подробнее написано тут).

На очный этап приглашались лучшие 50 участников по результатам индивидуального отборочного этапа. В отличие от заочного этапа, очный этап был командным: в каждой команде было не более 5 человек. Всего получилось 8 команд (часть участников, прошедших отборочный тур, не приехали).

В первой команде были магистры Отделения прикладной математики и информатики Вышки и одна студентка с ВМиК МГУ. Вторая команда, в которую также входил я, была сборная: у нас были выпускники и студенты из МГУ, МФТИ и СПбГУ.

Началось всё с вручения сувениров (футболок, блокнотов, ручек) и занкомства с участниками команд. Некоторые команды к тому моменту уже были сформированы, но были также и такие, которым не хватало участников (хотя, по правилам конкурса, меньше 5 участников в команде быть могло). К слову, в одной из команд также были представители Отделения программной инженерии Вышки. Далее в режиме мозгового шторма командам предлагалось накидать как можно больше идей за ограниченный промежуток времени (кажется, 10 минут). У кого-то получилось 10 идей, у кого-то 20. Затем из идей выбирали 5 лучших, потом ещё минуты за 3 должны были оставить 1-2 и презентовать их за 1 минуту экспертам. Далее - либо прислушаться к экспертам, либо настоять на своём и начать работать над прототипом.

В распоряжении каждой команды был выделенный сервер с предустановленным ПО для обработки данных; также была возможность установки другого ПО, если предустановленного было недостаточно. На протяжении всего мероприятия, помимо работы над прототипом, была возможность посетить лекции по темам машинного обучения от экспертов в данной области. Однако, была дорога каждая минута, поэтому большинство участников предпочло работать над прототипом.

Мероприятие проходило в Санкт-Петербургском офисе Одноклассников. Командам в процессе экскурсии предлагались переговорки и другие кабинеты, в которых оседали участники самой решительной команды - на ближайшие 24 часа это был их дом и мастерская одновременно.

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

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

К сожалению, ни одна из наших команд не заняла призового места и у каждой были свои ошибки. В своей команде я бы отметил такие особенности:

  1. Мы сформировали свои команды ещё до отъезда в Санкт-Петербург. С идеей мы тоже определились до отъезда, но у нас оставалась пара второстепенных идей, на отбрасывание которых мы долго не могли решиться и потеряли 2-3 часа.
  2. Мы не были знакомы с технологией распределённых вычислений - пришлось разбираться на месте, много чего не получалось, тоже потеряли время и не получили результат.
  3. Когда делали презентацию, на середине пути внезапно решили делать новую, в другом стиле - в итоге к концу не доделали обе.
  4. Прототип тоже не успели сделать из-за того что потратили много времени на изучение инструмента, которым не владели.
  5. Ночью предпочли выспаться, а не работать над прототипом.

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

 

Ещё раз выражаю благодарность Дирекции по профориентации за поддержку нашего участия в данном конкурсе.