Об итогах конкурса MERC-2017: интервью с победителями

Победители и финалисты конкурса MERC-2017 от Neurodata Lab на площадке Datacombats — это не просто обезличенные строки лидерборда. Это молодые специалисты, с разными профессиональными и исследовательскими интересами, бэкграундом и компетенциями. В качестве завершающего штриха в истории нашего самого первого конкурса мы решили взять у них интервью. Надеемся, что для читателей блога этот материал станет источником для размышлений, каким он явился и для нас как организаторов конкурса.
image

Сразу хотим отметить, что у нас произошли непредвиденные изменения в составе финалистов: 1 и 2 места остались прежними, а обладателем приза за 3 место стал участник, ранее бывший четвертым по положению в лидерборде. Участник, изначально занявший 3 место, не предоставил необходимых данных для выплаты приза в обозначенные правилами сроки. Да-да, мы тоже удивились.

Итак, наш окончательный ТОП-3:

1 место — (tEarth) Денис Воротынцев
2 место — (10011000) Павел Остяков, Алексей Харламов

• Алексей: написание базового пайплайна, выдвижение гипотез, тестирование имплементаций рекуррентных слоев и фреймворков, подбор гиперпараметров и обучение моделей 2 уровня.
• Павел: оптимизация пайплайна, обучение моделей, тестирование подходов к обработке данных.

3 место — (FedotovD) Дмитрий Федотов

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

1. Расскажите, пожалуйста, о своем образовании, что повлияло на Ваш выбор вуза и специальности? Как Вы пришли в область машинного обучения и анализа данных?

Денис Воротынцев (МЭИ, Лаппеенрантский технологический университет): в моей альма-матер, Московском Энергетическом Институте, довольно давно действует программа сотрудничества с рядом учебных организаций, в том числе с Технологическим Университетом г. Лаппеенранта. Лучших студентов отбирают для обучения в Финляндии по смежным дисциплинам и написания диплома. На мой взгляд, подобная практика хороша как для студента в плане новых впечатлений, знакомств и знаний, так и для вуза в плане международного сотрудничества и обмена опытом в области образования и науки. Особенно важно это для прорывных областей вроде возобновляемой энергетики, где все еще есть пространство для открытий и улучшений.
Высшее учебное заведение я выбирал исходя из желания решать интересные задачи на стыке науки и бизнеса. Подготовка кадров в области возобновляемой энергетики в МЭИ 6 лет назад была лучшей в стране, со временем качество только возросло. Моя кафедра, кафедра гидроэнергетики и возобновляемых источников энергии, предоставляла возможности для научной работы и участия в технических конкурсах и конференциях. На одной из таких конференций я услышал доклад о проделанной работе в области прогноза выработки фотоэлектрической электростанции на неделю вперед и о том, как это важно для владельца станции и для всей энергосистемы в целом. Представленное решение было довольно простым, но даже оно давало неплохую точность. На тот момент мне показалось, что я смогу сделать лучше, хотя мои знания ограничивались парой статей на хабре. Начал штудировать статьи, книги, смотреть курсы на курсере, edx, присоединился к сообществу Open Data Science (ODS). Через месяц получил первую модель «машинного обучения» — линейную регрессию, полностью написанную в матлабе! Ха-ха!
После этого участвовал в ряде конкурсов по машинному обучению на кагле и подобных платформах. Посредственные результаты мотивировали заниматься больше и больше. Из каждого конкурса я выносил что-то новое, чтобы потом использовать это в следующем конкурсе: чтобы конкурировать с топом лидерборда пришлось перейти с матлаба на R, а потом на Питон, пробовать новые библиотеки и стаки технологий, смотреть тренировки по машинному обучению и онлайн курсы, читать книги и статьи. Как говорится, чтобы стоять на месте, нужно быстро бежать вперед.

Павел/Алексей (факультет компьютерных наук НИУ ВШЭ): ВШЭ — это инновационный ВУЗ, в нем отличное сочетание технологий и старых методов обучения, которые дают хороший эффект. Также стоит отметить повышенную мобильность, т.е возможность учиться за границей, а также возможность получения дополнительного непрофильного образования (майнора).

