Пакетную структуру для обучения модели ранжирования с контрастными потерями?

#tensorflow #ranking #information-retrieval #loss-function

#tensorflow #Рейтинг #поиск информации #функция потерь

Вопрос:

Как мне выбрать пакет, если я обучаю модель глубокого ранжирования, например. контрастивные потери, когда у меня по запросу 1 положительный документ и 2 отрицательных образца?

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

Данные будут выглядеть следующим образом: https://github.com/NTMC-Community/MatchZoo/blob/master/matchzoo/datasets/toy/train.csv

Теперь, я полагаю, что крайне важно, как создавать пакет, верно? Поскольку для каждого вопроса все соответствующие ответы pos и neg должны содержаться внутри пакета, верно?

Ответ №1:

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

Итак, положительные и отрицательные примеры должны содержаться внутри пакета. И крайне важно выбирать негативы. Но обычно прилагаются усилия для выбора правильных негативов внутри пакета, вместо того, чтобы строить пакеты определенным образом. Этот пост в блоге, объясняющий, как работают потери при ранжировании, может быть полезен https://gombru.github.io/2019/04/03/ranking_loss /