Работа с неправильно маркированными образцами (обучение с зашумленными этикетками)

машинное обучение

1. Co-teaching

image_1eeaarp70ip61scr13dkneglis9.png-59.4kB

На приведенном выше рисунке показано направление потока ошибок трех парадигм обучения.Co-teachingбудет обучать две сети одновременно, на каждом мини-пакете, на каждом выборе сетиR(T)R(T)Процент потерь относительно невелик, и выборка рассматривается какполезные знания(полезные знания), то поставитьполезные знанияОтправьте его в другую сеть, чтобы продолжить обучение. в то время как два другихсаморазвитиеПуть.

Конкретный алгоритм следующий:image_1eeag6lou1n4o1jbugq2an47n716.png-118.2kB

Предположим, что две сетиff(параметрыwfw_fgg(параметрыwgw_g) Создание мини-пакета, итеративное обучениеNmaxN_{max}Второсортный. Выберите тот, у которого наименьшие потери из мини-партииR(T)R(T)Процент выборки, записанный какDˉf\bar{D}_fиDˉw\bar{D}_w, шаги 4, 5. затем обменяться сDˉf\bar{D}_fобучать и обновлятьgg,использоватьDˉw\bar{D}_wобучать и обновлятьff, шаги 6, 7.R(T)R(T)Он уменьшается с шагом обучения, то есть является динамическим и выбирается каждый раз.полезные знаниябудет все меньше и меньше.

В приведенном выше алгоритме есть два важных вопроса, которые необходимо объяснить:

  1. Почему по динамикеR(T)R(T)Может ли отбор образцов с малыми потерями помочь нам найти чистые образцы?
  2. Зачем вам две сети и параметры кросс-обновления?

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

【Ссылаться на:】paper


2. Уверенное обучение

Обучение уверенности в три шага:

  1. Подсчет, расчетная шумовая метка по сравнению с истинной меткойсовместное распределение
  2. Очистить, чтобы очистить образцы ошибок.
  3. Повторное обучение: после очистки отрегулируйте веса категорий выборки и используйте совместное обучение для повторного обучения.

图1

На приведенном выше рисунке показана структура доверительного обучения, Подробно описаны следующие три шага:

1.Count

Определите метку шума какy^\hat{y}, то есть образцы, которые изначально были помечены (возможно, помечены вручную), но могут содержать ошибки. Определите истинную метку какy*y^*, но на самом деле мы не получаем истинную метку, обычноПерекрестная проверка1Оцените истинные этикетки. Общее количество образцов равноnn, общее количество категорий равноmm.

Шаги для оценки совместного распределения следующие:

Наша цель — оценить совместное распределение вероятностейQ^y^,y*\hat{Q}_{\hat{y},y^*}определить категорию шума. Вычислив число в матрице путаницы, а затем исправив количество меток для каждой метки,

  • шаг 1, перекрестная проверка
  1. Во-первых, путем перекрестной проверки вычислить первыйiiобразцы вjjВероятности по каждой категории:P[i][j]P[i][j]
  2. рассчитать каждыйКатегория ручной маркировкиjjсредняя вероятностьt[j]t[j], в видедоверительный порог.
  3. Завершить образецiiнастоящая этикетка. , его истинная меткаy*y^*заjjмаксимальная вероятность среди классовargmaxjP[i][j]argmax_jP[i][j], и должен удовлетворитьP[i][j]P[i][j] > t[j]t[j].
  • step2, вычислить матрицу подсчетаCy^,y*C_{\hat{y},y^*}(аналогично матрице путаницы). Как показано на рисунке 1,Cy^=dog,y=fox*=40C_{\hat{y}=dog,y^=fox*}=40, что указывает на то, что x искусственно помечен как собака, но на самом деле является лисой, и имеется 40 образцов. Алгоритм следующий:

image_1eeheps02s7rj471qononf7av9.png-252.3kB

  • шаг 3, расчетКоррекцияМатрица подсчета, поскольку при расчете на предыдущем шаге есть условие, которое должно быть больше, чем t[j], поэтому матрица подсчетаCy^,y*C_{\hat{y},y^*}и меньше общего числа выборок. Итак, этот шагЦель состоит в том, чтобы сделать сумму подсчетов такой же, как общее количество образцов, помеченных вручную.. в,Xy^=iX_{\hat{y}=i}Представляет аннотированную человеком меткуy^=i\hat{y} = iобщее количество проб.

image_1eehgp5i59431tljgr3ij91gd7m.png-7.4kB

  • Шаг 4: Расчет совместного распределенияQy^,y*Q_{\hat{y},y^*}, то есть разделить приведенный выше результат на общее количество выборок:

image_1eehntrcc1prs1pskvtl17bs1dj923.png-7.1kB

2.Clean

После получения совместного распределения шумовых меток и истинных метокQy^,y*Q_{\hat{y},y^*}, в документе предлагается всего 5 методов фильтрации выборок ошибок:

  • M1:CconfusionC_{confusion}, Выбратьy^!=argmaxiе1,2,...mP[i][j]\hat{y} != argmax_{i\in{1,2,...m}}{P[i][j]}Фильтрация выборки , т.е. для выборкиii, и отфильтруйте, если ручная метка отличается от максимальной метки, предсказанной моделью.
  • M2: выберите матрицу количества конструкцийCy^,y*C_{\hat{y},y^*}При этом пробы, попадающие в диагональную ячейку, фильтруются.
  • M3: Сокращение по классам (PBC), для каждого классаiе1...mi\in{1...m}выберитеn.jе1..m:j!=iCy^=i,y*=j[i]n.\sum_{j\in{1..m:j!=i}}{C_{\hat{y}=i,y^*=j}[i]}отсчетов, где n – общее количество отсчетов, согласноP[i][j]P[i][j]Сортировка, фильтрация по наименьшему количеству баллов.
  • M4:Обрезать по коэффициенту шума (PBNR) , для недиагональных ячеек выберитеn.Qy^=i,y*=jn.Q_{\hat{y}=i,y^*=j}образцы фильтруются в соответствии сP[y^=i]P[\hat{y}=i]-P[y^=j]P[\hat{y}=j]Сортировка, фильтрация по наименьшему количеству баллов.

3.Re-Training

После фильтрации ошибочных выборок по совместному распределениюQy^,y*Q_{\hat{y},y^*}каждая категорияiiПриведенные ниже веса потерь переназначаются следующим образом:1p(y^=iy*=i)=Qy*[i]Qy^,y*[i][i]\frac{1}{p(\hat{y} =i|y^*=i)} = \frac{Q_{y^*}[i]}{Q_{\hat{y},y^*}[i][i]}

в:Qy*[i]=j=i..mQy^,y*[j][i]Q_{y^*}[i]=\sum_{j=i..m}{Q_{\hat{y},y^*}[j][i]}Тогда возьмите фреймворк Co-Teaching для переподготовки.

【Ссылаться на:】cleanlab Ссылка 1

3. Searching to Exploit Memorization Effect in Learning with Noisy Labels

(продолжение следует...)