newsmode
search
Меню
arrow_back Назад

Bootstrapping Labels via ___ Supervision & Human-In-The-Loop

auto_awesomeКраткое саммари

Юджин Ян разбирает, как получать обучающие метки, когда размеченных данных нет, и рассматривает три подхода: полу-, активное и слабое обучение. Полуобучение генерирует псевдо-метки итеративно; активное обучение отбирает наиболее неопределённые или информативные примеры для разметки человеком (human-in-the-loop), как в кейсе DoorDash для тегирования меню и в системе SEALS от Facebook с фильтрацией через ближайших соседей. Слабое обучение через Snorkel DryBell от Google и Overton от Apple использует labeling functions, эвристики и базы знаний — Snorkel DryBell заменил 80k ручных меток для классификации тем и 12k для классификации продуктов. Автор подчёркивает важность чётких инструкций по разметке и приводит совет от Andrej Karpathy о сложности воркфлоу разметки даже в Tesla. В финале даётся эвристика: на раннем этапе — слабое обучение, затем полу- или активное, а в зрелых системах — авто-разметка с HITL для низкоуверенных предсказаний.

Bootstrapping Labels via ___ Supervision & Human-In-The-Loop

Бутстрэппинг меток через ___-обучение и Human-In-The-Loop

[ teardown machinelearning ] · 12 min read

[ teardown machinelearning ] · 12 мин чтения

Most machine learning tutorials and papers assume the availability of training labels. This includes benchmark datasets such as OpenImages or SuperGLUE, or customer interaction behavior such as clicks or purchases. But what if labeled datasets are not available?

Большинство туториалов и статей по машинному обучению предполагают, что обучающие метки доступны. Сюда относятся бенчмарковые датасеты вроде OpenImages или SuperGLUE, либо данные о поведении клиентов — например, клики или покупки. Но что, если размеченных датасетов нет?

We would have to collect them. Collecting training labels is a seldom discussed art. Imagine you’re monitoring social media for undesirable content—how would you get labels for subtle concepts like COVID-19 misinformation, terrorism, or cyberbullying? Or imagine you need to tag a corpus of book reviews to indicate if the review is about quality, pricing, or writing style—where would you begin?

Тогда их придётся собирать. Сбор обучающих меток — редко обсуждаемое искусство. Представьте, что вы мониторите соцсети на нежелательный контент: как получить метки для тонких концептов вроде дезинформации о COVID-19, терроризма или кибербуллинга? Или представьте, что вам нужно разметить корпус книжных отзывов по тому, говорят ли они о качестве, цене или стиле письма — с чего начать?

In this write-up, we’ll discuss semi, active, and weakly supervised learning, and see examples of the latter two approaches from DoorDash, Facebook, Google, and Apple.

В этой статье мы обсудим полу-, активное и слабое обучение и рассмотрим примеры двух последних подходов из DoorDash, Facebook, Google и Apple.

Semi-supervised learning: Generate pseudo-labels

Полу-обучение с учителем: генерация псевдо-меток

