Хакатон DeepHack: опыт участия

Вот и закончился недельный хакатон DeepHack, который был организован командой МФТИ и Deep Knowledge Ventures. Он проходил на базе МФТИ в г. Долгопрудном и , как уже отмечают в сообществе, возможно, является крайне важным событием для ML / Big Data / Data Science сообщества в России. Забегая вперёд хочется сказать, что в итоге хакатон получился больше с уклоном в настоящую научную школу, а само мероприятие по уровне было вполне себе международным, учитывая наличие иностранных участников и то, что основной язык лекций был английским.

Организация и бытовая часть

Такой основательный подход, который ориентирован на то, чтобы более 100 участников хакатона могли не отвлекаться ни на что, кроме совершенствования навыков в deep learning, заслуживает отдельного внимания.

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

Размещение было через дорогу от корпуса, где проходил хакатон в новой общаге с чистым бельём. В принципе, если бы размещение и проживание были даже на 2 уровня ниже, то этого никто бы и не заметил, потому что в основном все спали по 5-6 часов и приходили обратно на хакатон.

МФТИ Долгопрудный

Образовательный формат

Сам программа подразумевала большую загрузку и в итоге благодаря уровню лекций и их объёму хакатон можно смело считать летней школой по глубокому (глубинному) обучению. Лекции читали те люди, которые по большей части и придумали deep learning и активно занимаются применением глубоких сетей на практике. Руслан Салахутдинов, Terran Lane, Yoshua Bengio, Juergen Schmidhuber, Sridhar Mahadevan нашли время для того, чтобы прочитать удалённые лекции и рассказать про развитие. Присутствие мэтров в программе нисколько не уменьшило интерес к другим докладчикам, а также никак не повлияло на полезность их лекций, потому что отметить благодарностью хочется всех лекторов, которые смогли уделить время и рассказать о своих исследованиях и изысканиях.

Лекции DeepHack

Соревнование по deep learning

В соревновательный части участникам предлагалось обучить нейронные сети играть в игры Atari. Эти игры были одними из первых компьютерных игр и теперь доступны в свободном пользовании. В игры входят, например легендарные Space Invaders или Breakout (когда нужно разбивать рикошетящим шариком разноцветные блоки).

Как видно из программы хакатона, уже в первый вечер все команды получили доступ к серверам и развернули окружение для обучения сетей, а также узнали немного больше о них из вступительной лекции. Для выхода во вторую часть надо было обучить сетки играть в три игры: tutankhamon, seaquest и gopher. Оригинальное же решение тренировалось в течение 6 дней и было способно играть в любую из 47 игр Atari не хуже, а иногда и лучше человека.

Для обучения сетей участникам были предоставленные инстансы G2  AWS с 4 GPU.  Также всем участникам был доступен google doc, в котором была размещена обновляемая со временем инструкция для отправки решения и оценки его качества, содержавшая, помимо всего прочего и ссылку на репозиторий с кодом, который позволяет прогонять решение локально. Несмотря на небольшие технические сложности, организаторы оставались вместе с участниками до 3х часов ночи, помогая решить проблемы с авторизацией на сервере или отправкой решения, что полностью сглаживало небольшие огрехи в организации технической части.

DeepHack hackathon

Опыт команды ‘drop table users;

Лично я, помимо новых знаний и понимания того, где сейчас находится Deep Learning и куда он движется, получил много побочных навыков, связанных с работой в небольших проектах. Наша команда в итоге не прошла в финал, но мы получили уйму опыта.

Мы начали хакатон с того, что решили поднять решение deep_q_rl на маках, чтобы иметь возможность разбираться в коде и тренировать сетки на малом числе шагов, чтобы сравнивать результаты. По крайней мере, таков был план изначально. В итоге мы столкнулись с кучей трудностей, которые успешно преодолели, сделали пару коммитов в репозитории, поставили обучаться вариант с theano и lasagna локально и на сервере (где всё установилось за 20 минут без танцев с бубном).

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

Лёша и Миша героически решили эту проблему уже к концу хакатона, переписав часть интерфейса к среде ALE, но это не помогло нам пройти отборочный тур, потому что рефесенсное решение из статьи nature на lua мы запустили только на 3й день.

Практические выводы нашей команды:

  1. Надо решать задачи максимально быстро и эффективно. Даже если хочется сделать всё красиво, сначала нужно сделать это, а потом делать это красивым и как хочется.
  2. Лучше всего всё делать это в среде, которая предназначена для решения этих задач. Если фрйемворк написан для Ubuntu — надо делать под Ubuntu.
  3. Наилучшая среда для экспериментов с deep learning сейчас – Ubuntu. Всё работает из коробки и без каких-либо проблем.
  4. Оптимизацию задач deep learning стоит начинать с функции награды.
  5. При всём желании не всегда получается обсуждать все термины на русском языке. Совершенствоваться в Deep Learning без знания английского невозможно.
  6. Невероятно просто обсуждать выбор места для обеда с людьми, которые понимают, что на принятие их решения имеют влияние несколько факторов с различными весами.

Влияние (Impact) хакатона

Анатолий Левенчук, в своём посте уже высказался крайне положительно и об организации и о том значении, которое имеет проведённое мероприятие. Более 100 человек со всей России отточили на практике или получили с нуля представление о Deep и Reinforcement Learning, узнали о Convolutional и Recurrent Neural Networks, Multimodal machine learning, LSTM, MDMP, причём зачастую напрямую от тех людей, кто участвовал в создании и развитии этих алгоритмов.

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

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

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

 

Фото на обложке: официальная группа хакатона DeepHack в ФБ