Поиск по сайту Поиск

7 советов для работы с небольшими данными

В современном мире считается, что Big Data — ключ к созданию успешных проектов машинного обучения. Но проблема в том, что данных часто бывает недостаточно. И построить на них хорошую нейросеть — всё равно что пытаться проехать 1000 километров на внедорожнике с одним литром бензина. В этой статье мы поделимся советами по улучшению моделей машинного обучения при работе с небольшими наборами данных.

1. Осознайте, что ваша модель обобщается не очень хорошо

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

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

Убедитесь, что это понимает ваш заказчик. Так вы вместе сможете ориентироваться на реалистичные ожидания, которые должна предоставить модель, и предложить полезные KPI для количественной оценки её эффективности.

2. Создайте хорошую инфраструктуру данных.

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

Инфраструктура сервера REG.RU с GPU NVIDIA Tesla V100

Разметка новых данных — несложная операция. Для неё можно использовать Prodigy, который является доступным и расширяемым инструментом. В зависимости от размера проекта вы также можете настроить автоматическую загрузку и маркировку данных.

3. Дополните данные.

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

В большинстве случаев такое дополнение позволяет создавать полууниверсальные образцы. Для начала можно просто добавить к данным немного Гауссовского шума. 

В компьютерном зрении есть множество способов увеличить датасет. Например, библиотека Albumentations выполняет различные преобразования над изображениями, сохраняя при этом метки классов:

Другой полезный метод дополнения данных — Mixup. Он берёт два исходных изображения, «смешивает» их и объединяет метки:

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

4. Сгенерируйте синтетические данные

Если вы исчерпали все возможности по сбору и увеличению реальных данных — самое время задуматься о создании «фейковых» образцов. Генерация синтетических данных также может охватить ситуации, которые не встречаются в исходном датасете.

Многие робототехнические системы (например, Dactyl от OpenAI) обучаются в смоделированных 3D-средах, прежде чем их развернут в реальных роботов. Таким же образом можно создавать сцены для систем распознавания изображений:

15 смоделированных примеров для обучения Dactyl

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

NVIDIA GauGAN в действии! 

Иногда подходы можно комбинировать: например, Apple придумала способ обработки смоделированных с помощью GAN 3D-лиц, чтобы они выглядели более реалистичными. Это хорошая техника для расширения набора данных, но она требует много времени.

5. Остерегайтесь удачного разделения данных

Обычно данные разделяются на обучающую и тестовую выборки в определённом соотношении (80/20, 70/30 и тому подобное). Чаще всего такой подход работает нормально, но с небольшими датасетами есть риск возникновения шума. Это означает, что вы можете случайно разделить данные удачным образом, и модель получит неоправданно высокую точность. В действительности хороший результат может быть связан с тем, что в тестовом наборе мало сложных примеров.

Лучшая подстраховка в этом случае — применение кросс-валидации по k-блокам. Она использует k различных вариантов разделения датасета и контролирует, что удачная разбивка данных не влияет на эффективность модели.

6. Используйте трансферное обучение

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

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

7. Попробуйте ансамбль слабых учеников

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

Но эти алгоритмы не всегда так же точны, как современные архитектуры. Поэтому их можно назвать «слабыми учениками», по крайней мере, по сравнению с нейронными сетями с высокой степенью параметризации. Один из способов повысить эффективность — объединить несколько таких «слабых учеников» (это может быть набор машин опорных векторов или деревьев решений), чтобы они работали вместе. Это называется ансамблевым методом.

⌘⌘⌘

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

С оригинальной статьёй можно ознакомиться на сайте towardsdatascience.com.

Блогеры рекомендуют: что такое инфлюенс-маркетинг

Среди трендов продвижения особое место занимает influence-маркетинг. Его суть заключается в контакте бренда с целевой аудиторией через влиятельных лидеров мнений...
Read More

Итоги 2020 года в блоге REG.RU: Ускорение сайтов, языки программирования и онлайн-заработок

Редакция продолжает подводить итоги уходящего года. Сегодня мы поделимся материалами, которые вы больше всего оценили в 2020 году. Возможно, они...
Read More

Как прошёл 2020 год в REG.RU: адаптация к удалёнке, прокаченное железо, собственный дата-центр и новые сервисы

2020 год действительно перевернул жизнь многих с ног на голову. Произошло столько всего, что ни в сказке сказать, ни пером...
Read More

Как кибермошенники крадут домены и как защитить свой?

Злоумышленники ежедневно крадут домены и используют их для своих целей. Причём осенью 2020-го года, по подсчётам компании Group-IB, угоны участились,...
Read More

Сайт vs Соцсети: где эффективнее продвигаться в онлайне

Что важнее — свой сайт или группа ВКонтакте? Где лучше вести блог — в Инстаграме или на своём ресурсе? Споры...
Read More

Продвижение сайта в топ Яндекса

Если вы планируете развивать свой бизнес на рынках России и других стран СНГ и получать клиентов из поисковиков через SEO-продвижение...
Read More

Горячие предложения REG.RU: акции и скидки в помощь вашему бизнесу

Этот непростой год приближается к концу. Мы были рядом с вами и продолжаем поддерживать вас, поэтому сегодня редакция блога расскажет...
Read More

База знаний — помощник ваших клиентов: как создать и поддерживать

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

Как завоевать доверие онлайн-покупателей в период праздников

Представьте, вы открыли интернет-магазин, товары выставлены на витрине, посетители потянулись на сайт, вы ждёте первого заказа, но клиенты почему-то не...
Read More

Black Black Friday. Как не попасть на сайт-подделку

В преддверии праздничных праздничных распродаж вместе со всей ecommerce-отраслью активизируются мошенники. Они регистрируют сотни фишинговых доменов, имитирующих магазины популярных брендов....
Read More