Архитектура, помогающая бороться с переоснащением и неопределенностью модели.

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

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

Все изображения, если не указано иное, принадлежат автору.

Проблема

Переоснащение

Целью классификации под наблюдением является моделирование взаимосвязи между входным пространством и пространством меток, как правило, с учетом обучающего набора данных пар входных данных и меток (например, научиться классифицировать изображения животных по правильным категориям).

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

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

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

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

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

Две формы шума этикеток

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

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

Шум меток из-за стохастичности является гораздо более тонкой формой шума меток, который возникает, когда проблемная область по своей сути является стохастической. Хорошим примером является проблема диагностики меланомы с помощью изображений. Учитывая дерматоскопическое изображение, не всегда можно с уверенностью сказать, является ли это случаем меланомы. Во многих случаях оптимальным прогнозом для изображения может быть 80% вероятность того, что у пациента меланома, потому что в 20% случаев на том же изображении может быть действительно имитатор доброкачественной меланомы. Однако у нас нет этих платонических вероятностей — наши горячие наборы данных объединяют дерматоскопическое изображение с бинарным сигналом о том, была ли у этого конкретного пациента диагностирована меланома. Этот разрыв между оптимальной 80% вероятностью и 100% достоверной меткой, которую мы получаем, создает этот «стохастический шумовой разрыв». Когда такие задачи определены, мы неявно хотим, чтобы сеть выдавала точную оценку вероятности того, что у пациента будет диагностирована меланома, а не только наиболее вероятный ответ. Этот тип стохастического шума является еще одной формой шума, к которой сеть может адаптироваться.

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

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

В стохастическом случае одно и то же дерматоскопическое изображение может привести к меланоме у одного пациента, но не у другого.

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

Развлекайтесь с гауссианами — визуализируйте ошибки и стохастичность

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

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

Одно из правдоподобных объяснений данных состоит в том, что на самом деле на плоскости есть два очень непересекающихся класса, но есть ошибки в метках набора данных (особенно в средней области, где два класса становятся более похожими). В этом случае «оптимальная» граница решения между двумя классами может выглядеть примерно так:

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

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

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

Обучение 2 учащихся

Архитектура

Короче говоря, парадигма N-Student Learning предполагает обучение многосетевой архитектуре, в которой каждая «студенческая сеть» учится на разных подмножествах набора данных. В ходе обучения каждый учащийся продолжает тренироваться на своем собственном подмножестве, но с заменой некоторых меток на псевдометки из других сетей.

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

Давайте продолжим и опишем простую настройку для двух учащихся.

  1. Разделить обучающий набор данных на две половины
    — D₁ и D₂
  2. Обучайте 2 сети параллельно
    — N₁ и N₂
  3. Разогрейте сети, обучив каждую сеть на соответствующем наборе данных
    — N₁ обучает D₁
    — N₂ обучает D₂
  4. Каждую эпоху обучайте каждую сеть на соответствующем наборе данных, заменяя часть выборок псевдометками, сгенерированными другой сетью.
    – N₁ тренируется на {метках N₂ для D₁}
    – N₂ тренируется на { Метки N₁ для D₂}

Ключевым моментом является то, что каждая сеть когда-либо обучается только на своем собственном наборе данных, поэтому она не может соответствовать набору данных, для которого она генерирует псевдометки. Псевдометки сети 1 для набора данных 2 должны быть очищены от любого шума, зависящего от экземпляра, в D₂. То же самое касается псевдометок N₂ для D₁.

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

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

Больше удовольствия с гауссами — управление неопределенностью

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

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

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

Теперь давайте посмотрим, что произойдет, когда мы обучим две установки с двумя учениками, используя жесткие и стохастические методы псевдомаркировки. Границы мягкого решения для сетей показаны для эпох 10, 200 и 400 (количество итераций обучения), и та же сеть, обученная обычно, будет использоваться в качестве базовой линии (без 2-Student-Setup).

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

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

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

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

N-Student Learning был разработан как часть моей дипломной работы по компьютерным наукам в Университете Брандейса.

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

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

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

Пожалуйста, свяжитесь с нами, если у вас есть какие-либо вопросы об этой работе или предложения о том, как можно объяснить концепции более ясным и доступным способом.