Лекция
Привет, Вы узнаете о том , что такое обучение ранжированию, Разберем основные их виды и особенности использования. Еще будет много подробных примеров и описаний. Для того чтобы лучше понимать что такое обучение ранжированию, learning to rank, machine-learned ranking, mlr , настоятельно рекомендую прочитать все из категории Обработка естественного языка.
обучение ранжированию (англ. learning to rank или machine-learned ranking , MLR) — это класс задач машинного обучения с учителем, заключающихся в автоматическом подборе ранжирующей модели по обучающей выборке, состоящей из множества списков и заданных частичных порядков на элементах внутри каждого списка. Частичный порядок обычно задается путем указания оценки для каждого элемента (например, «релевантен» или «не релевантен»; возможно использование и более, чем двух градаций). Цель ранжирующей модели — наилучшим образом (в некотором смысле) приблизить и обобщить способ ранжирования в обучающей выборке на новые данные.
Обучение ранжированию — это еще довольно молодая, бурно развивающаяся область исследований, возникшая в 2000-е годы с появлением интереса в области информационного поиска к применению методов машинного обучения к задачам ранжирования.
Применительно к поисковым системам, каждый список представляет собой набор документов, удовлетворяющих некоторому поисковому запросу.
Обучающая выборка состоит из выборки поисковых запросов, подмножества документов, им отвечающим, и оценок релевантности каждого документа запросу. Они могут быть подготовлены как вручную, специально натренированными людьми (оценщиками качества поиска или асессорами), так и автоматически, на основе анализа пользовательских кликов или таких средств поисковых систем, как система SearchWiki поисковой системы Google.
Во время обучения ранжирующей модели и при ее работе, каждая пара документ-запрос переводится в числовой вектор из ранжирующих признаков (также называемых ранжирующими факторами или сигналами), характеризующих свойства документа, запроса и их взаимоотношение. Такие признаки можно разделить на три группы:
Ниже приведены некоторые примеры ранжирующих признаков, использующиеся в широко известном в данной области исследований наборе данных LETOR:
Существует несколько метрик, по которым оценивают и сравнивают качество работы алгоритмов ранжирования на выборке с асессорными оценками. Часто параметры ранжирующей модели стремятся подогнать так, чтобы максимизировать значение одной из этих метрик.
Примеры метрик:
В своей статье «Learning to Rank for Information Retrieval» и выступлениях на тематических конференциях, Тай-Ян Лью из Microsoft Research Asia проанализировал существующие на тот момент методы для решения задачи обучения ранжированию и предложил их классификацию на три подхода, в зависимости от используемого входного представления данных и функции штрафа:
В поточечном подходе (англ. pointwise approach) предполагается, что каждой паре запрос-документ поставлена в соответствие численная оценка. Задача обучения ранжированию сводится к построению регрессии: для каждой отдельной пары запрос-документ необходимо предсказать ее оценку.
В рамках этого подхода могут применяться многие алгоритмы машинного обучения для задач регрессии. Когда оценки могут принимать лишь несколько значений, также могут использоваться алгоритмы для ординальной регрессии и классификации.
В попарном подходе (англ. pairwise approach) обучение ранжированию сводится к построению бинарного классификатора, которому на вход поступают два документа, соответствующих одному и тому же запросу, и требуется определить, какой из них лучше.
Примеры алгоритмов: RankNet, FRank, RankBoost, RankSVM, IR-SVM.
Списочный подход (англ. listwise approach) заключается в построении модели, на вход которой поступают сразу все документы, соответствующие запросу, а на выходе получается их перестановка. Подгонка параметров модели осуществляется для прямой максимизации одной из перечисленных выше метрик ранжирования. Но это часто затруднительно, так как метрики ранжирования обычно не непрерывны и недифференцируемы относительно параметров ранжирующей модели, поэтому прибегают к максимизации неких их приближений или нижних оценок.
Примеры алгоритмов: SoftRank, SVMmap, AdaRank, RankGP, ListNet, ListMLE.
Возможная архитектура поисковой системы с машинным обучением.
Поисковые движки многих современных поисковых систем по Интернету, среди которых Яндекс, Yahoo и Bing, используют ранжирующие модели, построенные методами машинного обучения. Поиск Bing'а использует алгоритм RankNet. Новейший алгоритм машинного обучения ранжированию, разработанный и применяющийся в поисковой системе Яндекс получил название MatrixNet; сама компания Яндекс спонсировала конкурс «Интернет-математика 2009» по построению ранжирующего алгоритма на наборе своих собственных данных.
В интервью в начале 2008 года, Питер Норвиг, директор по исследованиям в компании Google, заявил, что их поисковая система еще не готова окончательно доверить ранжирование алгоритмам машинного обучения, мотивируя это тем, что, во-первых, автоматически созданные модели могут повести себя непредсказуемо на новых классах запросов, не похожих на запросы из обучающей выборки, по сравнению с моделями, созданными людьми-экспертами. Об этом говорит сайт https://intellect.icu . Во-вторых, создатели текущего ранжирующего алгоритма Google уверены в том, что и их модель способна решать задачи более эффективно, нежели чем машинное обучение Первая причина представляет для нас куда более значительный интерес, поскольку она не только восходит к такой известной проблеме индуктивной логики, сформулированной немецким математиком К.Г. Гемпелем и вступающей в противоречие с интуицией (утверждение "все вороны черные" логически эквивалентно тому, что "все нечерные предметы - не вороны"), но и заставляет нас вернуться к ряду нерешенных вопросов Ф.Розенблатта, создавшего первую в мире нейронную сеть, способную к перцепции и формированию отклика на воспринятый им стимул – однослойный персептрон.[ Опираясь на критику элементарного перцептрона Розенблатта, мы можем понять всю уязвимость данной рейтингующей модели, о который нам сообщают специалисты Google: способны ли искусственные системы обобщать свой индивидуальный опыт на широкий класс ситуаций, для которых отклик не был сообщен им заранее? Нет, индивидуальный опыт искусственных систем на практике всегда ограничен и никогда не является полным. Так или иначе, инструментарий машинного обучения позволяет решать проблему спамдексинга с достаточно высокой степенью эффективности.
Ранжирование является центральной частью многих задач поиска информации , таких как поиск документов , совместная фильтрация , анализ настроений и онлайн-реклама .
Возможная архитектура поисковой машины с машинным обучением показана на прилагаемом рисунке.
Данные обучения состоят из запросов и документов, соответствующих им, вместе со степенью релевантности каждого совпадения. Он может быть приготовлен вручную человеческими испытателями (или оценщиками , поскольку Google называет их), которые проверяют результаты для некоторых запросов и определить релевантность каждого результата. Невозможно проверить релевантность всех документов, поэтому обычно используется метод, называемый объединением - проверяются только несколько верхних документов, извлеченных некоторыми существующими моделями ранжирования. В качестве альтернативы обучающие данные могут быть получены автоматически путем анализа журналов переходов (т. Е. Результатов поиска, которые получили клики от пользователей), цепочек запросов , или такие функции поисковых систем, как SearchWiki от Google .
Обучающие данные используются алгоритмом обучения для создания модели ранжирования, которая вычисляет релевантность документов для реальных запросов.
Обычно пользователи ожидают, что поисковый запрос будет выполнен за короткое время (например, несколько сотен миллисекунд для веб-поиска), что делает невозможным оценку сложной модели ранжирования для каждого документа в корпусе, поэтому двухэтапная схема является используемый. Во-первых, небольшое количество потенциально релевантных документов идентифицируется с использованием более простых моделей поиска, которые позволяют быстро оценивать запросы, таких как модель векторного пространства , логическая модель , взвешенное И, или BM25 . Эта фаза называется высшей{\ displaystyle k}поиск документов и многие эвристические методы были предложены в литературе для его ускорения, например, с использованием статической оценки качества документа и многоуровневых индексов. На втором этапе для повторного ранжирования этих документов используется более точная, но затратная с точки зрения вычислений модель машинного обучения.
Алгоритмы обучения ранжированию применялись не только в поиске информации:
Коммерческие поисковые машины начали использовать системы ранжирования с машинным обучением с 2000-х (десятилетие). Одной из первых поисковых систем, начавших использовать ее, была AltaVista (позже ее технология была приобретена Overture , а затем Yahoo ), которая в апреле 2003 года запустила функцию ранжирования с использованием градиентного повышения . [32] [33]
Считается, что поиск Bing основан на алгоритме RankNet [ 34] [ когда? ], который был изобретен в Microsoft Research в 2005 году.
В ноябре 2009 года российская поисковая система Яндекс объявила [35], что она значительно повысила качество поиска благодаря внедрению нового патентованного алгоритма MatrixNet , варианта метода повышения градиента, использующего неявные деревья решений. [36] Недавно они также спонсировали соревнование по ранжированию машинного обучения «Internet Mathematics 2009» [37], основанное на производственных данных их собственной поисковой системы. Yahoo объявила о подобном конкурсе в 2010 году. [38]
В 2008 году Google «S Питер Норвиг отрицал , что их поисковая система исключительно полагается на машины узнал рейтинг. [39] Генеральный директор Cuil , Том Костелло, предполагает, что они предпочитают модели, созданные вручную, потому что они могут превзойти модели с машинным обучением, если сравнивать их с такими показателями, как CTR или время на целевой странице, потому что модели с машинным обучением " узнайте, что люди говорят, что им нравятся, а не то, что им нравится на самом деле ". [40]
В январе 2017 года эта технология была включена в поисковую систему с открытым исходным кодом Apache Solr ™ [41], что сделало ранг поиска с машинным обучением широко доступным также для корпоративного поиска.
Ниже приведен частичный список опубликованных алгоритмов обучения для ранжирования с указанием годов первой публикации каждого метода:
Год | Название | Тип | Примечания |
---|---|---|---|
1989 г. | ОПРФ [16] | точечно | Полиномиальная регрессия (вместо машинного обучения эта работа относится к распознаванию образов, но идея та же) |
1992 г. | SLR [17] | точечно | Поэтапная логистическая регрессия |
1994 г. | NMOpt [18] | список | Неметрическая оптимизация |
1999 г. | MART (деревья множественной аддитивной регрессии) | попарно | |
2000 г. | Ранжирование SVM (RankSVM) | попарно | Более поздняя экспозиция содержится в , где описывается приложение для ранжирования с использованием журналов переходов. |
2002 г. | Шутки [19] | точечно | Порядковая регрессия. |
2003 г. | RankBoost | попарно | |
2005 г. | RankNet | попарно | |
2006 г. | ИК-СВМ | попарно | Ранжирование SVM с нормализацией на уровне запроса в функции потерь. |
2006 г. | LambdaRank | попарно / по списку | RankNet, в которой функция попарных потерь умножается на изменение метрики IR, вызванное свопом. |
2007 г. | AdaRank | список | |
2007 г. | Франк | попарно | На основе RankNet использует другую функцию потерь - потерю верности. |
2007 г. | GBRank | попарно | |
2007 г. | ListNet | список | |
2007 г. | McRank | точечно | |
2007 г. | QBRank | попарно | |
2007 г. | RankCosine | список | |
2007 г. | RankGP [20] | список | |
2007 г. | RankRLS | попарно |
Рейтинг на основе регулярных наименьших квадратов. В [21] эта работа расширена до обучения ранжированию по графам общих предпочтений. |
2007 г. | Карта SVM | список | |
2008 г. | LambdaSMART / LambdaMART | попарно / по списку | В недавнем конкурсе Yahoo Learning to Rank, победившем в конкурсе, использовалось множество моделей LambdaMART. На основе MART (1999) [22] «LambdaSMART» для Lambda-submodel-MART или LambdaMART для случая без подмодели (https://www.microsoft.com/en-us/research/wp-content/uploads /2016/02/tr-2008-109.pdf ). |
2008 г. | ListMLE | список | На основе ListNet. |
2008 г. | PermuRank | список | |
2008 г. | SoftRank | список | |
2008 г. | Уточнение рейтинга [23] | попарно | Полуконтролируемый подход к обучению ранжированию с использованием Boosting. |
2008 г. | SSRankBoost [24] | попарно | Расширение RankBoost для обучения с частично размеченными данными (полу-контролируемое обучение для ранжирования) |
2008 г. | SortNet [25] | попарно | SortNet, алгоритм адаптивного ранжирования, который упорядочивает объекты с использованием нейронной сети в качестве компаратора. |
2009 г. | MPBoost | попарно | Сохраняющий величину вариант RankBoost. Идея состоит в том, что чем более неравны метки пары документов, тем сложнее алгоритм должен пытаться их ранжировать. |
2009 г. | BoltzRank | список | В отличие от более ранних методов, BoltzRank создает модель ранжирования, которая просматривает во время запроса не только отдельный документ, но и пары документов. |
2009 г. | BayesRank | список | Метод сочетает в себе модель Плакетта-Люса и нейронную сеть, чтобы минимизировать ожидаемый байесовский риск, связанный с NDCG, с точки зрения принятия решений. |
2010 г. | NDCG Boost [26] | список | Повышающий подход к оптимизации NDCG. |
2010 г. | GBlend | попарно | Расширяет GBRank до задачи обучения для объединения совместного решения нескольких задач обучения для ранжирования с некоторыми общими функциями. |
2010 г. | IntervalRank | попарно и по списку | |
2010 г. | CRR | поточечно и попарно | Комбинированная регрессия и ранжирование. Использует стохастический градиентный спуск для оптимизации линейной комбинации точечных квадратичных потерь и попарных потерь на шарнирах из SVM ранжирования. |
2015 г. | FaceNet | попарно | Ранжирует изображения лиц по триплетной метрике с помощью глубокой сверточной сети. |
2016 г. | XGBoost | попарно | Поддерживает различные цели ранжирования и показатели оценки. |
2017 г. | ES-рейтинг | список | Эволюционная стратегия Методика обучения ранжированию с 7 метриками оценки пригодности |
2018 г. | PolyRank [27] | попарно | Одновременно изучает ранжирование и базовую генеративную модель из парных сравнений. |
2018 г. | FATE-Net / FETA-Net [28] | список | Сквозные обучаемые архитектуры, которые явно учитывают все элементы для моделирования контекстных эффектов. |
2019 г. | FastAP [29] | список | Оптимизирует среднюю точность для изучения глубоких вложений |
2019 г. | Шелковица | список и гибрид | Изучает политики ранжирования, максимизируя несколько показателей по всему набору данных |
2019 г. | DirectRanker | попарно | Обобщение архитектуры RankNet |
Примечание: поскольку большинство алгоритмов обучения с учителем могут применяться к точечным случаям, выше показаны только те методы, которые специально разработаны с учетом ранжирования.
Подобно приложениям распознавания в компьютерном зрении , недавние алгоритмы ранжирования на основе нейронных сетей также оказались уязвимыми для скрытых состязательных атак как на кандидатов, так и на запросы. [42] При небольших возмущениях, незаметных для человека, порядок ранжирования может быть произвольно изменен. Кроме того, было обнаружено, что возможны переносимые состязательные примеры, не зависящие от модели, что позволяет проводить состязательные атаки методом черного ящика на системы глубокого ранжирования без необходимости доступа к их базовым реализациям. [42] [43]
И наоборот, надежность таких систем ранжирования может быть повышена с помощью противостоящей защиты, такой как защита Мадри
Исследование, описанное в статье про обучение ранжированию, подчеркивает ее значимость в современном мире. Надеюсь, что теперь ты понял что такое обучение ранжированию, learning to rank, machine-learned ranking, mlr и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Обработка естественного языка
Комментарии
Оставить комментарий
Обработка естественного языка
Термины: Обработка естественного языка