In semi-supervised learning, we combine a small amount of hand-labeled data with a larger amount of unlabeled data during training. Here’s a step-by-step:

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

  • Train a high-precision model on labeled data
  • Predict on unlabeled data
  • Select the most confident predictions as pseudo-labels; add them to training data
  • Train another model on labels and pseudo-labels
  • Repeat until you have sufficient high confidence pseudo-labels
  • Обучить высокоточную модель на размеченных данных. Сделать предсказания на неразмеченных данных. Отобрать наиболее уверенные предсказания как псевдо-метки и добавить их к обучающим данным. Обучить новую модель на метках и псевдо-метках. Повторять, пока не наберётся достаточно высокоуверенных псевдо-меток.

    I haven’t come across any papers sharing about semi-supervised learning applied in industry. Nonetheless, it’s frequently used in Kaggle competitions (e.g., pseudo-labels from the test dataset added as training data). Here’s an example of a 4th place submission using semi-supervised learning on audio tagging. (Also see this Google paper on how adversaries can “poison” unlabeled samples and cause models trained via semi-supervised labels to misclassify.

    Мне не попадались статьи о применении полу-обучения в индустрии. Тем не менее, оно часто используется на соревнованиях Kaggle (например, псевдо-метки из тестового датасета добавляются как обучающие данные). Вот пример решения, занявшего 4-е место с применением полу-обучения для тегирования аудио. (Также см. статью Google о том, как злоумышленники могут «отравить» неразмеченные примеры и заставить модели, обученные через полу-обучение, ошибаться в классификации.)

    Active learning: Find samples for human-in-the-loop

    Активное обучение: поиск примеров для human-in-the-loop

    In active learning, we select the most “interesting” unlabeled samples for labeling via human-in-the-loop (HITL). One way to identify such samples is uncertainty sampling, where samples with the highest uncertainty in model predictions are selected. For example, if the model is a binary classifier, uncertainty sampling selects samples where the predicted probability is close to 0.5. Query-by-committee extends uncertainty sampling with multiple models—samples that models disagree on are considered the most informative and selected.

    При активном обучении мы отбираем наиболее «интересные» неразмеченные примеры для разметки через human-in-the-loop (HITL). Один из способов их идентификации — uncertainty sampling, при котором выбираются примеры с максимальной неопределённостью в предсказаниях модели. Например, если модель — бинарный классификатор, uncertainty sampling выбирает примеры, для которых предсказанная вероятность близка к 0.5. Query-by-committee расширяет uncertainty sampling несколькими моделями: примеры, по которым модели расходятся, считаются наиболее информативными и выбираются.

    Another approach is information density, where points that are most uncertain and representative of the data distribution are selected. Assume we have two samples that have similar uncertainty. One has many samples close to it, while the other is an outlier. In this case, we would pick the sample that has other samples close to it.

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

    While point A has highest uncertainty, B has a mix of uncertainty and information density (source)

    У точки A максимальная неопределённость, у B — сочетание неопределённости и information density (источник)

    Doordash shared how they used active learning and HITL to overcome the cold-start problem for menu item tagging. First, they created some seed data using a simple, high-precision classifier to select samples for annotation—samples were selected with a higher probability threshold. They also shared about using unsupervised semantic embeddings to identify ambiguous samples for annotation. Nonetheless, it’s unclear how they trained the classifier (without labeled data), or how the semantic embeddings were used to select annotation samples—if you have more details, please reach out.

    DoorDash рассказали, как они использовали активное обучение и HITL, чтобы преодолеть проблему холодного старта при тегировании пунктов меню. Сначала они создали стартовые данные с помощью простого высокоточного классификатора для отбора примеров на аннотирование — отбирались примеры с более высоким порогом вероятности. Они также упомянули использование unsupervised семантических эмбеддингов для выявления неоднозначных примеров. Тем не менее, неясно, как именно тренировался классификатор (без размеченных данных) и как семантические эмбеддинги использовались для отбора — если у вас есть детали, напишите автору.

    Doordash's active learning workflow, with automated steps in green and HITL steps in red (source)

    Workflow активного обучения в DoorDash: автоматические шаги выделены зелёным, HITL-шаги — красным (источник)

    Data augmentation was then applied to the seed data by identifying unlabeled samples close to the labeled samples (in terms of edit distance and embedding cosine similarity) and added as training data. They also used random text augmentation by varying sentence order in item description and randomly remove information (e.g., menu categories). A ratio of 100 synthetic samples to one labeled sample was used for training.

    Затем к стартовым данным применялась аугментация данных: находились неразмеченные примеры, близкие к размеченным (по edit distance и косинусной близости эмбеддингов), и добавлялись в обучающую выборку. Также использовалась случайная текстовая аугментация — варьировался порядок предложений в описании пункта и случайно удалялась информация (например, категории меню). При обучении использовалось соотношение 100 синтетических примеров на один размеченный.

    Single-layer, multi-class LSTMs with FastText word embeddings were trained for each attribute group (e.g., regional cuisine style, flavor). Inputs included item names, menu categories, and full-text descriptions. They also tried multi-task models but found that they underperformed as sampling didn’t preserve actual tag distribution and there were too few samples to only train on labeled data. Nonetheless, as more labeled data was collected, the performance of multi-task models improved.

    Для каждой группы атрибутов (например, региональная кухня, вкус) обучались однослойные многоклассовые LSTM с FastText word embeddings. На вход подавались названия пунктов, категории меню и полнотекстовые описания. Они также пробовали multi-task модели, но те показали себя хуже — сэмплирование не сохраняло реальное распределение тегов, а данных было слишком мало для обучения только на размеченных. Тем не менее, по мере накопления размеченных данных производительность multi-task моделей улучшалась.

    To select more samples for annotation, they focused on precision and recall. To improve precision, they selected samples similar to those where the model prediction conflicted with the annotator label. To improve recall, they used the model to predict on the unlabeled dataset and select samples that the model had low confidence on. The selected samples were sent to Mechanical Turk for a first pass; the more ambiguous samples were then sent to professional annotators for a second pass.

    Для отбора большего числа примеров на аннотирование они ориентировались на precision и recall. Для улучшения precision выбирались примеры, похожие на те, где предсказание модели расходилось с меткой аннотатора. Для улучшения recall модель предсказывала на неразмеченных данных, и выбирались примеры с низкой уверенностью. Отобранные примеры отправлялись на Mechanical Turk для первого прохода; более неоднозначные — профессиональным аннотаторам для второго прохода.

    The primary metric used in label verification was cross-rater agreement. Nonetheless, they also measured annotation agreement between different vendors to assess for systematic bias. In addition, they used annotated samples to build a small set of “golden” data which had high-confidence labels. Then, when onboarding new annotators, they mixed in the golden data to check if the baseline precision met their requirements.

    Основной метрикой при верификации меток было межоценщицкое согласие. Они также измеряли согласие между разными вендорами для оценки систематического смещения. Кроме того, из аннотированных примеров формировался небольшой набор «золотых» данных с высокоуверенными метками. При онбординге новых аннотаторов золотые данные подмешивались, чтобы проверить, соответствует ли базовая precision требованиям.

    Facebook added a twist to active learning by including similarity search as a filter (Similarity Search for Efficient Active Learning and Search aka SEALS). They shared that, data is often heavily skewed, with only a small fraction of the data being relevant (ie., 1 in 1,000 or more). Thus, they use nearest neighbors on positive labels before active learning. Using nearest neighbors as a filter reduces the number of unlabeled samples to consider in the active learning step and increases annotation efficiency.

    Facebook добавил к активному обучению поиск по похожести в качестве фильтра (Similarity Search for Efficient Active Learning and Search, или SEALS). Они отметили, что данные часто сильно перекошены — релевантна лишь малая доля (например, 1 из 1 000 или меньше). Поэтому перед активным обучением они применяют nearest neighbors к положительным меткам. Использование nearest neighbors как фильтра уменьшает число рассматриваемых неразмеченных примеров и повышает эффективность аннотирования.

    They tested this with ImageNet and OpenImages datasets. On ImageNet, they showed that SEALs performed similarly to baseline approaches that had full supervision (i.e., full labeled data) with only 2,000 labels per concept.—this was only 5% of the total samples in the candidate annotation pool. On OpenImages, they were able to match active learning approaches while only considering a fraction of the data.

    Они проверили это на датасетах ImageNet и OpenImages. На ImageNet SEALS показал результаты, сопоставимые с базовыми подходами с полным supervision (то есть с полной разметкой), при всего 2 000 меток на концепт — лишь 5% от общего числа кандидатов на аннотирование. На OpenImages им удалось сопоставить активное обучение, рассматривая лишь часть данных.

    Nearest neighbors allowed similar performance (as active learning) with 2 - 15% of data (source)

    Nearest neighbors обеспечил сопоставимую с активным обучением производительность при 2–15% данных (источник)

    Weak supervision: Get lots of lower-quality labels fast

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

    Weak supervision blends knowledge from multiple data sources to quickly get lots of labels efficiently, albeit at a lower quality. Sources include labeling functions that formalize heuristics via regex or aggregated statistics (i.e., data programming), or existing resources such as knowledge bases, alternative datasets, or pre-trained models. While labels from weak supervision may not be as accurate as hand-labeled data, they’re good enough to obtain decent performance.

    Слабое обучение комбинирует знания из нескольких источников данных, чтобы быстро и эффективно получить много меток, хотя и более низкого качества. Источники включают labeling functions, формализующие эвристики через regex или агрегированную статистику (data programming), а также готовые ресурсы — базы знаний, альтернативные датасеты или предобученные модели. Хотя метки от слабого обучения могут быть менее точными, чем размеченные вручную, их качества достаточно для приличной производительности.

    Google shared how they applied weak supervision via Snorkel DryBell. It uses labeling functions that take in data points and either return a label or abstain. Labeling functions can be used to operationalize heuristics about the data source or content. They can also be based on internal models (e.g., internally developed topic models, named-entity recognizers) or graphs (e.g., user knowledge or entity graphs to derive labels). Here’s an example labeling function template.

    Google рассказали, как они применили слабое обучение через Snorkel DryBell. Система использует labeling functions, которые принимают точки данных и либо возвращают метку, либо воздерживаются. Labeling functions могут операционализировать эвристики об источнике или содержании данных. Они также могут опираться на внутренние модели (например, разработанные внутри topic models, named-entity recognizers) или графы (например, пользовательские графы или графы сущностей для извлечения меток). Вот пример шаблона labeling function.

    Template labeling function written in C++ (source)

    Шаблон labeling function на C++ (источник)

    Then, a generative model is used to estimate the accuracies of the various functions based on their observed agreements and disagreements. These accuracies are then used to re-weight and combine labels across labeling functions.

    Затем используется генеративная модель для оценки точности различных функций на основе наблюдаемых согласий и расхождений между ними. Эти оценки используются для повторного взвешивания и комбинирования меток от разных labeling functions.

    Here’s an overview of Snorkel DryBell. Developers write labeling functions based on heuristics, existing models (e.g., internal NLP, topic models), or organization resources (e.g., knowledge graphs). Snorkel DryBell then applies these labeling functions on unlabeled examples before loading the output and labeling functions into a generative model. The model then combines them and returns probabilistic labels for use in production systems.

    Вот обзор Snorkel DryBell. Разработчики пишут labeling functions на основе эвристик, существующих моделей (например, внутренние NLP- и topic-модели) или ресурсов организации (например, графы знаний). Snorkel DryBell применяет эти функции к неразмеченным примерам, затем их выход и сами функции подаются в генеративную модель. Модель комбинирует их и возвращает вероятностные метки для использования в продакшен-системах.

    An overview of Snorkel Drybell outline in dashed blue lines (source)

    Обзор Snorkel DryBell, выделенный синими пунктирными линиями (источник)

    It was adopted in two use cases, one for topic classification and one for product classification. For topic classification, a developer wrote 10 labeling functions to apply heuristics based on the linked URL (URL-based), custom named-entity recognition models (NER-tagger-based), and internal topic models (topic model-based). For product classification, they used eight labeling functions based on keywords in the content (keyword-based), translations of keywords in 10 languages via the knowledge graph (graph-based), and semantic models to identify content unrelated to product categories of interest (model-based).

    Система использовалась в двух кейсах: классификация тем и классификация продуктов. Для классификации тем разработчик написал 10 labeling functions с эвристиками на основе связанного URL (URL-based), кастомных моделей named-entity recognition (NER-tagger-based) и внутренних topic models (topic model-based). Для классификации продуктов использовалось восемь функций на основе ключевых слов в контенте (keyword-based), переводов ключевых слов на 10 языков через граф знаний (graph-based) и семантических моделей для отсева контента, не связанного с интересующими категориями продуктов (model-based).

    In both cases, Snorkel DryBell had higher predicted accuracy than data trained directly on a small, hand-labeled development set (which was also used to formulate labeling functions, hyperparameter tuning, etc.) To match the performance of Snorkel DryBell, it required 80k hand-labeled samples for topic classification and 12k hand-labeled samples for product classification.

    В обоих кейсах Snorkel DryBell имел более высокую предсказанную точность, чем модели, обученные напрямую на небольшом размеченном вручную dev-сете (который также использовался для формулирования labeling functions, подбора гиперпараметров и т.д.). Чтобы сравняться с производительностью Snorkel DryBell, потребовалось бы 80 000 размеченных вручную примеров для классификации тем и 12 000 — для классификации продуктов.

    Apple also shared a similar system (Overton). When new features are created or quality bugs are identified, engineers can provide additional supervision via data programming or other heuristics. Lineage for each source of information is also tracked. They also shared that there are production systems with no traditional supervised training data, which is important for privacy-conscious applications.

    Apple также представила похожую систему (Overton). Когда создаются новые признаки или выявляются качественные баги, инженеры могут добавить дополнительный supervision через data programming или другие эвристики. Также отслеживается lineage каждого источника информации. Они отметили, что есть продакшен-системы вообще без традиционных размеченных обучающих данных, что важно для приложений, чувствительных к приватности.

    There are also other examples of weak supervision in the wild, such as IBM’s bootstrapping of conversational agents and Intel’s weak supervision on imbalanced extraction problems. Facebook also shared about dialogue learning with human-in-the-loop.

    Есть и другие примеры слабого обучения в индустрии: бутстрэппинг conversational-агентов в IBM и слабое обучение на несбалансированных задачах извлечения в Intel. Facebook также рассказал о диалоговом обучении с human-in-the-loop.

    Also critical: Labeling guidelines & creative thinking

    Также критично: инструкции по разметке и креативное мышление

    An under-appreciated aspect of gathering labeled data is defining labeling guidelines. While tasks such as labeling porn or hate speech might be relatively straightforward, how would you define labeling guidelines for COVID-19 misinformation? It might blend truth about COVID-19 with misinformation about vaccines, or could be nuanced with sarcasm. Even Tesla, which probably has one of the most sophisticated data labeling systems to support Autopilot, hasn’t worked out all the kinks.

    Недооценённый аспект сбора размеченных данных — определение инструкций по разметке. Хотя такие задачи, как разметка порнографии или языка ненависти, могут быть относительно прямолинейны, как определить инструкции для дезинформации о COVID-19? Она может смешивать правду о COVID-19 с ложью о вакцинах или быть нюансированной сарказмом. Даже Tesla, у которой одна из самых продвинутых систем разметки данных для поддержки Autopilot, не решила все проблемы.

    Even after 4 years I still haven't "solved" labeling workflows. Labeling, QA, Final QA, auto-labeling, error-spotting, diversity massaging, labeling docs + versioning, ppl training, escalations, data cleaning, throughput & quality stats, eval sets + categorization & boosting, ...

    — Andrej Karpathy (@karpathy) July 8, 2021

    Даже спустя 4 года я так и не «решил» воркфлоу разметки. Разметка, QA, финальный QA, авто-разметка, поиск ошибок, балансировка разнообразия, документация и версионирование, обучение людей, эскалации, чистка данных, статистика throughput и качества, eval-сеты + категоризация и boosting, ... — Andrej Karpathy (@karpathy) 8 июля 2021

    DoorDash shared some tips to develop good labeling guidelines for tags, such as:

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

  • Ensure tags are mutually exclusive (i.e., no overlap): This allows annotators to move on if a sample already has a tag and reduces annotation volume.
  • Partition taxonomy at the top level by distinct attributes (e.g., regional cuisine style, flavor, etc.): This allows parallelization of annotation tasks.
  • Ensure there’s a tag for “Other” at each level: This allows you to revisit the “Other” tags to improve granularity in future (instead of having to go through all tags).
  • Ensure tags are objective: Tags such as “popular” or “convenient” are subjective and can change over time.
  • Сделать теги взаимоисключающими (без пересечений): это позволяет аннотаторам переходить дальше, если у примера уже есть тег, и снижает объём разметки. Разделить таксономию на верхнем уровне по различным атрибутам (например, региональная кухня, вкус и т.д.): это позволяет распараллеливать задачи аннотирования. Обеспечить наличие тега «Другое» на каждом уровне: это позволит позже пересмотреть «Другое» и улучшить гранулярность (вместо прохода по всем тегам). Сделать теги объективными: теги вроде «популярный» или «удобный» субъективны и могут меняться со временем.

    It also helps to think beyond HITL labeling or semi/active/weak supervision. Try searching for labels creatively in the user data. If we’re trying to tag books with various attributes based on their content (e.g., Russia, Fae, etc), examine how users organize their bookshelves on GoodReads. These bookshelf names can be used as weak labels to seed tags.

    Также полезно мыслить шире, чем HITL-разметка или полу-/активное/слабое обучение. Попробуйте креативно искать метки в пользовательских данных. Если мы хотим разметить книги по различным атрибутам по их содержанию (например, Россия, Fae и т.д.), посмотрите, как пользователи организуют свои книжные полки на GoodReads. Названия этих полок можно использовать как weak-метки для затравки тегов.

    Alternatively, we can start with approaches that don’t require user data. How do we build semantic search without user interaction labels? One way is to start with lexical approaches such as BM25 or whatever’s available in ElasticSearch or Solr. Once deployed, we can then collect user interaction data (e.g., clicks, purchases) on search results, which can then be used as labels for semantic search models.

    Альтернативно — можно начать с подходов, не требующих пользовательских данных. Как построить семантический поиск без меток взаимодействия пользователей? Один из вариантов — начать с лексических подходов, таких как BM25 или того, что доступно в ElasticSearch или Solr. После запуска можно собирать данные о пользовательских взаимодействиях (например, клики, покупки) по результатам поиска, и использовать их как метки для моделей семантического поиска.

    Other approaches to consider include crowdsourcing from users (e.g., thumbs up/down on recommendations or search results), synthetic data generation (e.g., VAEs, GANs), label propagation via graphs, or transfer learning using models trained on other tasks.

    Другие подходы для рассмотрения: краудсорсинг от пользователей (например, лайки/дизлайки рекомендаций или результатов поиска), генерация синтетических данных (например, VAEs, GANs), label propagation через графы или transfer learning с использованием моделей, обученных на других задачах.

    How to bootstrap labels at various stages of maturity

    Как бутстрэпить метки на разных стадиях зрелости

    Getting labels for machine learning systems seems more art than science. There’s no straightforward step-by-step and it’ll vary based on intended use (e.g., customer-facing labels have higher requirements than internal labels) and data type (e.g., potential fraud events, chatbot dialogue, self-driving video). Nonetheless, here’s a rough heuristic on when to apply which technique depending on the maturity of your ML systems.

    Получение меток для систем машинного обучения — скорее искусство, чем наука. Не существует прямолинейного пошагового рецепта; всё зависит от назначения (например, у пользовательских меток требования выше, чем у внутренних) и типа данных (например, события возможного мошенничества, диалоги чат-бота, видео для self-driving). Тем не менее, вот примерная эвристика — когда какой подход применять в зависимости от зрелости ML-систем.

    In the earliest stage, we can adopt weak supervision. This can include labeling functions via keyword-based regex, statistical aggregations, knowledge graphs, user segmentation, etc. If necessary, we can apply HITL to verify the labels before using high-confidence labels to train models.

    На самой ранней стадии можно применять слабое обучение. Сюда входят labeling functions на основе keyword-based regex, статистических агрегаций, графов знаний, сегментации пользователей и т.д. При необходимости можно применять HITL для верификации меток, прежде чем использовать высокоуверенные метки для обучения моделей.

    With some seed data, we can then adopt semi-supervised learning. We can train a high precision model to predict on unlabeled samples, then add the pseudo-labels with the highest confidence to the training data. Or we can try active learning (e.g., nearest neighbors + uncertainty sampling/information density) to identify labels with the highest uncertainty for HITL before adding it to the dataset.

    С наличием стартовых данных можно перейти к полу-обучению. Можно обучить высокоточную модель для предсказаний на неразмеченных примерах, затем добавить псевдо-метки с наивысшей уверенностью в обучающую выборку. Или попробовать активное обучение (например, nearest neighbors + uncertainty sampling/information density) для выявления меток с наибольшей неопределённостью для HITL перед добавлением в датасет.

    Finally, in the late stage, our machine learning systems and policies would have matured. Here’s where we start to get a stream of good labels for model training, and can try more sophisticated models that require a large number of labels. These models may eventually be strong enough for auto-decisioning, with the lowest confidence predictions being sent to HITL for confirmation.

    Наконец, на поздней стадии ML-системы и политики уже зрелые. Здесь начинается поток качественных меток для обучения, и можно пробовать более сложные модели, требующие большого количества меток. Эти модели в конечном счёте могут стать достаточно сильными для авто-принятия решений, а предсказания с наименьшей уверенностью будут отправляться в HITL на подтверждение.

    Also consider the maturity of the labels. Even in mature ML systems, we might not be able to use the labels immediately as they can change over time. For example, the purchase that counted towards conversion might be returned within the 14-day return window, or that initially legitimate transaction might turn out to be fraudulent. Using premature or incorrect labels can lead to vicious cycle feedback loops, where the model learns from invalid labels and makes prediction errors that exacerbate ground truth errors.

    Также учитывайте зрелость самих меток. Даже в зрелых ML-системах метки нельзя использовать сразу — они могут меняться со временем. Например, покупка, засчитанная как конверсия, может быть возвращена в течение 14-дневного окна возврата, а изначально легитимная транзакция может оказаться мошеннической. Использование преждевременных или некорректных меток ведёт к порочным петлям обратной связи: модель учится на неверных метках и делает ошибки предсказания, которые усугубляют ошибки ground truth.

    Did I miss any key techniques for bootstrapping labels? Please reach out and let me know!

    Пропустил ли я какие-то ключевые техники бутстрэппинга меток? Напишите мне и расскажите!

    Many machine learning papers and tutorials start from labeled datasets. But what if we don't have labels? How do we collect them?

    Here we discuss semi-supervised learning, active learning, and weak supervision to bootstrap labels for your ML system.https://t.co/RvsgXCFlIK

    — Eugene Yan (@eugeneyan) August 4, 2021

    Многие статьи и туториалы по машинному обучению стартуют с размеченных датасетов. Но что, если меток нет? Как их собрать? Здесь мы обсуждаем полу-обучение, активное обучение и слабое обучение для бутстрэппинга меток для вашей ML-системы. https://t.co/RvsgXCFlIK — Eugene Yan (@eugeneyan) 4 августа 2021

    Thanks to Lim Wen Qing and Nihit Desai for pointing me to great resources. Also thanks to Nihit Desai and Samuel Flender for providing feedback.

    Спасибо Lim Wen Qing и Nihit Desai за указание на отличные ресурсы. Также спасибо Nihit Desai и Samuel Flender за обратную связь.

    If you found this useful, please cite this write-up as:

    Если статья оказалась полезной, цитируйте её так:

    Yan, Ziyou. (Aug 2021). Bootstrapping Labels via ___ Supervision & Human-In-The-Loop. eugeneyan.com. https://eugeneyan.com/writing/bootstrapping-data-labels/.

    Yan, Ziyou. (Aug 2021). Bootstrapping Labels via ___ Supervision & Human-In-The-Loop. eugeneyan.com. https://eugeneyan.com/writing/bootstrapping-data-labels/.

    or

    или

    @article{yan2021labeling, title = {Bootstrapping Labels via ___ Supervision & Human-In-The-Loop}, author = {Yan, Ziyou}, journal = {eugeneyan.com}, year = {2021}, month = {Aug}, url = {https://eugeneyan.com/writing/bootstrapping-data-labels/} }

    @article{yan2021labeling, title = {Bootstrapping Labels via ___ Supervision & Human-In-The-Loop}, author = {Yan, Ziyou}, journal = {eugeneyan.com}, year = {2021}, month = {Aug}, url = {https://eugeneyan.com/writing/bootstrapping-data-labels/} }



    Join 11,800+ readers getting updates on machine learning, RecSys, LLMs, and engineering.

    К 11 800+ читателям, получающим обновления по машинному обучению, RecSys, LLM и инженерии.