Джорид Эдегард и Мохаммед Сурьюри

26–28 октября мы, три энтузиаста ИИ, Йорид Эдегард, Майкл Лёйтен и Мохаммед Сурьюри из отдела расширенной аналитики CGI, отправились в Тронхейм, чтобы организовать совместный хакатон с Cogito NTNU.

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

Хакатон стартовал в пятницу днем. Всего зарегистрировалось 19 студентов, желающих принять участие в соревновании и продемонстрировать свои навыки ИИ. Мы подготовили три вымышленные, но сложные задачи, которые напоминают проекты, которые мы выполняем в CGI.

Студенты были разделены на пять команд, и каждая команда выбрала одно задание, над которым будет работать весь уик-энд. Проблемы заключались в следующем:

1. Оптическое распознавание символов (OCR) на основе глубокого обучения

2. Норвежский транскрибатор речи в текст

3. Распознавание действий в баскетбольных видео

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

Целью второй задачи было создание решения, которое может транскрибировать норвежскую речь (из аудиофайлов) в текст. Дополнительный бонус давался, если решение могло продемонстрировать дополнительную функциональность. Студентов попросили использовать любой набор данных с открытым исходным кодом, который они могли найти в Интернете.

Наконец, в последнем задании студентов попросили распознать действия в баскетбольных видео. Таким образом, студентам был предоставлен набор баскетбольных данных NCAA, который содержит 14548 аннотированных клипов. Каждый аннотированный клип может содержать различные действия. Действие определяется как бросок, пас, захват, то есть действия, которые являются фундаментальной частью игры. Студенты были свободны в определении количества действий для распознавания. Кроме того, дополнительный бонус будет предоставлен, если учащиеся смогут достичь более высокой точности, чем 33% на тестовом наборе.

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

Решение проблемы вычислительной мощности

С отличными алгоритмами машинного обучения возникает большая потребность в вычислительной мощности, поэтому нам нужно было убедиться, что это не помешает решениям наших студентов. Таким образом, мы связались с нашим облачным партнером Google, который решил щедро спонсировать мероприятие. Google предоставил каждому учащемуся достаточное количество кредитов для непрерывной работы одного высокопроизводительного облачного экземпляра графического процессора через Google Cloud Compute Engine в течение трех дней.

Одной из нерешенных задач, которую нужно было решить до начала мероприятия, было создание 19 облачных экземпляров. К счастью, специалисты Cogito NTNU создали скрипт, который автоматизировал этот процесс с помощью Google Cloud Shell. Код находится в открытом доступе на Github, его можно найти здесь (https://github.com/CogitoNTNU/gce-setup). Мы благодарны Google за любезный вклад, так как он работал безупречно.

Какое ваше любимое оружие?

Существует множество хороших фреймворков глубокого обучения, из которых можно выбирать при работе с машинным обучением. Поэтому нам было любопытно узнать о выборе студентов. Были некоторые различия между группами в отношении их опыта работы с фреймворками машинного обучения, и мы увидели несколько разных подходов. Самым популярным фреймворком оказался Keras, с которым у большинства студентов был хотя бы некоторый опыт работы со школой. Однако после того, как наш великий главный герой PyTorch (Мохаммед) убедил ее, одна группа действительно решила использовать PyTorch. Смелый шаг, учитывая, что другие члены команды никогда не пробовали это раньше. Слава! Им удалось понять и внедрить его довольно быстро, подтвердив заявление Мохаммеда о том, что PyTorch очень прост в использовании, и доказав навыки и способность студентов к быстрому обучению.

Как заработать большие деньги на майнинге биткойнов

В субботу днем, после 24 часов напряженной работы, мы решили, что студенты заслужили перерыв и вкусный ужин. Автобус подобрал нас в Глёсхаугене (университетском городке), чтобы отвезти нас в очаровательный ресторан и мини-пивоварню под названием Øx (означает топор на норвежском языке). Здесь мы наслаждались пиццей и макаронами всех форм и видов и, конечно же, некоторыми жидкостями на гарнир. Поскольку в обеденной толпе было слишком много энтузиастов машинного обучения, разговоры стали очень интересными.

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

Подведение итогов

В воскресенье в полдень, после выходных интенсивного программирования днем ​​и ночью, наступил финал хакатона. Настало время студентам представить результаты своей тяжелой работы. Мы решили не только рассмотреть их техническое решение, но и оценить их навыки консультанта. Таким образом, некоторые из критериев, которые мы учитывали при оценке студентов, заключались в их способности объяснить и защитить то, что они создали, а также убедить нас в своем подходе.

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

Среди всех талантливых коллективов трудно было выбрать победителя. Наш выбор остановился на одной из групп, которые работали над проблемой OCR. Их невероятно тяжелая работа окупилась, и это была единственная группа, у которой было рабочее решение.

Во время презентации они представили живую демонстрацию своей модели, в которой удалось идентифицировать (некоторые) слова в квитанции.

Конечно же, мы привезли сладкие призы для групп-победителей. Члены команды-победителя должны были выбрать между Google Home или набором инструментов Raspberry Pi, второе место получило то, что не выбрало первое место, а третье место получило подарочную карту на Komplett.no. В качестве специального приза членам команды-победителя также будет предложена летняя стажировка на следующее лето, если мы найдем очень подходящую роль.

Оглядываясь назад, мы очень довольны хакатоном. Мы очень впечатлены всеми студентами, и мы надеемся снова увидеть некоторых из них в качестве коллег по CGI в будущем!