Новый метод ограничения тестовых потерь

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

Предварительные мероприятия

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

Концепция

Наше исходное наблюдение состоит в том, что если модель хорошо подходит для обучающей выборки (т. Е. Имеет низкие потери), она должна уверенно и правильно предсказывать метки классов. Другими словами, гистограмма прогнозов должна быть приблизительно двухрежимной с одним режимом при p = 0 и одним режимом при p = 1.

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

Первый рисунок был сделан с использованием двухслойной нейронной сети со 100 нейронами во входном слое и одним нейроном в выходном слое. Чтобы имитировать чрезмерную подгонку, модель была обучена на синтетических данных с использованием метода make_classification () sklearn с 1000 функций на 10000 выборок. Модель была обучена на 1000 образцах и протестирована на оставшихся 9000. Он быстро достигает точности обучения 100% и потери менее 0,0001. В поддержку моей гипотезы вот как выглядит гистограмма при переключении на немаркированный набор:

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

Получение границ

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

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

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

Поскольку предполагается, что обучающий набор имеет то же распределение классов, что и немаркированный набор, изменение распределения меток при переходе от обучающего набора к немаркированному набору является сигналом того, что точки неправильно помечены, и может использоваться для ужесточения нижняя граница. Пусть M будет минимальным количеством неправильно маркированных точек, N количеством точек в немаркированном наборе, p вероятностью 1-метки в обучающий набор и p ^ hat прогнозируемая вероятность 1-метки на немаркированном наборе. Тогда у нас есть M = N | p - p ^ hat |, и уточненная нижняя граница исходит из предположения, что это M наименее надежных прогнозов (т. Е. Наиболее близких к 0.5), что привело к ошибочной классификации. Это дает новую функцию:

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

Полученные результаты

Для модели плотной нейронной сети, обученной на синтетических данных, описанных мною ранее, границы дают L_min = 0,05 и минимум 29 неправильно помеченных точек (этого недостаточно для уточненной границы L_ tighter , чтобы получилось заметно иначе ). Истинный тестовый проигрыш составляет 1,79, потому что, конечно, на практике предположение о том, что в проигрыше преобладает неопределенность и неплохие ярлыки, нереально. Тем не менее, даже без доступа к ярлыкам тестов, мы пришли к выводу, что потери в тестах должны быть как минимум более чем в 600 раз больше, чем потери в обучении, и что по крайней мере 29 точек будут помечены неправильно. Во многих ситуациях важно знать, что минимальные потери модели недопустимы, прежде чем использовать ее для принятия реальных решений.

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

Связанных с работой

Брек и др. Предлагают искать изменения в распределении функций при переключении между наборами данных. Это, очевидно, очень похоже по духу, но здесь мы явно предположили, что данные для обучения и тестирования взяты из одного и того же распределения и сосредоточены на модели, а не на данных. Ким, Фельдт и Ю² вводят меру того, насколько удивительны отдельные контрольные точки для модели. Эта мера кажется отличной от представленных здесь, и было бы интересно сравнить наши подходы друг с другом. Одним из положительных качеств представленных здесь мер является их исключительная простота расчета и интерпретации. Наконец, Гросс и др. 3 используют вариации в метках предсказанных классов вокруг эпсилон-шаров с центром в непомеченных точках в качестве меры переобучения. Очень привлекательной особенностью их подхода является то, что он обеспечивает локальную поэтапную оценку переобучения. Однако, в отличие от моего подхода, их подход требует подходящей метрики для оценки сходства входных данных, что может быть нетривиальным. В больших измерениях также может оказаться дорогостоящим выполнение логического вывода на достаточном количестве образцов из шара для точного измерения дисперсии предсказанных меток. Насколько мне известно, описанный здесь подход является первым, в котором используются немаркированные данные для непосредственной привязки потерь при тестировании.

Выводы

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

Соответствующий код можно найти в моем репозитории GitHub.

Особая благодарность Рэйчел Крегер, Джейми Гейнер, Эмбер Робертс, Джереми Манн и Николя Чосо за отзывы.

использованная литература

[1] Э. Брек, Н. Полизотис, Р. Стивен, Э. Ван и М. Зинкевич, Проверка данных для машинного обучения (2019), Труды 2-й конференции SysML.

[2] Дж. Ким, Р. Фельдт и С. Ю, Руководство по тестированию систем глубокого обучения с использованием неожиданной адекватности (2019), 41-я Международная конференция по разработке программного обеспечения IEEE / ACM.

[3] К. Гроссе, Т. Ли, Ю. Парк, М. Бэкес и И. Моллой, Новая мера переобучения и ее последствия для бэкдора глубокого обучения, https://arxiv.org/abs /2006.06721