Глоссарий

Одноразовое обучение

Открой для себя силу One-Shot Learning, революционной техники ИИ, позволяющей моделям обобщать данные на основе минимальных данных для применения в реальном мире.

Обучай модели YOLO просто
с помощью Ultralytics HUB.

Узнай больше

One-Shot Learning - это специализированная область машинного обучения (ML), в которой модель обучается делать точные предсказания или классификации для новой категории, увидев всего один пример из этой категории. Это резко контрастирует с традиционными подходами контролируемого обучения, которые часто требуют сотен или тысяч помеченных примеров на категорию для достижения высокой производительности. One-Shot Learning особенно ценен в ситуациях, когда данных мало, их дорого получать или нужно быстро добавлять новые классы без длительного переобучения.

Основная концепция: Учимся сравнивать

Вместо того чтобы учиться классифицировать входные данные непосредственно в одну из множества известных категорий, модели One-Shot Learning часто фокусируются на обучении функции сходства. Цель состоит в том, чтобы определить, насколько новый, невидимый входной сигнал похож на единственный предоставленный пример категории. Если показатель сходства достаточно высок в соответствии с выученным порогом, входные данные классифицируются в эту категорию. В этой области распространены такие техники, как сиамские сети, которые используют идентичные конволюционные нейронные сети (CNN) для обработки двух входных данных и сравнения их выходов. Эти сети обучаются на парах изображений и учатся создавать похожие представления для изображений из одного класса и непохожие представления для изображений из разных классов.

Отличия от смежных парадигм обучения

Важно отличать One-Shot Learning от похожих концепций:

  • Few-Shot Learning: One-Shot Learning - это особый случай Few-Shot Learning, когда модель обучается на небольшом количестве ("few") примеров. В One-Shot Learning это число равно ровно одному. Few-Shot Learning обычно относится к сценариям с чуть большим количеством примеров (например, от 2 до 5) на каждый новый класс.
  • Zero-Shot Learning: В отличие от One-Shot Learning, Zero-Shot Learning нацелено на классификацию входных данных из категорий, примеров которых модель не видела во время обучения. Обычно это достигается за счет использования вспомогательной информации, такой как текстовые описания или атрибуты классов, чтобы преодолеть разрыв между увиденными и невиденными категориями. Подробнее об этих различиях ты можешь прочитать в нашем блоге в статье Understanding Few-Shot, Zero-Shot, and Transfer Learning.
  • Трансферное обучение: One-Shot Learning часто в значительной степени опирается на Transfer Learning. Сначала модель предварительно обучается на большом наборе данных (например, ImageNet), чтобы выучить общие характеристики. Затем эта предварительно обученная модель адаптируется или настраивается на единственном примере для распознавания нового класса, используя знания, полученные из большего набора данных.

Применение в реальном мире

One-Shot Learning позволяет выполнять приложения, которые раньше были сложными из-за ограниченности данных:

  1. Распознавание лиц: Системы безопасности или персональные устройства могут научиться распознавать лицо нового пользователя всего по одному поступившему изображению, сравнивая последующие снимки с этим единственным эталоном. Такие компании, как Apple, используют вариации этого метода для Face ID.
  2. Обнаружение редких объектов: При контроле качества производства или анализе медицинских изображений выявление редкого дефекта или аномалии может быть возможно только на основе единственного подтвержденного примера. One-Shot Learning позволяет системам отмечать похожие экземпляры на основе этого единственного случая, что крайне важно для таких задач, как обнаружение редких опухолей. Это также актуально в специализированных сценариях обнаружения объектов, где сбор больших наборов данных, таких как COCO, нецелесообразен.

Важность и проблемы

Способность обучаться на минимальном количестве данных делает One-Shot Learning весьма актуальным для персонализации, быстрой адаптации к новым условиям (например, в робототехнике) и ситуаций, требующих быстрого развертывания моделей для новых категорий. Несмотря на свою мощь, достижение надежной производительности, сравнимой с моделями, обученными на больших наборах данных, остается сложной задачей. Производительность в значительной степени зависит от качества единичного примера и эффективности извлечения базовых признаков, полученных в ходе предварительного обучения. Платформы вроде Ultralytics HUB облегчают обучение и управление моделями, которые потенциально могут быть адаптированы для сценариев с несколькими примерами, хотя стандартные Ultralytics YOLO модели значительно выигрывают от больших наборов данных и таких техник, как увеличение данных. Исследования продолжают развиваться, изучая такие методы, как метаобучение ("обучение для обучения"), чтобы улучшить обобщение на очень небольшом количестве примеров. Дополнительную информацию можно найти в таких основополагающих статьях, как "Сиамские нейронные сети для распознавания одномоментных изображений", и на ресурсах исследовательских лабораторий ИИ, таких как DeepMind.

Читать полностью