Обзор активного обучения: стратегии и меры неопределенности

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

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

· Активное обучение — это название, используемое для процесса определения приоритетов данных, которые необходимо пометить, чтобы оказать наибольшее влияние на обучение контролируемой модели.

· Активное обучение — это стратегия, при которой алгоритм обучения может в интерактивном режиме опрашивать пользователя (учителя или оракула), чтобы пометить новые точки данных истинными метками. Процесс активного обучения также называют оптимальным планом эксперимента.

· Активное обучение мотивировано пониманием того, что не все помеченные примеры одинаково важны.

· Активное обучение — это методология, которая иногда может значительно сократить объем размеченных данных, необходимых для обучения модели. Он делает это, отдавая приоритет работе над маркировкой для экспертов.

  • Активное обучение Позволяет снизить затраты при одновременном повышении точности.
  • Является усовершенствованием вашей существующей модели.
  • Это стратегия/алгоритм, а не модель.
  • Но может быть тяжело. "Активное обучение легко понять, но не так просто реализовать"

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

Вместо того, чтобы собирать все метки для всех данных сразу, Active Learning отдает приоритет тем данным, которые больше всего запутывают модель, и запрашивает метки только для них. Затем модель немного тренируется на этом небольшом количестве помеченных данных, а затем снова запрашивает еще несколько меток для наиболее запутанных данных.

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

2. Стратегия активного обучения

Этапы активного обучения

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

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

  1. Первое, что нужно сделать, это вручную пометить очень небольшую подвыборку этих данных.
  2. Как только имеется небольшое количество размеченных данных, модель необходимо обучить на них. Модель, конечно, не будет хорошей, но она поможет нам понять, какие области пространства параметров нужно пометить в первую очередь, чтобы улучшить ее.
  3. После обучения модели модель используется для прогнозирования класса каждой оставшейся непомеченной точки данных.
  4. Оценка выбирается для каждой немаркированной точки данных на основе прогноза модели. В следующем подразделе мы представим некоторые из наиболее часто используемых возможных оценок.
  5. После выбора наилучшего подхода для определения приоритетов маркировки этот процесс можно повторять итеративно: новую модель можно обучить на новом размеченном наборе данных, который был помечен на основе оценки приоритета. После того, как новая модель была обучена на подмножестве данных, непомеченные точки данных могут быть пропущены через модель, чтобы обновить оценки приоритетов, чтобы продолжить маркировку. Таким образом, можно продолжать оптимизировать стратегию маркировки по мере того, как модели становятся все лучше и лучше.

2.1 Подход к активному обучению №1: потоковая передача

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

2.2. Подход к активному обучению № 2: объединение

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

2.3 Активный подход к обучению № 3: Запрос комитетом

Запрос комитетом на словах — это использование нескольких моделей вместо одной.

Альтернативный подход, называемый «Запрос по комитету», поддерживает набор моделей (комитет) и выбирает наиболее «спорные» точки данных для маркировки следующей, то есть той, по которой модели расходятся во мнениях. Использование такого комитета может позволить нам преодолеть ограниченную гипотезу, которую может выразить одна модель, хотя в начале задачи у нас еще нет способа узнать, какую гипотезу нам следует использовать.

3. Меры неопределенности

Процесс определения наиболее ценных примеров, которые следует пометить следующими, называется «стратегией выборки» или «стратегией запроса». Функция подсчета очков в процессе выборки называется «функцией сбора данных». Ожидается, что точки данных с более высокими баллами будут иметь более высокую ценность для обучения модели, если они будут помечены. Существуют различные стратегии выборки, такие как выборка по неопределенности, выборка по разнообразию, ожидаемое изменение модели… В этой статье мы сосредоточимся только на показателях неопределенности, которые являются наиболее используемой стратегией.

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

Наиболее информативными примерами являются те, в отношении которых классификатор наименее уверен.

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

Давайте возьмем конкретный пример, скажем, вы пытаетесь построить многоклассовую классификацию, чтобы различать 3 класса: кошка, собака, лошадь. Модель может дать нам такой прогноз:

Этот вывод, скорее всего, получен от softmax, который преобразует логиты в диапазон оценок от 0 до 1 с использованием показателей степени.

3.1. Наименьшая уверенность:

Наименьшая достоверность принимает разницу между 1 (100% достоверность) и наиболее достоверно предсказанной меткой для каждого элемента.

Хотя вы можете ранжировать только по достоверности, может быть полезно преобразовать оценки неопределенности в диапазон от 0 до 1, где 1 — это самая неопределенная оценка. В этом случае мы должны нормализовать счет. Мы вычитаем значение из 1, умножаем результат на n/(1-n), где n — количество меток. Мы делаем это потому, что минимальная достоверность никогда не может быть меньше, чем деленная на количество меток, когда все метки имеют одинаковую прогнозируемую достоверность.

Давайте применим это к нашему примеру, оценка неопределенности будет:
(1–0,9352) * (3/2) = 0,0972.

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

3.2. Доверительная вероятность выборки

Наиболее интуитивно понятная форма выборки неопределенности — это разница между двумя наиболее надежными прогнозами. То есть для метки, предсказанной моделью, насколько она была более достоверной, чем для следующей по достоверности метки? Это определяется как:

Опять же, мы можем преобразовать это в диапазон 0–1. Приходится снова вычитать из 1,0, но максимально возможный балл уже равен 1, поэтому умножать ни на какой коэффициент не нужно.

Давайте применим выборку с доверительной вероятностью к данным нашего примера. «Кошка» и «Лошадь» — самый уверенный и второй по достоверности прогноз. В нашем примере этот показатель неопределенности будет равен 1,0 — (0,9352–0,0540) = 0,1188.

3.3. Относительная выборка

Коэффициент достоверности представляет собой небольшую вариацию предела достоверности, рассматривая соотношение между двумя лучшими оценками, а не разницу.

Теперь давайте снова подставим наши числа: 0,9352 / 0,0540 = 17,3185.

3.4. Энтропийная выборка

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

Давайте посчитаем энтропию на нашем примере данных:

Суммирование чисел и их отрицание возвращает 0 — СУММ(–0,0705, –0,0903, –0,2273) = 0,3881.

Разделив число меток на log, вы получите 0,3881/log2(3) = 0,6151.

Закрытие

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

Рекомендации

[1] https://www.manning.com/books/human-in-the-loop-machine-learning

[2] https://towardsdatascience.com/introduction-to-active-learning-117e0740d7cc

[3] https://www.cs.cmu.edu/~tom/10701_sp11/recitations/Recitation_13.pdf

[4] https://www.youtube.com/watch?v=l6HFdqk480o&feature=youtu.be