"Машинное обучение"

Active Learning и Semi-supervised Learning превращают ваши немаркированные данные в аннотированные данные

Активное обучение и частично контролируемое обучение

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

Обучение с полуучителем – это способ объединения помеченных и неразмеченных данных для обучения моделей. Предположения этого подхода: continuity assumption, cluster assumption и manifold assumption. Короче говоря, точки данных имеют одну и ту же метку, если они закрыты друг для друга.

Гибридное обучение

Хан и др. (2016) предложили объединить как активное обучение, так и частично контролируемое обучение для надежной классификации. Конечно, мы можем применить его в других областях, таких как текст, видео и т. д. Практики используют подход активного обучения, чтобы оценить наиболее ценные точки данных для маркировки. Однако они идут еще дальше, вводя обучение с полуучителем для оценки наибольшей уверенности без маркировки после каждого раунда итерации.

Обзор

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

  1. У нас есть большой объем неразмеченных данных и ограниченное количество размеченных данных в начале.
  2. Пройдите обычный активный процесс обучения, чтобы выполнить аннотацию данных.
  3. Сопоставьте как исходные помеченные данные, так и новые аннотированные данные, чтобы обучить модель классификации и классифицировать ее.
  4. Если достоверность выше предварительно определенного порога (говорит 85%), мы назначим метку этим данным.
  5. Повторяйте шаги со 2 по 4 до точек выхода. Например, полученные 500 аннотированных данных или производительность модели достигают определенной точности.

Самая надежная выборка

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

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

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

Код Python от NLPatl

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

# Initialize entropy sampling apporach to estimate the most valuable data for labeling
learning = SemiSupervisedLearning(
  sampling=sampling,
  embeddings_model=embeddings_model,
  classification_model=classification_model
)
# Label data in notebook interactively
learning.explore_educate_in_notebook(train_texts, num_sample=2)

Ссылка

Нравится учиться?

Я Data Scientist в Bay Area. Сосредоточение внимания на современном состоянии науки о данных, искусственном интеллекте, особенно в НЛП и связанных с платформами. Не стесняйтесь связаться со мной на LinkedIn или Github.