Дмитрий (СибГУ, Ульмский университет): в настоящий момент я являюсь аспирантом в СибГУ (Сибирский государственный университет науки и технологий имени академика М.Ф. Решетнева, г. Красноярск) и работаю над кандидатской диссертацией совместно с Ульмским университетом (в котором нахожусь сейчас по исследовательскому гранту). Специальность в российском ВУЗе — системный анализ; в немецком — коммуникационные технологии: диалоговые системы. Направление в Красноярске выбрал, исходя из собственных предпочтений, профессиональных трендов и советов друзей. Начиная со второго курса, я вел научную работу в области эволюционных алгоритмов и нейросетевых технологий, применяя полученные знания на практических задачах анализа данных. В 2015 году начал работать над задачей распознавания эмоций совместно с исследовательской группой Ульмского университета, с которой, на тот момент, была налажена плотная кооперация.

2. Как Вы узнали о нашем конкурсе? Что Вас в нем привлекло?

Денис: о конкурсе я прочитал в слаке ODS. Описание конкурса звучало примерно так: распознавание эмоций по видео. Тогда мне оно показалось очень сложным — нужно придумать длинный пайплайн: обработка видео, детектирование лиц, выделение фич из лиц, потом построение модели. Можно было узнать огромное количество интересного, работая над такой сложной задачей! Честно, я немного расстроился, когда в тренировочных данных увидел обезличенные переменные, а не набор видео-файлов. Однако, и тут оставалось пространство для творческой работы. Я доволен результатом, поскольку решал интересную задачу и узнал много нового.

Павел/Алексей: узнали с сайта mltrainings.ru. Привлекла интересная задача с нестандартной постановкой, возможность поработать одновременно с несколькими модальностями, посоревноваться с другими участниками на новой платформе.

Дмитрий: узнал, просматривая информацию о конкурсе AVEC (Audio/Visual Emotion Challenge). В конкурсе меня привлекла очень близкая мне тема и актуальная задача в виде разработки системы, которая была бы способна без проблем работать с несколькими нестабильно доступными модальностями и с данными, имеющими разные шаги дискретизации.

3. Есть ли какие-то подходы/идеи, которые вы не успели проработать за время конкурса? Как вы думаете, можно ли улучшить полученный результат?

Денис: я не успел попробовать все что хотел частично из-за обстоятельств, частично из-за лени, частично из-за хорошего положения на публичном лидерборде. Решая подобную задачу для бизнеса, я однозначно попробовал бы LTSM в связке с PCA (или другой метод снижения размерности, например отбор важных признаков при помощи RandomForest); сверточные сети. Однозначно, стакинг нескольких разных моделей (и разных подходов к обработке данных) дал бы прирост точности, однако усложнил бы использование модели в продакшене.

Павел/Алексей: полученный результат, несомненно, можно улучшить. Можно пробовать разные рекуррентные ячейки и архитектуры. Также, можно было попробовать сделать модель второго уровня, а не просто усреднять предсказания по вероятностям. Эта идея хорошая, но в условиях нехватки данных пришлось бы потратить достаточное количество времени, чтобы побороть переобучение.

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

4. Почему мало внимания было уделено проблеме пропусков в данных и какие еще методы Вы попробовали бы для ее решения?

Денис (замена на среднее значение): в начале соревнования я рассматривал два подхода: первый состоял в том, что все данные мы подаем в единый датафрейм и обучаем модель с пропусками или с заменой на некоторое значение (среднее давало лучший результат на кросс-валидации).
Второй подход состоял в том, что для каждой модальности мы делаем свою модель, а затем объединяем все модели моделью второго уровня. Мне казалось, логистическая регрессия будет лучшей моделью второго уровня. Однако пришлось бы строить не одну, а несколько моделей (исходя из возможных комбинаций пропусков, в теории таких моделей должно быть 2^4 — 1=15). Мне показалось это не элегантным решением, поэтому я отложил его в долгий ящик.
Первый метод давал хорошее положение на лидерборде, поэтому я не стал пробовать второй подход.

Павел/Алексей (замена нулями): в ходе создания решения было опробовано несколько базовых подходов (таких как заполнение средним, значением выше, ниже и другими), но заполнение нулями оказалось оптимальным для наших моделей как по скорости. так и по конечному качеству.

Дмитрий (замена нулями): проблеме замены и обработки пропущенных данных я уделил немало времени и посвятил около половины своих сабмитов. Выбор такого тривиального и неинтересного способа объясняется тем, что все другие варианты, несмотря на их очевидную пользу и логичность, не давали повышения точности. Большинство вариантов учета пропущенных данных нашли свое применение на этапе постобработки данных, после полученных предсказаний по каждой модальности. Например, при подсчете финального предсказания учитывались только модальности, на которых данные не отсутствовали. Также было применено взвешивание предсказаний, в зависимости от того, какой процент используемых кадров не были равны нулю. Например, при использовании 15 предыдущих кадров в LSTM-модели, первые 5 равны нулю. В этом случае предсказанию будет присвоен вес 0.66 при подсчете финального решения. Был опробован способ обучения моделей только на ненулевых данных или с применением весов (аналогично варианту с постобработкой). Ни один из описанных и близких к ним вариантов не показал улучшения на публичной части тестовой выборки. Несмотря на это, я уверен, что применение подобных вариантов обработки способно повысить точность модели с пропущенными данными, и буду продолжать поиски рабочего способа на предоставленной базе данных.

