[Перевод] Повторение: диверсифицированное мини-пакетное активное обучение

Программа перевода самородков

Воспроизведение: разнообразное мини-пакетное активное обучение

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

В этом посте мы представим некоторые из последних методов и воспользуемся возможностью воспроизвести статью 2019 года.Diverse Mini-Batch Active Learningрезультат. Читатели могут перейти непосредственно к этой статье, чтобы прочитать, чтобы понять все методы во всех деталях.

Важность разнообразия

В предыдущей статье был представлен подход, основанный на неопределенности, который использует «предсказываемые классом вероятности» для выбора наиболее сложных и запутанных выборок. Существует также подход на основе плотности, который использует распределение данных для выбора наиболее репрезентативных выборок.

Неопределенность и репрезентативность — два из трех критериев оценки, которые активное обучение надеется оптимизировать:

  • Разнообразие.Разнообразие является чисто исследовательским критерием. Метод, который чисто оптимизирует разнообразие, вероятно, будет выбирать выборки по всему пространству признаков и более склонен выбирать выборки с выбросами.
  • представитель.Образец называется «репрезентативным», если многие другие образцы подобны этому образцу при заданной мере сходства. Типичная репрезентативная выборка является «центром» большого кластера выборки.
  • Неопределенность.То есть те образцы, которые модель с трудом классифицирует.

Разнообразие и репрезентативность обычно оптимизируются одновременно, поскольку в обоих случаях используется распределение неразмеченных данных. Методы кластеризации могут оптимизировать оба сразу. Вот почему автор выбрал кластеризацию K-средних для своего метода выборки запросов разнообразия. Другая стратегия, например, [1] предложил метод на основе матрицы подобия, который объединяет все критерии оценки в одну функцию потерь.

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

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

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

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

Разнообразные мини-пакетные стратегии активного обучения

Разнообразные методы активного обучения Mini-Batch, выбирая следующиеkОбразец для маркировки, сочетающий неопределенность и разнообразие:

  • Во-первых, используйте сэмплер минимального края [2] Предварительный выборбета * kобразцы,бетаявляется единственным параметром этого метода.
  • Затем выберите из предварительно выбранных образцовk, ты можешь использоватьсубмодульный оптимизатор функций Submodular(бета), K-средние кластеризованные (бета), или взвешенное по неопределенности K-среднее кластеризованное WClustered (бета). Экспериментальные параметры этой статьи:β=10иβ=50.

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

Мы решили сравнить с помощьюабрикосовая библиотека PythonСубмодульный оптимизатор функций в иscikit-learnОптимизатор кластеризации K-средних в .

Почему выбирают эту бумагу?

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

полная валидация.Мы заметили, что большое количество статей по активному обучению проверяли свои методы только на небольших наборах данных OpenML без достаточного количества образцов для сценариев активного обучения — обычно в этих документах используется только 150 образцов, что, как говорят, обеспечивает точность 0,95. Поэтому мы хотели воспроизвести статью на большем наборе данных, и эта статья с использованием наборов данных 20 Newsgroups, MNIST и CIFAR10 кажется достаточно сложной, чтобы ее можно было воспроизвести, не требуя больших ресурсов.

Простой и элегантный способ.Самые последние статьи сосредоточены на активном обучении глубоких моделей предметной области; некоторые из них даже связаны со структурой модели. Нам нужен метод, который достаточно прост, чтобы быть понятным и воспроизводимым. Метод, предложенный в этой статье, основан на кластеризации K-средних, широко используемом алгоритме кластеризации, который в принципе интуитивно понятен.

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

Примечание:В этой статье автор сравнивает свой метод с фреймворком под названием FASS. Для простоты мы не воспроизводим результаты этой структуры в этом сообщении в блоге. Мы также решили использовать Keras вместо идиоматического MXNet, чтобы посмотреть, сможем ли мы воспроизвести экспериментальные результаты с другим фреймворком.

Исправления: расчеты погрешностей

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

Classification Margin Uncertainty

вŷ₁ — первая метка,ŷ₂ рядом, как в [2] рекомендуется, его следует свести к минимуму. Мы подтверждаем это экспериментально, и его максимизация приносит меньше производительности, чем случайная выборка. Мы полагаем, что автору следовало использовать обычную дополнительную вероятностную трактовку:

20 экспериментов с наборами данных групп новостей

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

  • Предварительная обработка использует CountVectorizer(ngram_range=(1,2), max_features=250000) и TfidfTransformer(use_idf=True) - эквивалент TfidfVectorizer(ngram_range=(1,2), max_features=250000, use_idf=True, dtype= np.int64 ) — классификатор использует полиномиальную логистическую регрессию.
  • Мы начинаем со 100 образцов и доводим до 1000 образцов в 100-й партии.
  • Одно отличие: для высокой размерности данных мы используем MiniBatchKMeans как Clustered(50) и WClustered(50) для ускорения экспериментов.

Figure 2. Results of the original paper (left) and our experiment (right) on the 20 Newsgroups dataset. The performance measure is accuracy, the solid line is the average over 20 runs, and the confidence intervals are 10th and 90th percentiles.

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

