Введение

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

Автоэнкодеры широко и успешно используются в настройках коллаборативной фильтрации. Наиболее распространенная конфигурация состоит из входных и выходных нейронов, которые представляют элементы каталога. Затем эта сеть обучается с помощью пользовательских оценок и учится восстанавливать их, используя скрытое представление, закодированное в скрытом слое. Даже с этой простой моделью можно превзойти многие современные алгоритмы, но цена, которую вы платите за лучшую точность, — отсутствие интерпретируемости.

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

Идея

Если бы можно было пометить каждый отдельный нейрон в скрытых слоях и заставить нейронную сеть знать о значении скрытых узлов, мы могли бы решить проблему интерпретируемости глубокого обучения. В настройках рекомендаций автоэнкодеры имеют блоки ввода и вывода, представляющие элементы, в то время как скрытые блоки кодируют скрытое представление оценок пользователей после обучения модели. Что, если мы найдем способ заменить скрытое представление пользовательских рейтингов атрибутами элементов и заставить градиент течь только через те атрибуты, которые принадлежат элементам?

Здесь на помощь приходит не полносвязная архитектура, основанная на модели автоэнкодера. В такой модели входные и выходные нейроны, представляющие все элементы каталога, связаны только с теми нейронами, которые представляют связанные с ними атрибуты элементов. Это означает, что входные значения могут распространяться только через те скрытые блоки, которые подключены к блокам ввода и вывода.

Автоэнкодеры способны кодировать скрытое представление входных данных в скрытом слое и использовать его для восстановления исходных входных данных на выходном уровне. В этом случае мы имеем неполностью связанную архитектуру, позволяющую придавать явный смысл скрытым нейронам; это означает, что в конце обучения представление входных данных в (явном) пространстве признаков кодируется в скрытом слое.

Подача вперед и обратное распространение

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

Пусть M - матрица смежности, где строки и столбцы представляют соответственно элементы и функции. Каждый элемент этой матрицы представляет собой двоичное значение, указывающее, принадлежит ли функция j элементу i.

Во время шагов прямой связи и обратного распространения умножение между весовыми матрицами и маской M предотвращает распространение как входных данных, так и ошибок через несвязанные объекты в скрытом слое, как показано в следующих уравнениях:

Профиль пользователя

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

Профиль пользователя можно использовать для создания рекомендаций с использованием других алгоритмов или в качестве дополнительной информации для другой модели глубокого обучения.

Объяснение

Тем не менее, если вы рассматриваете конвейер глубокого обучения, мы можем поместить этот автоэнкодер с поддержкой семантики в конец. Он получит список рекомендаций, сгенерированный из другой модели, и предоставит релевантность функций, чтобы объяснить рекомендацию. Например, мы можем объяснить рекомендуемые элементы, используя основные функции, которые вносят основной вклад в рейтинг этого элемента.

использованная литература

Эта работа была опубликована в журнале IEEE Access
https://ieeexplore.ieee.org/document/8897546

Если вы публикуете исследование, в котором используется SEMAUTO, указывайте его следующим образом:

@ARTICLE{8897546,
author={V. {Bellini} and T. {Di Noia} and E. D. {Sciascio} and A. {Schiavone}},
journal={IEEE Access},
title={Semantics-Aware Autoencoder},
year={2019},
volume={7},
number={},
pages={166122–166137},
keywords={Deep learning;Recommender systems;Task analysis;Computational modeling;Engines;Companies;Tools;Autoencoder neural network;cold start problem;deep learning;explanation;knowledge graph;recommender system},
doi={10.1109/ACCESS.2019.2953308},
ISSN={2169–3536},
month={},}

Первоначально опубликовано на https://vitobellini.github.io 29 сентября 2018 г.