Включение информации о позиционном смещении в функцию потерь ранжирования с использованием кросс-энтропии в softmax.

Вопрос или проблема

Рассмотрим задачу обучения ранжированию, где я обучаюсь на N элементах, отображаемых пользователю для каждого запроса. Предположим, что я могу количественно оценить вероятность исследования $P[E_i]$ каждой позиции $i$ при условии, что первая позиция была исследована (т.е. относительно первой позиции). Обратная связь от пользователя бинарная – клик / нет клика.

Теперь предположим, что я использую функцию потерь softmax-кроссэнтропии в построчном режиме (не спрашивайте, почему – предположим, что это ограничение в системе) для каждого запроса. Каков был бы ‘правильный’ способ интегрировать информацию о смещении позиции?

Интуитивно, клик на более низкой позиции информативнее, чем клик на более высокой позиции. Поэтому было бы полезно взвешивать потерю обратно пропорционально $P[E_i]$ для клика на позиции $i$. С другой стороны, отсутствие клика на низкой позиции менее информативно, поэтому имеет смысл взвешивать термины внутри soft-max таким образом, чтобы низкая вероятность исследования приводила к меньшему эффекту. Но какие правильные веса? Это неочевидно.

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

NDCG обычно используется как метрика оценки. SoftRank – это версия, которая была адаптирована для использования в качестве функции потерь. Существуют также более современные версии, такие как Weighted Approximate Pairwise Ranking Loss (WARPLoss).

Ответ или решение

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

Учет позиционной предвзятости

Чтобы корректно интегрировать информацию о позиционной предвзятости в функцию потерь софтмакс-кросс-энтропии, можно рассмотреть два основных аспекта:

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

  2. Влияние незакликнутых элементов: Не-клики (или отсутствие клика) на элементах с низкой вероятностью просмотра $P[E_i]$ должны влиять на потери меньше, чем не-клики на более вероятных позициях. Это предполагает, что мы должны уменьшить вес этих значений в расчетах.

Предложение по корректировке функции потерь

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

  1. Расчет DCG:
    [
    DCG = \sum_{i=1}^{N} \frac{rel(i)}{\log_2(i+1)}
    ]
    Здесь $rel(i)$ — это релевантность элемента на позиции $i$, а $\log_2(i+1)$ используется для снижения веса элементов, стоящих на более низких позициях.

  2. Использование Weighted Approximate Pairwise Ranking Loss (WARPLoss):
    WARPLoss может быть адаптирован для учета позиционной предвзятости, добавляя веса, которые обратны вероятности $P[Ei]$. В этом случае потери могут быть пересчитаны следующим образом:
    [
    L
    {i} = -P[E_i] \cdot \log(y_i) \cdot w_i
    ]
    где $w_i = \frac{1}{P[E_i]}$ для кликов и менее значительное значение для не-кликов.

Заключение

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

Оцените материал
Добавить комментарий

Капча загружается...