Файл: 5 тарау. Кп абатты перцептрондар.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 22.11.2023

Просмотров: 132

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


Ковариантный сдвиг

Среди категорий сдвига распределения ковариантный сдвиг может быть наиболее изученным. Здесь мы предполагаем, что, хотя распределение входных данных может меняться со временем, функция маркировки, то есть условное распределение P (y | x), не изменяется. Статистики называют это ковариантным сдвигом, потому что проблема возникает из-за сдвига в распределении ковариант (признаков). Хотя иногда мы можем рассуждать о сдвиге распределения, не прибегая к причинно-следственной связи, мы отмечаем, что ковариантный сдвиг - это естественное допущение, которое следует вызывать в условиях, когда мы считаем, что x вызывает y.

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

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

Label Shift

Сдвиг метки описывает обратную проблему. Здесь мы предполагаем, что маргинальное значение метки P (y) может измениться, но классово-условное распределение P (x | y) остается фиксированным во всех областях. Сдвиг метки - это разумное предположение, когда мы считаем, что y вызывает x., например, мы можем захотеть предсказать диагнозы с учетом их симптомов (или других проявлений), даже если относительная распространенность диагнозов со временем меняется. Сдвиг метки здесь является уместным предположением, потому что болезни вызывают симптомы. В некоторых вырожденных случаях предположения о сдвиге метки и ковариантном сдвиге могут выполняться одновременно. Например, если метка является детерминированной, предположение ковариантного сдвига будет выполнено, даже если y вызывает x. Интересно, что в этих случаях часто бывает выгодно работать с методами, вытекающими из предположения о смене метки. Это связано с тем, что эти методы, как правило, включают манипулирование объектами, которые выглядят как метки (часто низкоразмерные), в отличие от объектов, которые выглядят как входные данные, которые при глубоком обучении имеют тенденцию быть многомерными.


Концептуальный сдвиг

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

Если бы мы создали систему машинного перевода, распределение P (y | x) могло бы отличаться в зависимости от нашего местоположения. Эту проблему бывает сложно обнаружить. Мы могли бы надеяться использовать знания о том, что сдвиг происходит постепенно, во временном или географическом смысле.

      1. Примеры сдвига распределения

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

Медицинская диагностика

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

Распределения, которые привели к тренировочным данным, и те, с которыми вы столкнетесь в дикой природе, могут значительно отличаться. Это случилось с неудачным стартапом, с которым некоторые из нас (авторов) работали много лет назад. Они разрабатывали анализ крови на заболевание, которое преимущественно поражает пожилых мужчин, и надеялись изучить его, используя образцы крови, взятые у пациентов. Однако получить образцы крови у здоровых мужчин значительно сложнее, чем у больных, уже находящихся в системе. Чтобы компенсировать это, стартап запросил донорство крови у студентов университетского городка, чтобы они могли служить здоровым контролем при разработке своего теста. Затем они спросили

, можем ли мы помочь им в создании классификатора для выявления болезни.

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

Самоходные автомобили

Допустим, компания хотела использовать машинное обучение для разработки беспилотных автомобилей. Одним из ключевых компонентов здесь является придорожный детектор. Поскольку получение реальных аннотированных данных обходится дорого, у них возникла (умная и сомнительная) идея использовать синтетические данные из движка рендеринга игр в качестве дополнительных обучающих данных. Это действительно хорошо сработало на «тестовых данных», взятых из движка рендеринга. Увы, в реальной машине это была катастрофа. Как оказалось, обочина дороги была визуализирована с очень упрощенной текстурой. Что еще более важно, вся обочина была визуализирована с одинаковой текстурой, и придорожный детектор очень быстро узнал об этой «особенности».

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


Нестационарные распределения

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

  • Мы обучаем вычислительную рекламную модель, а затем не можем часто ее обновлять (например, мы забываем указать, что только что было выпущено малоизвестное новое устройство под названием iPad).

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

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

Еще анекдоты

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

  • Мы создаем поисковую систему для рынка США и хотим развернуть ее в Великобритании.

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



      1. Корректировка сдвига распределения

Как мы уже говорили, существует много случаев, когда обучающее и тестовое распределения P (x, y) различны. В некоторых случаях нам везет, и модели работают, несмотря на изменение ковариации, метки или концепции.

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

Эмпирический риск и истинный риск


Давайте сначала поразмышляем о том, что именно происходит во время обучения модели: мы перебираем функции и связанные метки обучающих данных {(x1, y1),. , , , (xn, yn)} и обновите параметры модели f после каждой мини-партии. Для простоты мы не рассматриваем регуляризацию, поэтому в значительной степени минимизируем потери на обучение:

minimizef 1/n ∑ni=1 l(f(xi), yi), (5.9.1)

где l - функция потерь, измеряющая «насколько плохой» прогноз f (xi), которому присвоена соответствующая метка yi. Статистики называют термин в (5.9.1) эмпирическим риском. Эмпирический риск - это средняя потеря по обучающим данным для аппроксимации истинного риска, который представляет собой ожидание потерь по всей совокупности данных, взятых из их истинного распределения p (x, y):

Ep(х, у) [l (f (x), y)] = ∫ ∫ l (f (x), y) p (x, y) dxdy. (5.9.2)

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

Коррекция ковариантного сдвига

Предположим, что мы хотим оценить некоторую зависимость P (y | x), для которой мы пометили данные (xi, yi).

К сожалению, наблюдения xi взяты из некоторого исходного распределения q(x), а не целевого распределения p (x). К счастью, предположение о зависимости означает, что условное распределение не меняется: p (y | x) = q(y | x). Если исходное распределение q (x) является «неправильным», мы можем исправить это, используя следующую простую идентификацию в истинном риске:

∫ ∫ l (f (x), y) p (y | x) p (x) dxdy =

∫ ∫ l (f (x), y) q (y | x) q (x) р (х)/q (х)dхdу. (5.9.3)
Другими словами, нам нужно повторно взвесить каждую точку данных по отношению вероятности того, что она была бы получена из правильного распределения к вероятности из неправильного:

βi def = р (хi)/q (xi), (5.9.4)

Добавляя вес βi для каждой точки данных (xi, yi), мы можем обучить нашу модель, используя взвешенную минимизацию эмпирического риска:

minimizef 1/n ∑ni=1 βi l(f (xi), yi). (5.9.5)

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