Активное обучение

Материал из MachineLearning.

Перейти к: навигация, поиск
Статья написана с использованием LLM GPT-5.5 Thinking и проверена участником Vladimir Garanin


Активное обучение (англ. active learning) — подход в машинном обучении, при котором алгоритм не получает заранее размеченную обучающую выборку целиком, а сам выбирает наиболее полезные объекты для разметки. Обычно предполагается, что у системы есть доступ к большому множеству неразмеченных объектов и к некоторому оракулу — человеку-эксперту или внешнему источнику, способному сообщать правильные ответы.

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

Содержание

Мотивация

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

В обычном обучении с учителем сначала размечается обучающая выборка, а затем по ней строится модель. В активном обучении процесс устроен иначе:

  1. модель обучается на небольшой начальной размеченной выборке;
  1. среди неразмеченных объектов выбираются наиболее информативные;
  1. оракул размечает выбранные объекты;
  1. новые размеченные объекты добавляются к обучающей выборке;
  1. модель переобучается или дообучается;
  1. цикл повторяется до исчерпания бюджета разметки.

Такой подход особенно полезен, когда стоимость ошибки мала на этапе эксперимента, но стоимость получения каждой новой метки велика.

Общая постановка

Пусть задано множество размеченных объектов

L = {(x_i,y_i)}_{i=1}^{n}

и множество неразмеченных объектов

U = {x_j}_{j=1}^{m}.

На каждом шаге активного обучения алгоритм выбирает один объект или батч объектов из U, запрашивает для них метки у оракула и переносит их в L. Цель состоит в том, чтобы при ограниченном числе запросов к оракулу получить модель с как можно меньшей обобщающей ошибкой.

Формально можно рассматривать стратегию выбора запросов как функцию

q: U \to \mathbb{R},

где значение q(x) показывает полезность запроса метки для объекта x. На каждом шаге выбираются объекты с наибольшим значением этой функции.

Основные сценарии активного обучения

В литературе обычно выделяют несколько сценариев активного обучения[1].

Membership query synthesis

В этом сценарии алгоритм может сам конструировать объект x и спрашивать у оракула его метку. Например, модель может сгенерировать искусственный вектор признаков и запросить его класс.

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

Stream-based selective sampling

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

Такой подход подходит для задач, где данные появляются непрерывно: модерация сообщений, обработка событий безопасности, анализ пользовательских действий.

Pool-based sampling

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

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

Стратегии выбора объектов

Выбор по неуверенности

Uncertainty sampling — одна из самых простых и популярных стратегий активного обучения. Алгоритм выбирает объекты, в которых текущая модель наименее уверена[1].

В бинарной классификации можно выбрать объект, для которого вероятность положительного класса ближе всего к 1/2:

x^* = \arg\min_{x \in U} |P(y=1|x)-0.5|.

В многоклассовой классификации часто используется вариант least confident:

x^* = \arg\max_{x \in U} \left(1 - \max_y P(y|x)\right).

Чем меньше максимальная вероятность класса, тем менее уверена модель.

Другой вариант — выбор по энтропии предсказанного распределения:

x^* = \arg\max_{x \in U} \left(-\sum_y P(y|x)\log P(y|x)\right).

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

Выбор по отступу

В многоклассовой классификации используется также стратегия выбора по минимальному отступу между двумя наиболее вероятными классами:

x^* = \arg\min_{x \in U} \left(P(y_1|x)-P(y_2|x)\right),

где y_1 и y_2 — два класса с наибольшими предсказанными вероятностями.

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

Query by committee

В стратегии query by committee обучается не одна модель, а комитет моделей. Для разметки выбираются объекты, по которым модели сильнее всего расходятся во мнениях[1].

Например, если разные классификаторы дают разные классы для одного и того же объекта, его разметка может существенно сократить множество допустимых гипотез.

Расхождение комитета можно измерять числом голосов за разные классы, средней попарной дивергенцией между предсказанными распределениями или энтропией распределения голосов.

Ожидаемое изменение модели

В стратегиях expected model change выбираются объекты, разметка которых, как ожидается, сильнее всего изменит параметры модели. Интуитивно такой объект содержит информацию, которую текущая модель ещё плохо учла.

Для моделей, обучаемых градиентными методами, можно оценивать норму ожидаемого градиента функции потерь после получения метки:

x^* = \arg\max_{x \in U} \mathbb{E}*{y|x} |\nabla*\theta L(\theta; x,y)|.

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

Ожидаемое уменьшение ошибки

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

Такие методы концептуально близки к оптимальному выбору запроса, но на практике часто требуют приближений.

Проблема разнообразия

Простые стратегии неопределённости могут выбирать много похожих объектов. Например, если модель не уверена в группе почти одинаковых изображений, она может запросить разметку сразу нескольких дубликатов. Это неэффективно: после разметки одного такого объекта остальные могут почти не дать новой информации.

Поэтому в практическом активном обучении часто совмещают два критерия:

  • неопределённость — объект должен быть полезен для модели;
  • разнообразие — выбранные объекты не должны повторять друг друга.

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

Активное обучение и полуобучение

Активное обучение не следует путать с полуобучением.

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

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

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

Применения

Активное обучение применяется в задачах, где разметка требует существенных затрат:

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

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

Ограничения и типичные ошибки

Ненадёжная оценка неопределённости

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

Если вероятности плохо калиброваны, стратегия выбора по энтропии или максимальной вероятности может работать хуже ожидаемого.

Смещение выборки

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

Например, если почти все размеченные объекты находятся около границы классов, модель может плохо описывать типичные, но более простые объекты.

Холодный старт

На ранних этапах модель ещё плохо обучена, поэтому её оценки неопределённости могут быть почти бессмысленными. По этой причине активное обучение часто начинают с небольшой случайной размеченной выборки или комбинируют случайный выбор с активной стратегией.

Цена ошибки оракула

Активное обучение часто отправляет человеку самые трудные и неоднозначные объекты. Это повышает вероятность ошибок разметки. Если оракул ошибается именно на наиболее важных объектах, качество модели может заметно ухудшиться.

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

Теоретическая идея выигрыша

В идеальном случае активное обучение может требовать существенно меньше размеченных примеров, чем пассивное обучение. Это связано с тем, что алгоритм не тратит бюджет на очевидные объекты, метки которых почти не меняют модель[1].

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

Поэтому активное обучение следует рассматривать не как универсальную замену обычной разметке, а как способ более разумно распределять ограниченный бюджет разметки.

См. также

Литература


  • Settles, B. Active Learning. Morgan & Claypool Publishers, 2012.
  • Settles, B. Active Learning Literature Survey. Computer Sciences Technical Report 1648, University of Wisconsin–Madison, 2009.
  • Cohn, D., Atlas, L., Ladner, R. Improving Generalization with Active Learning. Machine Learning, 1994.
  • Lewis, D. D., Gale, W. A. A Sequential Algorithm for Training Text Classifiers. Proceedings of SIGIR, 1994.
  • Seung, H. S., Opper, M., Sompolinsky, H. Query by Committee. Proceedings of the Fifth Annual Workshop on Computational Learning Theory, 1992.
Личные инструменты