Статья опубликована в рамках: LXXXV Международной научно-практической конференции «Научное сообщество студентов: МЕЖДИСЦИПЛИНАРНЫЕ ИССЛЕДОВАНИЯ» (Россия, г. Новосибирск, 27 января 2020 г.)
Наука: Информационные технологии
Скачать книгу(-и): Сборник статей конференции
ОБЗОР ПОДХОДОВ К ПОСТРОЕНИЮ РЕКОМЕНДАТЕЛЬНЫХ СИСТЕМ НА ОСНОВЕ ГЛУБОКОГО ОБУЧЕНИЯ
Введение
В последние годы глубокое обучение успешно применяется в различных областях исследований, таких как компьютерное зрение, распознавание речи, обработка естественного языка и т. д. В данных областях подходы, основанные на глубоком обучении, позволили значительно улучшить точность по сравнению с традиционными подходами. В связи с этим некоторые исследователи пытаются применить глубокое обучение в рекомендательных системах[1-13], предполагая, что недавно предложенные модели позволят повысить точность рекомендательных систем, так же, как эти модели глубокого обучения повысили ее в других областях.
В данной статье рассматриваются подходы, основанные на глубоком обучении, сгруппированные по используемым входным данным и типу решаемой задачи. Внедрение глубокого обучения в рекомендательные системы является новым направлением исследований. Несмотря на то, что был предложен ряд подходов, только немногие из них используются на практике.
1 Рекомендательные системы
Традиционно, выделяют три вида подходов к построению рекомендательных систем: коллаборативная фильтрация (collaborative filtering), контентная фильтрация (content-based filtering) и гибридные подходы [14]. Рекомендательные системы также классифицируются в соответствии с областями применения [15].
Входными данными для генерирования рекомендаций зачастую являются действия пользователей в системе: выставленные оценки, клики, покупки, комментарии, количество просмотров и т. д. В рекомендательных системах, в которых пользователи имеют возможность оценивать элементы с помощью целого числа баллов, как правило данные оценки и используются в качестве входных данных. Типичными подходами, использующими в качестве входных данных выставленные пользователями оценки, являются вероятностная матричная факторизация (Probabilistic Matrix Factorization) [16] и ее модификации. Оценки, выставляемые пользователями, относятся к явным оценкам. Некоторые подходы работают с неявными оценками. В качестве входных данных таких систем может выступать, например, количество прослушиваний или список просмотренных ранее товаров. Как правило, объем неявных оценок значительно больше, чем объем явных оценок, т. к. неявные оценки не требуют никаких усилий со стороны пользователей, однако, с точки зрения моделирования пользовательских предпочтений, явные пользовательские оценки являются более точными. Многие системы используют только один тип обратной связи (оценок): выставленный рейтинг или количество просмотров. Однако, есть некоторые рекомендательные системы, которые могут одновременно использовать различные типы обратной связи [5, 17].
Рекомендательные системы также различаются по типу решаемой задачи. Системы, решающие задачу предсказания рейтинга, позволяют спрогнозировать какой рейтинг выставит пользователь объектам, которые он еще не оценил. Наиболее популярными подходами для решения данного типа задач являются подходы, основанные на матричной факторизации. Рекомендательные системы, решающие задачу ранжирования, предлагают объекты в порядке убывания их релевантности. Подходы, решающие данную задачу, включают BPR [18], ListPMF [19] и QPMF [20].
2 Глубокое обучение
Глубокое обучение – это класс алгоритмов машинного обучения, которые используют многослойную систему нелинейных фильтров для извлечения признаков. Каждый последующий слой получает на входе выходные данные предыдущего слоя. В процессе обучения формируются слои выявления признаков на нескольких уровнях представлений, которые соответствуют различным уровням абстракции. При этом признаки организованы иерархически – признаки более высокого уровня являются производными от признаков более низкого уровня.
Существуют различные виды моделей глубокого обучения. Одной из наиболее часто используемых моделей является нейронная сеть прямого распространения. Типичная нейронная сеть с прямой связью только с одним скрытым слоем показана на рис. 1 (а). Нейронные сети с прямой связью, используемые в глубоком обучении, обычно имеют два и более скрытых слоев, где число нейронов на каждом из них может различаться. Выход O сети на рис. 1 (а) рассчитывается следующим образом:
h = σ(Wx)
O = δ(Vh) (1)
V и W – матрицы весов скрытого и выходного слоев;
δ и σ – нелинейные функциями, такие как гиперболический тангенс или сигмоида.
а) б)
Рисунок 1. Структура прямой нейронной сети (а) и рекуррентной нейронной сети (б)
В некоторых задачах входные и выходные данные могут иметь переменную длину, а также может быть важен порядок поступления объектов на вход, например, в случае обработки естественного языка. Для таких задач часто используются рекуррентные нейронные сети (recurrent neural networks – RNN). В таких моделях скрытые слои рекурсивно связаны сами с собой, как показано на рисунке 1 (б). Выход в момент времени t Ot рассчитывается следующим образом:
ht = σ(Wxt + Yht−1)
Ot = δ(Vht) (2)
Y – матрица весов рекуррентной связи.
Рисунок 2. Пример архитектуры сверточной нейронной сети
Сверточные нейронные сети (convolutional neural network - CNN) широко используются для распознавания изображений и содержат один или несколько сверточных слоев. Каждый сверточный слой имеет ядро, используемое для операции свертки, которое и является матрицей весов данного слоя. Между двумя соседними сверточными слоями как правило присутствует слой подвыборки. Пример сверточной нейронной сети представлен на рис. 2. Поскольку количество параметров в CNN намного меньше, чем в других моделях глубокого обучения, то они не требуют большого количества ресурсов для обучения и в меньшей степени подвержены переобучению в случае данных большой размерности.
3 Классификация подходов, основанных на глубоком обучении
3.1 Структура классификации
В данной статье подходы, основанные на глубоком обучении, классифицируются по используемым входным данным и типу решаемой задачи. С точки зрения входных данных, можно выделить две группы систем: использующие контентную информацию и не использующие ее. Под контентной информацией в данной статье понимается информация об объектах, которые могут рекомендоваться пользователям. Данная информация может включать в себя и цифровое представление объекта, например, в случае рекомендации музыки, это может быть аудиосигнал песен. С точки зрения типа решаемой задачи, подходы можно разделить на предсказывающие рейтинг и решающие задачу ранжирования. Сгруппированные подходы представлены в таблице 1.
Таблица 1.
Структура классификации подходов
Тип решаемой задачи |
Входные данные |
|
Подходы, использующие контентную информацию |
Подходы, не использующие контентную информацию |
|
Предсказание рейтинга |
[1, 2, 12] |
[6, 7, 9, 13] |
Ранжирование |
[3, 10, 11] |
[4, 5] |
3.2 Классификация по входным данным
Подходы, использующие контентную информацию. В работе [1] предлагается метод рекомендации музыки, на основе глубокой нейронной сети. В этом методе векторы латентных признаков пользователя и объекта сначала оптимизируются алгоритмом взвешенной матричной факторизации (Weighted Matrix Factorization – WMF) [21]. Далее векторы латентных признаков объекта оптимизируются глубокой сверточной сетью, в которой ранее полученные векторы скрытых признаков пользователя и музыкальный сигнал принимаются в качестве входных данных. Целевыми функциями, используемыми для обучения нейронной сети, являются взвешенная ошибка прогнозирования рейтинга (Weighted Prediction Error), такая же, как и в методе WMF, и разница между векторами скрытых признаков объектов, изученными с помощью WMF, и векторами нейронной сети. Рекомендация генерируются таким же образом, как в подходах, основанных на матричной факторизации, то есть вычисляется скалярное произведение латентных признаков пользователя и объекта. Поскольку векторы латентных признаков извлекаются из содержимого объекта, данный метод особенно полезен, при отсутствии пользовательских оценок для целевого объекта. Этот метод был позже использован Spotify в эксперименте [2].
Модель, предложенный в работе [12], совмещает в себе матричную факторизацию и глубокую сеть доверия (deep belief network – DBN). В данной модели DBN, обученная на аудио сигнале песен, генерирует вектор скрытых признаков песни.
Также в области рекомендации музыки были разработаны две модели нейронных сетей для предсказывания музыкальных тегов [3]. Предсказанные теги впоследствии используются для рекомендации музыки. Входными данными предложенных моделей является предварительно обработанные музыкальные признаки, которые получаются с помощью дискретного преобразования Фурье и анализа главных компонент. Автор исследует влияние различных функций пулинга на точность и приходит к выводу, что объединение нескольких функций может ее повысить.
В работе [10] предлагается модель под названием «Коллаборативное глубокое обучение» (Collaborative Deep Learning). Она совместно использует байесовский шумоподавляющий автоэнкодер (SDAE) [22] и модель байесовской вероятностной матричной факторизации (BPMF) [23], для решения задачи рекомендации на основе неявных пользовательских оценок и контентной информации. В предложенном методе латентные признаки объекта сначала генерируются ранее обученной моделью SDAE на основе контентной информации. Далее, вектор латентных признаков пользователя и рейтинги генерируются способом, аналогичным описанному в подходе BPMF.
В рекомендательной системе YouTube используются две модели нейронных сетей [11]. Одна модель генерирует сотни объектов-кандидатов из огромного количества объектов в соответствии с историческим поведением пользователей. Затем объектов-кандидаты ранжируются другой моделью в соответствии с историческим поведением пользователя, контекстной информацией и характеристиками элемента.
Подходы, не использующие контентную информацию. Для генерирования рекомендаций такие подходы используют только пользовательские оценки, такие как рейтинги, клики, просмотры и т. д. Например, подходы [6, 7] используют выставленные пользователями оценки для прогнозирования оценок объектов, к которым пользователь не обращался. В работе [4] неявная обратная связь используется для ранжирования объектов. В работе [5] модель глубокого обучения принимает в качестве входа различные типы пользовательских оценок. Входными данными для модели в работе [13] является матрица пользовательских тегов.
3.3 Классификация типу решаемой задачи
Методы ранжирования объектов. Описанные ранее подходы [3, 10, 11] используют контентную информацию для ранжирования элементов, которые впоследствии рекомендуются пользователям.
Некоторые подходы не используют контентную информацию. В работе [4] предлагается метод рекомендации на основе сеанса с использованием рекуррентной нейронной сети. Согласно рассматриваемому в работе подходу, объекты, к которым обращаются пользователи, рассматриваются как последовательности. Последовательности предсказанных объектов, которые рекомендуются пользователям, генерируются моделью RNN обученной «end-to-end» способом. В предлагаемой модели есть слой представлений (embeddings), слой прямой связи и несколько слоев управляемых рекуррентных блоков (Gated Recurrent Units) [24].
В работе [5] предлагает подход, основанный на рекуррентной нейронной сети, названный RNN-Rec. Рекуррентная нейронная сеть обучается на пользовательских оценках, имеющие отметку времени, т.е. известно когда была получена та или иная оценка, благодаря чему оценки могут рассматриваются как последовательности. Авторы утверждают, что рекомендации, сгенерированные RNN-Rec, являются более точными, по сравнению с рекомендациями, полученными с помощью традиционных подходов.
Методы прогнозирования рейтинга. Ранее описанные подходы [1, 2, 12] используют контентную информацию для прогнозирования рейтингов.
Есть подходы, использующие только пользовательские оценки, такие как рейтинг и теги, для генерирования рекомендаций. В работе [9] используется ограниченная машина Больцмана (restricted Boltzmann machine – RBM) для коллаборативной фильтрации. RBM может быть использована в качестве основных единиц глубоких нейронных сетей. Но в рассматриваемой работе в RBM есть только один слой.
В работе [6] предлагается модель глубокого обучения для прогнозирования рейтингов. Входными данными модели является объединение векторов представлений пользователей и объектов. В модели есть только один скрытый слой, и результатом модели является прогнозируемый рейтинг. В работе [7] используется модель Neural Autoregressive Distribution Estimator [8] для решения задачи рекомендации. Данная модель была модифицирована для использования одних и тех же параметров для рейтингов, относящихся к одному объекту. В этой работе авторы также представляют функцию потерь для списка (list-wise loss function). В работе [13] используют разреженные автоэнкодеры в рекомендательных системах с тегами. Векторы латентных признаков пользователей генерируются разреженными автоэнкодерами на основе матрицы пользовательских тегов.
Заключение
В последнее время, благодаря успешному применению глубокого обучения, некоторые исследователи предлагают использовать этот подход в рекомендательных системах. В данной статье подходы, основанные на глубоком обучении, рассматриваются в рамках классификации, разделяющей их по используемым входным данным и типу решаемой задачи. Наиболее используемыми моделями глубокого обучения являются нейронные сети прямого распространения и рекуррентные нейронные сети. Сверточные нейронные сети применяются довольно редко. Глубокое обучение потенциально может повысить точность систем рекомендаций, однако необходимы дальнейшие исследования в данной области.
Список литературы:
- van den Oord, A., Dieleman, S., Schrauwen, B. Deep content-based music recommendation. In: NIPS, 2013.
- Recommending music on Spotify with deep learning (2014). [электронный ресурс] – Режим доступа. – http://benanne.github.io/2014/08/05/spotify-cnns.html (дата обращения 12.01.2020).
- Hamel, P., Lemieux, S., Bengio, Y., Eck, D. Temporal pooling and multiscale learning for automatic annotation and ranking of music audio. In: Proceedings of the 12th International Society for Music Information Retrieval Conference, 2011. – P. 729–734.
- Hidasi, B., Karatzoglou, A., Baltrunas, L., Tikk, D. Session-based recommendations with recurrent neural networks. In: ICLR, 2016.
- Caihua, W., Wang, J., Liu, J., Liu, W.: Recurrent neural network based recommendation for time heterogeneous feedback. Knowl.-Based Syst, 2016. – P. 109, 90-103.
- Junlin, Z., Heng, C., Tongwen, H., Huiping, X.: A Distributional Representation Model For Collaborative Filtering, 2015.
- Zheng, Y., Tang, B., Ding, W., Zhou, H.: A neural autoregressive approach to collaborative filtering. In: Proceedings of the 33rd International Conference on Machine Learning, 2016.
- Larochelle, H., Murray, I.: The neural autoregressive distribution estimator. In: International Conference on Artificial Intelligence and Statistics, 2011. – P. 29–37.
- Salakhutdinov, R., Mnih, A., Hinton, G.: Restricted boltzmann machines for collaborative filtering. In: Proceedings of the 24th International Conference on Machine Learning, ACM 2007. – P. 791– 798.
- Wang, H., Wang, N., Yeung, D.-Y.: Collaborative deep learning for recommender systems. In: KDD, 2015.
- Covington, P., Adams, J., Sargin, E.: Deep neural networks for YouTube recommendations. In: Proceedings of the 10th ACM Conference on Recommender Systems, 2016. – P. 191–198.
- Wang, X., Wang, Y.: Improving content-based and hybrid music recommendation using deep learning. In: Proceeding of ACM MM, 2014.
- Zuo, Y., Zeng, J., Gong, M., Jiao, L.: Tag-aware recommender systems based on deep neural networks. Neurocomputing 204, 2016. – P. 51-60.
- Adomavicius, G., Tuzhilin, A.: Toward the next generation of recommender systems: a survey of the state-of-the-art and possible extensions. IEEE Trans. Knowl. Data Eng. 17(6), 2005. – P. 734–749.
- Park, D.H., Kim, H.K., Choi, I.Y., Kim, J.K.: A literature review and classification of recommender systems research. Expert Syst. Appl. 39(11), 2012. – P.10059-10072.
- Salakhutdinov, R., Mnih, A.: Probabilistic matrix factorization. In: Proceedings of Advances in Neural Information Processing Systems, NIPS 2008. – P. 1257–1264.
- Pan, W., Zhong, H., Xu, C., Ming, Z.: Adaptive Bayesian personalized ranking for heterogeneous implicit feedbacks. Knowl.-Based Syst. 73, 2015. – P. 173–180.
- Gantner, Z., Drumond, L., Freudenthaler, C., Schmidt-Thieme, L.: Bayesian personalized ranking for non-uniformly sampled items. In: Proceedings of Knowledge Discovery and Data Mining (KDD) Cup and Workshop 2011.
- Liu, J., Wu, C., Xiong, Y., Liu, W.: List-wise probabilistic matrix factorization for recommendation. Inf. Sci. 278, 2014. – P. 434–447.
- Liu, W., Wu, C., Feng, B., Liu, J.: Conditional preference in recommender systems. Expert Syst. Appl. 42(2), 2015. – P. 774-788.
- Hu, Y., Koren, Y., Volinsky, C.: Collaborative filtering for implicit feedback datasets. In: Proceedings of the 2008 Eighth IEEE International Conference on Data Mining, 2008.
- Vincent, P., Larochelle, H., Lajoie, I., Bengio, Y., Manzagol, P.-A.: Stacked denoising autoencoders: learning useful representations in a deep network with a local denoising criterion. JMLR 11, 2010. – P. 3371–3408.
- Salakhutdinov, R. & Mnih, A. Bayesian Probabilistic Matrix Factorization using Markov chain Monte Carlo. Proceedings of the International Conference on Machine Learning. Proceedings of the International Conference on Machine Learning, volume 25, 2008.
- Cho, K., van Merrienboer, B., Gulcehre, C., Bahdanau, D., Bougares, F., Schwenk, H. & Bengio, Y. Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation, 2014
Оставить комментарий