Присоединяйтесь к нам, чтобы поздравить Линшо Каку (он же deoxy) с его единоличной победой в нашем соревновании Bengali.AI Handwritten Grapheme Classification! Читайте решение победителя здесь: Решение, занявшее 1-е место, с кодом
Давайте познакомимся с Линшо!
Линшо, что бы вы хотели рассказать о себе?
Линшо: Я студент лаборатории Рио Йокоты в Токийском технологическом институте. Основная тема работы лаборатории — высокопроизводительные вычисления с использованием передовых архитектур, включая GPU. Мы также занимаемся глубоким обучением как одним из направлений применения. Я также стажер в Future Inc., где работаю над задачей OCR (оптического распознавания символов).
Был ли у вас какой-либо предыдущий опыт или знания в предметной области, которые помогли вам добиться успеха в этом соревновании?
Опыт работы над задачами OCR в качестве стажера стал для меня большим преимуществом. Легкость, с которой я смог выполнить предварительную обработку данных и создать модели, была обусловлена моим опытом стажировки. Я никогда не специализировался на Few-Shot Learning (обучении на малых выборках), что стало важным фактором для результатов лучших команд в этот раз. Однако я думаю, что мои знания статьи, которую обсуждали в лаборатории, сыграли большую роль.
Давайте перейдем к более техническим вопросам
Помогли ли вам в выборе подхода какие-либо прошлые исследования или предыдущие соревнования?
Размышляя над подходом, я просмотрел обсуждения на Kaggle, которые были представлены здесь и здесь.
Кроме того, я часто обращался к Science Direct и другим ресурсам для реализации Few-Shot Learning.
Выполняли ли вы какую-либо предварительную обработку?
Никакой предварительной обработки, такой как обрезка или шумоподавление, с изображениями не проводилось. Эти процессы не улучшали точность распознавания, а скорее имели тенденцию к уменьшению объема необходимой информации. Недостатки обрезки области, меньшей, чем требуемая область символа, и удаления лишних символов значительно перевешивают преимущества получения «чистых» входных данных.
Какое у вас было самое важное озарение относительно данных?
Самой важной задачей была не классификация трех типов компонентов как таковая, а создание модели, способной распознавать классы, которые не были заданы изначально. Классификация на три типа компонентов была лишь подсказкой для решения этой основной задачи. Это не означает, что деление на вручную определенные компоненты является правильным. Абстрагирование структур, которые могут появиться в символе, с большей вероятностью улучшит точность классификации неизвестных классов.
В этот раз я использовал метод генерации изображений шрифтовых символов из рукописных символов. Эта генеративная модель основана на модели преобразования стиля, называемой CycleGAN. Серию моделей, вплоть до модели классификации шрифтовых изображений, подключенную к этой генеративной модели, можно рассматривать как модель классификации рукописных символов. В таком представлении шрифт, сгенерированный генеративной моделью, можно считать признаком промежуточного слоя этой серии моделей классификации рукописного текста.
Очень вероятно, что каждый пиксель шрифтового изображения, являющийся промежуточным признаком, сформировал структуру шрифтового изображения, наблюдая за относительно узкой частью рукописного текста. Это можно рассматривать как генерацию признаков более абстрактной структуры символа. Я думаю, что возможность построить эту систему стала самым важным фактором в моем подходе.
Нажмите Enter или кликните, чтобы просмотреть изображение в полном размере
Какие инструменты вы использовали?
Я использовал Pytorch в качестве фреймворка глубокого обучения и Jupyter Notebook в качестве IDE.
Что насчет вашего аппаратного обеспечения?
Я использую несколько серверов, на каждом из которых установлено 4 Tesla V100.
Каким было время выполнения вашего победного решения?
CycleGAN требует следующего времени:
Время обучения: 4 Tesla V100, 2,5 дня
Время предсказания: 40 мин x 2 (ансамбль из 2 моделей)
Помимо этого, потребовалось некоторое время на работу с обычными моделями классификации классов и так далее.
Мудрые слова
Хорошо, вынесли ли вы что-то новое для себя в результате этого соревнования?
Я приобрел новые навыки, которые позволят последовательно подходить к будущим задачам.
Какой совет вы дадите тем, кто только начинает заниматься наукой о данных?
Здравый смысл гроссмейстера (или то, что кажется наиболее очевидным) не всегда является лучшим способом победить.
Просто ради интереса
Если бы вы могли провести соревнование на Kaggle, какую задачу вы бы предложили другим участникам?
Я бы хотел предложить более практичный OCR, то есть задачу, которая оценивается комплексно (end-to-end) от обнаружения рукописного текста до его распознавания. (Например, что-то, направленное на транскрибирование и оцифровку рукописных заметок). Мне кажется, что универсальный метод обнаружения еще не был установлен, несмотря на достаточную точность распознавания. Однако в области обнаружения объектов (Object Detection) рассматривается довольно много различных методов, и я думаю, что есть большие надежды на активное обсуждение и развитие.
Линшо Каку — магистрант Токийского технологического института под руководством Рио Йокоты. Его научные интересы включают глубокое обучение, обработку изображений и оптическое распознавание символов.
Линшо Каку — магистрант Токийского технологического института под руководством Рио Йокоты. Его научные интересы включают глубокое обучение, обработку изображений и оптическое распознавание символов.
