Обучение на малых выборках (Few-Shot Learning)
Метод машинного обучения, при котором модель обучается на ограниченном количестве размеченных данных, стремясь при этом достичь приемлемой или высокой точности предсказаний.
В мире нейронных сетей и ИИ объём данных традиционно считается одним из ключевых факторов успеха: чем больше качественных данных — тем лучше модель обобщает и тем точнее её прогнозы. Однако на практике часто возникают ситуации, когда собрать большой датасет невозможно: данные могут быть дорогими, труднодоступными, конфиденциальными или просто редкими (например, случаи редких заболеваний в медицинской диагностике). Именно для таких сценариев и разрабатываются подходы к обучению на малых выборках.
Аналогия из бытового мира
Представьте, что вы учите ребёнка различать фрукты. В классическом сценарии вы показываете ему десятки и сотни изображений яблок, груш, апельсинов — и так он постепенно учится распознавать их. Но в случае «обучения на малых выборках» вы даёте ему всего по 2–3 картинки каждого фрукта — и при этом ожидаете, что он всё равно сможет уверенно отличать яблоко от груши. Это требует от ребёнка не просто запоминания, а умения обобщать, выделять ключевые признаки. Точно так же и модель при обучении на малых выборках должна научиться «увидеть суть» объекта, опираясь на минимум примеров.
Исторический контекст
Интерес к обучению на малых выборках усилился в 2010‑х годах на фоне бурного развития глубокого обучения. С одной стороны, глубокие нейронные сети демонстрировали впечатляющие результаты, но с другой — требовали огромных объёмов данных. Это породило запрос на методы, позволяющие:
- обучать модели при ограниченном бюджете на сбор и разметку данных;
- быстро адаптировать модели к новым задачам (few‑shot learning);
- работать с редкими классами (long‑tail recognition).
Важную роль сыграли работы по мета‑обучению (meta‑learning) и переносу знаний (transfer learning), которые позволили «переиспользовать» знания, полученные на больших датасетах, для обучения на малых выборках. Например, предобученные модели (как BERT в NLP или ResNet в CV) стали отправной точкой для дообучения на узких задачах с малым числом примеров.
Смежные понятия и различия
- Transfer learning (перенос обучения) — использует знания из одной задачи/домена для улучшения обучения на другой. Часто служит основой для обучения на малых выборках, но не всегда подразумевает малый объём данных.
- Few‑shot learning (обучение на нескольких примерах) — подвид обучения на малых выборках, где модель должна научиться распознавать новые классы, увидев лишь 1–5 примеров каждого.
- Zero‑shot learning (обучение без примеров) — ещё более строгий сценарий, где модель должна классифицировать объекты, которых она никогда не видела, опираясь на описательные признаки или семантические связи.
- Data augmentation (аугментация данных) — техника увеличения эффективного размера датасета за счёт преобразований (поворот, обрезка, шум и т. п.). Часто используется вместе с обучением на малых выборках, но не заменяет его.
Примеры использования
- Компьютерное зрение: дообучение ResNet или EfficientNet на малом датасете медицинских изображений (например, снимков рентгена с редкими патологиями).
- Обработка естественного языка (NLP): адаптация BERT или RoBERTa к узкой задаче (например, классификация отзывов в нишевой отрасли) на основе нескольких десятков размеченных примеров.
- Речевое распознавание: настройка модели на акцент или диалект, для которого доступно мало аудиоданных.
- Промышленность: обучение модели дефектоскопии на малых выборках изображений брака (так как брак редок по определению).
Популярные подходы и техники
- Фине‑тюнинг (fine‑tuning) предобученных моделей.
- Мета‑обучение (например, MAML — Model-Agnostic Meta-Learning).
- Прототипные сети (Prototypical Networks) для few‑shot классификации.
- Генеративные модели (например, GANs) для синтеза дополнительных данных.
- Аугментация данных специфичная для домена (например, эластичные деформации в медицине).
