Часть I. Общий обзор самоконтроля

В настоящее время вся цифровая вселенная приближается к 44 зеттабайтам, и, по оценкам, к 2025 году каждый день будет генерироваться 463 эксабайта данных. Можете ли вы представить, сколько USB-накопителей емкостью 64 ГБ вам нужно для хранения этого количества? 7 миллиардов миллионов! Однако был обработан только небольшой (очень небольшой) процент этих данных, и еще меньший процент был отмечен. Помеченные данные относятся к данным, которые были помечены информативной меткой, чтобы модель машинного обучения (ML) могла удовлетворить бизнес-требования, изучая шаблоны меток. Например, если у нас есть данные о транзакциях в финансовой службе, мы можем указать, является ли каждая транзакция мошеннической. Ярлыки важны, поскольку они используются в качестве основного сигнала для обучения алгоритмов контролируемого машинного обучения, которые являются наиболее часто используемыми моделями компаниями в производственной среде. К сожалению, процесс изготовления этикеток, известный как аннотации, обычно дорог и очень сложен (иногда невозможен), поскольку требует ручной проверки специалистами в той области, которую вы решаете. Таким образом, даже несмотря на то, что данные есть повсюду, маркированные данные являются одним из самых дефицитных товаров для специалистов по данным. В результате довольно часто бывает только несколько помеченных образцов, когда задача прогнозирования очень адаптирована к вашему бизнесу.

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

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

Несмотря на то, что это сообщение в блоге сосредоточено на приложениях самоконтроля к табличным данным, эта горячая тема значительно продвинулась в других областях, таких как обработка естественного языка (NLP), компьютерное зрение (CV) и нейронные сети с графическими изображениями (GNN). Фактически, в нескольких работах по языковым моделям этот метод использовался еще до того, как был популяризирован термин самостоятельное обучение. Популяризация термина самостоятельное обучение началась после публикации знаменитой статьи Word2Vec, разработанной Миколовым и соавт. В этой статье они сформулировали подход непрерывного набора слов , который в основном направлен на предсказание слова в середине из окна окружающих контекстных слов. Обратите внимание, что самоконтроль в этой работе обеспечивается тем фактом, что среднее слово уже известно нам для каждого окна в тексте. Таким образом, мы можем обучить любую контролируемую модель без дополнительных усилий. Замечательный успех самоконтроля в задаче НЛП вдохновил нескольких исследователей в области CV, которые предложили несколько интересных предлоговых задач, таких как раскрашивание изображения, решение головоломок, рисование и другие. Совсем недавно идея самоконтроля привлекла внимание в нескольких неструктурированных данных, таких как нейронные сети графов, которые приводят к удивительным приложениям - следите за обновлениями, поскольку мы скоро опубликуем запись о самоконтроле, применяемом к графам.

Чтобы дать вам лучшее представление о подходе к обучению с самоконтролем, применяемому к табличным данным, давайте представим сквозной пример с реальными бизнес-данными. Прежде всего, давайте вспомним пример прогнозирования возраста: мы хотели бы знать возраст для всех пользователей, но только 34% активных пользователей указали свой возраст. Обратите внимание, что у вас есть много богатых / информативных данных для всех пользователей (например, в Rappi у нас есть продавцы, которых заказал пользователь, стоимость покупки, склонен ли пользователь к скидкам и т. Д.), Чтобы вы могли создать сигнал самоконтроля из этих данных. Возможной стратегией самоконтроля может быть создание известного шума для некоторых случайных величин во входных данных и обучение предлоговой задаче, которая предсказывает, какие переменные были повреждены, и которая восстанавливает реальное значение функции. Обратите внимание, что для того, чтобы узнать, какие переменные были повреждены, модель предлога должна создать надежное встраивание поведения пользователя. Затем мы могли бы использовать встраивание, полученное с помощью предлоговой задачи, в качестве входных данных для последующей задачи, которая предсказывает возраст на основе встраивания предлога. Более того, обратите внимание, что эту последующую модель легче обучить, чем модель, которая прогнозирует возраст по необработанным характеристикам, потому что кодировщик предлогов встроил основные характеристики входных данных.

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

Выражение признательности: Ана М. Кинтеро Осса