Эксперимент с набором данных MNIST

В этой статье представлены два эксперимента с набором данных MNIST, где мы воспроизводим первый. Это активный обучающий эксперимент по распознаванию цифр в MNIST. Цикл активного обучения начинается со 100 отсчетов и увеличивается на 100 отсчетов, пока не достигнет 1000 отсчетов (всего 60 000), а наилучшая точность составляет 0,93. В этой статье приводится блокнот Python с настройками модели, но мы не смогли воспроизвести те же результаты с теми же настройками:

  • Мы используем Keras вместо MXNet для построения нейронной сети, но структура такая же — слои размером 128, 64, функция активации ReLU и, наконец, слой из 10 нейронов с softmax.
  • Нам не удалось воспроизвести точность выше 0,90 с приведенными в статье настройками — оптимизатор SGD со скоростью обучения 0,10. Мы получили аналогичную производительность, переключившись на Адама со скоростью обучения 0,01.
  • Мы используем 60 000 образцов для обучения и 10 000 для тестирования, как указано в статье. Но проведите 20 экспериментов вместо 16.

Figure 3. Results of the original paper (left) and our experiment (right) on the MNIST dataset. The performance measure is accuracy, the solid line is the average over 20 runs, and the confidence intervals are 10th and 90th percentiles.

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

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

Из этих трех экспериментов нас особенно интересуют эти результаты, поскольку MNIST — это эксперимент с наиболее отчетливыми различиями между различными методами выборки. Самая большая разница между нашим экспериментом и оригиналом заключается в реализации модели, мы решили использовать другую вещь, чтобы воспроизвести эксперимент:Многослойные персептроны от scikit-learn. Мы также хотели подтвердить, что выбранная нами мера неопределенности, наименьшая маржа, будет работать лучше, чем мера наименьшей уверенности, как говорится в документе. Результат выглядит следующим образом:

Figure 4. Results of the MNIST experiment using scikit-learn’s MLP. The performance measure is accuracy, the solid line is the average over 20 runs, and the confidence intervals are 10th and 90th percentiles.

На рис. 4 показаны результаты, намного более близкие к оригиналу. Минимальная краевая выборка работает значительно лучше, чем минимальная доверительная выборка. Метод взвешенной кластеризации значительно превосходит другие методы, когда размер выборки изученного набора данных составляет от 300 до 800. Доверительные интервалы также значительно меньше, хотя и не такие узкие, как в статье. Захватывающим открытием на рисунке является то, что метод взвешенной кластеризации, по-видимому, ведет себя последовательно независимо от информативного предварительного отбора выборки и методов взвешивания.

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

Эксперимент с набором данных CIFAR 10

Это эксперимент по классификации изображений в наборе данных CIFAR 10. Поскольку для выполнения этой задачи требуется более широкий обучающий набор, активное обучение начинается с 1000 образцов, а затем увеличивается на 1000 образцов, пока не достигнет 10 000 (из 50 000 в целом), достигнув точности около 0,60. Наша конфигурация для этого эксперимента:

  • Мы используем Keras вместо MXNet и Resnet 50 v2 вместо Resnet 34 v2, потому что Keras изначально не предоставляет его. Поскольку в документе не указан оптимизатор, мы запустили 3 эпохи с помощью RMSprop.
  • Мы использовали 50 000 обучающих образцов и 10 000 тестовых образцов в соответствии с документом.

Figure 5. Results of the original paper (left) and our experiment (right) on the MNIST dataset. The performance measure is accuracy, the solid line is the average over 20 runs, and the confidence intervals are 10th and 90th percentiles.

в заключении:Рисунок 5 показывает, что наши доверительные интервалы снова немного больше, чем у исходного текста. Самый поразительный результат в том, что наша точность намного выше исходной — 0,8 вместо 0,6. Эта разница должна быть вызвана разной архитектурой двух экспериментов. Однако, опять же, мы наблюдаем, что активное обучение превосходит случайную выборку, хотя мы не наблюдаем лучшей производительности для методов выборки на основе разнообразия.

Разнообразное мини-пакетное активное обучение: резюме

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

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

Цитировать

Жданов, Федор».Diverse mini-batch Active Learning."arXiv preprint arXiv:1901.05954 (2019).

[1] Ду, Бо и др.».Exploring representativeness and informativeness for active learning."IEEE transactions on cybernetics47.1 (2015): 14–26.

[2] Settles, Burr. Active learning literature survey. University of Wisconsin-Madison Department of Computer Sciences, 2009.

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


Программа перевода самородковэто сообщество, которое переводит высококачественные технические статьи из Интернета сНаггетсДелитесь статьями на английском языке на . Охват контентаAndroid,iOS,внешний интерфейс,задняя часть,блокчейн,продукт,дизайн,искусственный интеллектЕсли вы хотите видеть более качественные переводы, пожалуйста, продолжайте обращать вниманиеПрограмма перевода самородков,официальный Вейбо,Знай колонку.