One-Shot Learning (OSL) - это специализированная область машинного обучения (ML), целью которой является классификация новых примеров на основе только одного обучающего экземпляра для каждого класса. Это резко контрастирует с традиционными методами контролируемого обучения, которые часто требуют тысячи помеченных примеров на класс для достижения высокой точности. OSL особенно актуально в сценариях, где обучающие данные скудны, дороги или требуют много времени для сбора, что делает его важнейшей техникой для реальных приложений, где ограничение данных - обычное дело.
Как работает одноразовое обучение
Вместо того чтобы учиться напрямую сопоставлять входные данные с меткой класса на основе многочисленных примеров, OSL-модели обычно учатся функции сходства. Основная идея заключается в том, чтобы определить, насколько новый, невидимый пример (запрос) похож на единственный доступный помеченный пример (поддержка) для каждого класса. Если пример запроса очень похож на пример поддержки определенного класса, ему присваивается метка этого класса. Для этого часто используются архитектуры глубокого обучения (DL), такие как сиамские сети, которые обрабатывают два входных сигнала одновременно, чтобы определить их сходство. Эти сети часто предварительно обучаются на больших наборах данных (например, ImageNet) с помощью трансферного обучения для изучения надежных представлений признаков, а затем адаптируются к задаче OSL с помощью таких методов, как метрическое обучение.
Ключевые понятия в одноразовом обучении
- Набор поддержки: Он содержит один помеченный пример, предоставленный для каждого класса, на котором модель должна обучаться.
- Набор запросов: Здесь содержатся немаркированные примеры, которые модель должна классифицировать на основе набора опор.
- Обучение сходству/метрике: Процесс обучения функции расстояния или метрики, которая измеряет сходство между точками данных, крайне важен для сравнения примеров запроса и вспомогательных примеров.
- Эпизодическое обучение: Распространенная стратегия обучения, при которой модель тренируется на множестве небольших OSL-задач (эпизодов), отобранных из большего набора данных, чтобы имитировать одномоментный сценарий во время обучения.
Одномоментное обучение по сравнению со смежными парадигмами
Понимание OSL требует отличать его от смежных концепций:
- Few-Shot Learning (FSL): OSL считается экстремальным вариантом FSL. В то время как OSL использует только один пример на класс, FSL использует небольшое количество (k > 1, обычно 5 или 10) примеров на класс. Оба варианта решают проблему нехватки данных, но отличаются количеством доступных образцов. Подробнее об этих парадигмах ты можешь прочитать в нашей статье в блоге о понимании few-shot, zero-shot и transfer learning.
- Zero-Shot Learning (ZSL): ZSL решает еще более сложную задачу: классифицирует экземпляры из классов, которые никогда не были замечены во время обучения. Обычно это достигается за счет использования вспомогательной информации, такой как семантические атрибуты или текстовые описания, которые связывают увиденные и невиденные классы. Для OSL достаточно увидеть один пример; для ZSL достаточно увидеть ноль примеров, но нужен дополнительный семантический контекст.
- Трансферное обучение и тонкая настройка: Хотя в OSL часто используется трансферное обучение (предварительное обучение на большом наборе данных), цель у него другая. Стандартное трансферное обучение или тонкая настройка обычно предполагают наличие разумного количества целевых данных для адаптации, в то время как OSL специально работает с ограничением в один пример. Такие техники, как пользовательское обучение моделей Ultralytics YOLO , часто включают в себя тонкую настройку предварительно обученных весов, но, как правило, с более чем одним примером на класс.
Применение в реальном мире
OSL позволяет использовать различные приложения, которым раньше мешали ограничения в данных:
- Распознавание лиц: Системам безопасности или персональным устройствам может понадобиться идентифицировать или верифицировать человека после его регистрации с помощью всего лишь одной фотографии. NIST проводит обширное тестирование технологий распознавания лиц, многие из которых сталкиваются с подобными задачами, требующими нескольких или одного снимка.
- Обнаружение редких объектов: В таких областях, как контроль качества производства или охрана дикой природы, выявление редких дефектов или исчезающих видов может быть возможно только по одному или очень немногим предыдущим примерам. Хотя такие модели, как Ultralytics YOLO11 отлично справляются с обнаружением объектов при достаточном количестве данных, методы OSL могут дополнить их для чрезвычайно редких классов.
- Проверка подписи: Проверка подлинности подписи человека на основе одной эталонной подписи, хранящейся в файле. В исследованиях изучается глубокое обучение для этой задачи, часто в режимах с малым количеством данных.
- Открытие лекарств: Выявление потенциальных кандидатов на новые лекарства или предсказание свойств молекул на основе очень ограниченных экспериментальных результатов, что ускоряет процесс исследования. Исследования показывают применение OSL в предсказании взаимодействия лекарств с мишенями.
Проблемы и будущие направления
Основной проблемой в OSL является обобщение: как модель может достоверно узнать сущность класса всего лишь по одному примеру, не переборщив с подгонкой? Выбор и качество единственного опорного примера становятся критически важными. Текущие исследования сосредоточены на разработке более надежных представлений признаков, лучших метрик сходства и использовании таких техник, как метаобучение ("обучение для обучения"), для повышения производительности OSL. Интеграция возможностей OSL в модели зрения общего назначения и платформы, такие как Ultralytics HUB, может значительно расширить их применимость в условиях ограниченных данных. Оценка моделей OSL требует тщательного рассмотрения метрик производительности в этих сложных условиях.