Активное обучение
Откройте для себя активное обучение — экономичный метод машинного обучения, повышающий точность при меньшем количестве размеченных данных. Узнайте, как он преобразует обучение ИИ!
Активное обучение — это специализированная методология обучения в машинном обучении (ML), где алгоритм обучения может в интерактивном режиме запрашивать у пользователя или другого источника информации («оракула») метки для новых точек данных. Основная идея заключается в том, что если модель может выбирать данные, на которых она обучается, она может достичь более высокой точности с значительно меньшим количеством данных для обучения. Это особенно ценно в областях, где маркировка данных является дорогостоящей, трудоемкой или требует экспертных знаний. Вместо того чтобы маркировать весь набор данных сразу, активное обучение определяет приоритетность наиболее «информативных» образцов для маркировки, что делает процесс обучения модели гораздо более эффективным.
Как работает активное обучение
Процесс активного обучения является циклическим и часто описывается как рабочий процесс с человеком в контуре управления. Обычно он включает следующие этапы:
- Первоначальное обучение модели: Модель, такая как детектор Ultralytics YOLO11, сначала обучается на небольшом, первоначально размеченном наборе данных.
- Запрос неразмеченных данных: Частично обученная модель затем используется для прогнозирования на большом пуле неразмеченных данных. На основе этих прогнозов модель выбирает подмножество образцов, в которых она больше всего «не уверена».
- Разметка человеком: Эти неопределенные образцы представляются эксперту (оракулу), который предоставляет правильные метки.
- Аугментация набора данных: Недавно помеченные образцы добавляются в набор для обучения.
- Переобучение: Модель переобучается на обновленном, большем наборе данных. Этот цикл повторяется до тех пор, пока производительность модели не достигнет желаемого порога или не будет исчерпан бюджет на маркировку.
Ключ к этому процессу заключается в стратегии запроса. Общие стратегии включают выборку неопределенности (выбор экземпляров, в которых модель наименее уверена), запрос по комитету (использование нескольких моделей и выбор экземпляров, по которым они не согласны) или оценку ожидаемого изменения модели. Хороший обзор этого можно найти в этом обзоре активного обучения.
Применение в реальном мире
Активное обучение особенно эффективно в специализированных областях, где аннотирование экспертами является узким местом.
- Анализ медицинских изображений: При обучении ИИ для обнаружения таких заболеваний, как рак, на медицинских сканах, могут быть доступны миллионы изображений, но лишь ограниченное количество времени рентгенолога. Вместо того чтобы заставлять их маркировать случайные изображения, система активного обучения может точно определять наиболее неоднозначные или редкие случаи для рассмотрения. Это фокусирует усилия эксперта там, где это больше всего необходимо, ускоряя разработку высокоточной модели для таких задач, как обнаружение опухолей головного мозга. Исследования в этой области показывают значительное сокращение усилий по маркировке, как подробно описано в исследованиях, подобных этому, по сегментации биомедицинских изображений.
- Автономное вождение: Системы восприятия в автономных транспортных средствах должны быть обучены на обширных и разнообразных наборах данных, охватывающих бесчисленные сценарии вождения. Активное обучение может выявлять «предельные случаи» из собранных данных вождения, такие как пешеход, частично скрытый препятствием, или необычные погодные условия, с которыми текущая модель обнаружения объектов испытывает трудности. Приоритизируя эти сложные сцены для аннотирования, разработчики могут более эффективно повысить надежность и безопасность модели.
Активное обучение в сравнении со смежными концепциями
Важно отличать активное обучение от других парадигм обучения, которые также используют неразмеченные данные:
- Полуавтоматическое обучение: Использует как размеченные, так и неразмеченные данные одновременно во время обучения. В отличие от активного обучения, оно обычно использует все доступные неразмеченные данные пассивно, а не выборочно запрашивает конкретные экземпляры для получения меток.
- Самообучение без учителя: Изучает представления из неразмеченных данных, создавая предварительные задачи (например, предсказание замаскированной части изображения). Оно не требует аннотации человеком на этапе предварительного обучения, тогда как активное обучение полагается на оракула для получения меток. DeepMind подробно изучила эту область.
- Обучение с подкреплением: Учится методом проб и ошибок посредством взаимодействия с окружающей средой, получая вознаграждения или штрафы за действия. Это не включает в себя запросы на явные метки, как в Active Learning.
- Федеративное обучение: Сосредоточено на обучении моделей на децентрализованных устройствах, сохраняя данные локально, в первую очередь решая проблемы конфиденциальности данных. Активное обучение фокусируется на эффективном получении меток. Эти методы иногда можно комбинировать.
Инструменты и реализация
Внедрение активного обучения часто включает в себя интеграцию моделей ML с инструментами аннотации и управление рабочим процессом данных. Фреймворки, такие как scikit-learn, предлагают некоторые функциональные возможности, в то время как специализированные библиотеки существуют для конкретных задач. Программное обеспечение для аннотаций, такое как Label Studio, может быть интегрировано в конвейеры активного обучения, что позволяет аннотаторам предоставлять метки для запрошенных образцов. Эффективное управление развивающимися наборами данных и обученными моделями имеет решающее значение, а такие платформы, как Ultralytics HUB, предоставляют инфраструктуру для организации этих активов на протяжении всего жизненного цикла разработки. Изучите репозиторий Ultralytics GitHub для получения дополнительной информации о внедрении передовых методов ML.