5. Нас удивило, что все участники, попавшие в ТОП-3, сделали выбор в пользу так называемых деревьев решений (XGBoost и т.п) или LSTM. Что определило Ваш выбор?

Денис (LightXGB): можно сказать, что методы градиентного бустинга — это современный «золотой молоток» машинного обучения как SVM несколько лет назад. Они просты в применении «из коробки», по сравнению с нейронными сетями не нужно думать о предобработке данных: заполнение пропущенных значений и работе с категориальными переменными. Однако, как говорится, нет бесплатного обеда, чтобы достичь выдающихся результатов нужно перепробовать множество вариантов. В данном соревновании, максимальный результат был связан в большей степени не с выбранной моделью обучения, а с стратегией предобработки данных и постобработки результатов (сглаживание предсказанных вероятностей во времени).

Павел/Алексей (ансамбль LSTM-моделей): выбрали рекуррентные нейронные сети, потому что это наиболее мощный инструмент для работы с последовательностями данных подобного содержания. Разумеется, если бы в датасете были честные изображения из видео, то с помощью convolutional LSTM сетей можно было получить результат гораздо лучше.

Дмитрий (lstm с небольшим числом параметров): честно говоря, в рамках данного конкурса я фокусировался не на испытаниях различных моделей, а на обработке данных. Первый сабмит был сделан с помощью использованной мной ранее LSTM-модели с 2 слоями по 24 и 12 LSTM-блоков соответственно. Данная модель показала результат 0.537852, который тут же вывел меня на 2 место. В дальнейших сабмитах я сделал всего 2 изменения моделей: уменьшил размер рекуррентной нейронной сети в 2 раза (до 12–6 блоков) и сделал слои двунаправленными. Я видел огромный потенциал для роста точности в пред- и постобработке данных, а не в моделях.

6. Вы вынесли для себя что-то полезное/интересное с этого соревнования? В каком направлении планируете двигаться дальше?

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

Павел/Алексей: да, соревнование оказалось очень полезным в виде большого количества приобретенного опыта по борьбе с переобучением рекуррентных моделей, а также их дальнейшего использования для построения моделей 2 уровня в условиях недостаточности данных для обучения.

Дмитрий: я, безусловно, вынес опыт и идеи для работы с пропущенными данными при мультимодальности. Проблемам пропущенных данных уделяется мало времени, хотя они всегда возникают при сборе данных в реальных условиях. Например, недавно мы с коллегами собирали данные для проекта по распознаванию эмоций и одной из модальностей являлось движение глаз и направление взгляда. Специально созданный для этих целей аппарат терял способность собирать данные при резкой смене освещения или при взгляде против яркого солнечного света. Также краткосрочные сбои (в основном, в виде выбросов) давали и другие сенсоры. В данном случае мы имеем ситуацию схожую с представленной на конкурсе, поэтому приобретенные знания я считаю очень полезными в практическом плане.
В дальнейшем я продолжу работу над разработкой систем распознавания эмоций, уделяя большее внимание пропущенным данным.

8. Мы не исключаем того, что в одном из следующих конкурсов нами будет сделан акцент на speech processing’е. Какую задачу из этой области Вам было бы интересно решить? На какие еще темы Вам были бы интересны конкурсы и соревнования?

Денис: все, что связано с эмоциями — это интересные задачи, но соревнований по ним мало. Speech processing — это вообще бомба!

Павел/Алексей: 1) определение темперамента человека по речи, 2) определение панического состояния человека по речи, 3) детектор лжи.

Дмитрий: тема обработки речи мне не очень близка, поэтому трудно ответить на этот вопрос. Я буду заинтересован в любых конкурсах по распознаванию эмоций. Особенно хотелось бы видеть задачу, близкую к реальным условиям, например, на основе данных социальных сетей (по тексту, фото, видео).

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

Автор публикации:
Александра Смирнова, эксперт по краудсорсинговым проектам и внешним связям Neurodata Lab

© Habrahabr.ru