В предыдущем разделе было показано, как использовать матричную факторизацию для изучения вложений. Некоторые ограничения матричной факторизации включают в себя:
- Сложность использования дополнительных функций (то есть любых функций, выходящих за рамки идентификатора запроса/идентификатора элемента). В результате запрос к модели возможен только при наличии пользователя или элемента в обучающем наборе.
- Актуальность рекомендаций. Популярные товары, как правило, рекомендуются всем, особенно если в качестве меры сходства используется скалярное произведение. Лучше уловить интересы конкретных пользователей.
Модели глубоких нейронных сетей (DNN) могут устранить эти ограничения матричной факторизации. DNN могут легко включать функции запросов и элементов (благодаря гибкости входного уровня сети), что может помочь уловить конкретные интересы пользователя и повысить релевантность рекомендаций.
Softmax DNN за рекомендацию
Одной из возможных моделей DNN является softmax , которая рассматривает проблему как задачу многоклассового прогнозирования, в которой:
- Входными данными является запрос пользователя.
- Выходные данные представляют собой вектор вероятности размером, равным количеству элементов в корпусе, представляющий вероятность взаимодействия с каждым элементом; например, вероятность нажать или посмотреть видео на YouTube.
Вход
Входные данные для DNN могут включать в себя:
- плотные функции (например, время просмотра и время с момента последнего просмотра)
- редкие функции (например, история просмотра и страна)
В отличие от подхода матричной факторизации, вы можете добавить дополнительные характеристики, такие как возраст или страна. Обозначим входной вектор через x.
Модельная архитектура
Архитектура модели определяет сложность и выразительность модели. Добавляя скрытые слои и функции нелинейной активации (например, ReLU), модель может фиксировать более сложные взаимосвязи в данных. Однако увеличение количества параметров обычно усложняет обучение модели и делает ее обслуживание более дорогостоящим. Обозначим вывод последнего скрытого слоя через \(\psi (x) \in \mathbb R^d\).
Выходные данные Softmax: прогнозируемое распределение вероятностей
Модель отображает выходные данные последнего слоя, \(\psi (x)\)через слой softmax к распределению вероятностей \(\hat p = h(\psi(x) V^T)\), где:
- \(h : \mathbb R^n \to \mathbb R^n\) — функция softmax, определяемая выражением \(h(y)_i=\frac{e^{y_i}}{\sum_j e^{y_j}}\)
- \(V \in \mathbb R^{n \times d}\) — матрица весов слоя softmax.
Слой softmax отображает вектор оценок. \(y \in \mathbb R^n\)(иногда называемые логитами ) к распределению вероятностей.
Функция потерь
Наконец, определите функцию потерь, которая сравнивает следующее:
- \(\hat p\), выходные данные слоя softmax (распределение вероятностей)
- \(p\), основная истина, представляющая элементы, с которыми взаимодействовал пользователь (например, видео YouTube, на которые пользователь нажимал или смотрел). Это можно представить как нормализованное распределение нескольких горячих точек (вектор вероятности).
Например, вы можете использовать перекрестную энтропийную потерю, поскольку вы сравниваете два распределения вероятностей.
Вложения Softmax
Вероятность предмета \(j\) дается\(\hat p_j = \frac{\exp(\langle \psi(x), V_j\rangle)}{Z}\), где \(Z\) – нормировочная константа, не зависящая от \(j\).
Другими словами, \(\log(\hat p_j) = \langle \psi(x), V_j\rangle - log(Z)\), поэтому логарифмическая вероятность элемента \(j\) является (с точностью до аддитивной константы) скалярным произведением двух \(d\)-мерные векторы, которые можно интерпретировать как вложения запроса и элемента:
- \(\psi(x) \in \mathbb R^d\) — это результат последнего скрытого слоя. Мы называем это внедрением запроса \(x\).
- \(V_j \in \mathbb R^d\) — вектор весов, соединяющий последний скрытый слой с выходом j. Мы называем это внедрением элемента \(j\).
DNN и матричная факторизация
И в модели softmax, и в модели матричной факторизации система изучает один вектор внедрения.\(V_j\) за единицу \(j\). То, что мы назвали матрицей внедрения элементов \(V \in \mathbb R^{n \times d}\) при матричной факторизации теперь используется матрица весов слоя softmax.
Однако встраивания запросов различны. Вместо изучения одного встраивания \(U_i\) за запрос \(i\), система изучает сопоставление из функции запроса \(x\) к вложению \(\psi(x) \in \mathbb R^d\). Следовательно, вы можете думать об этой модели DNN как об обобщении матричной факторизации, в которой вы заменяете сторону запроса нелинейной функцией. \(\psi(\cdot)\).
Можете ли вы использовать функции предмета?
Можете ли вы применить ту же идею к предмету? То есть, вместо изучения одного внедрения для каждого элемента, может ли модель изучить нелинейную функцию, которая сопоставляет характеристики элемента с внедрением? Да. Для этого используйте двухбашенную нейронную сеть, состоящую из двух нейронных сетей:
- Одна нейронная сеть отображает особенности запроса\(x_{\text{query}}\) запросить встраивание\(\psi(x_{\text{query}}) \in \mathbb R^d\)
- Одна нейронная сеть отображает характеристики элемента\(x_{\text{item}}\) для встраивания элемента\(\phi(x_{\text{item}}) \in \mathbb R^d\)
Выходные данные модели можно определить как скалярное произведение\(\langle \psi(x_{\text{query}}), \phi(x_{\text{item}}) \rangle\). Обратите внимание, что это больше не модель softmax. Новая модель прогнозирует одно значение для каждой пары. \((x_{\text{query}}, x_{\text{item}})\)вместо вектора вероятности для каждого запроса \(x_{\text{query}}\).
,В предыдущем разделе было показано, как использовать матричную факторизацию для изучения вложений. Некоторые ограничения матричной факторизации включают в себя:
- Сложность использования дополнительных функций (то есть любых функций, выходящих за рамки идентификатора запроса/идентификатора элемента). В результате запрос к модели возможен только при наличии пользователя или элемента в обучающем наборе.
- Актуальность рекомендаций. Популярные товары, как правило, рекомендуются всем, особенно если в качестве меры сходства используется скалярное произведение. Лучше уловить интересы конкретных пользователей.
Модели глубоких нейронных сетей (DNN) могут устранить эти ограничения матричной факторизации. DNN могут легко включать функции запросов и элементов (благодаря гибкости входного уровня сети), что может помочь уловить конкретные интересы пользователя и повысить релевантность рекомендаций.
Softmax DNN за рекомендацию
Одной из возможных моделей DNN является softmax , которая рассматривает проблему как задачу многоклассового прогнозирования, в которой:
- Входными данными является запрос пользователя.
- Выходные данные представляют собой вектор вероятности размером, равным количеству элементов в корпусе, представляющий вероятность взаимодействия с каждым элементом; например, вероятность нажать или посмотреть видео на YouTube.
Вход
Входные данные для DNN могут включать в себя:
- плотные функции (например, время просмотра и время с момента последнего просмотра)
- редкие функции (например, история просмотра и страна)
В отличие от подхода матричной факторизации, вы можете добавить дополнительные характеристики, такие как возраст или страна. Обозначим входной вектор через x.
Модельная архитектура
Архитектура модели определяет сложность и выразительность модели. Добавляя скрытые слои и функции нелинейной активации (например, ReLU), модель может фиксировать более сложные взаимосвязи в данных. Однако увеличение количества параметров также обычно усложняет обучение модели и делает ее обслуживание более дорогостоящим. Обозначим вывод последнего скрытого слоя через \(\psi (x) \in \mathbb R^d\).
Выходные данные Softmax: прогнозируемое распределение вероятностей
Модель отображает выходные данные последнего слоя, \(\psi (x)\)через слой softmax к распределению вероятностей \(\hat p = h(\psi(x) V^T)\), где:
- \(h : \mathbb R^n \to \mathbb R^n\) — функция softmax, определяемая выражением \(h(y)_i=\frac{e^{y_i}}{\sum_j e^{y_j}}\)
- \(V \in \mathbb R^{n \times d}\) — матрица весов слоя softmax.
Слой softmax отображает вектор оценок. \(y \in \mathbb R^n\)(иногда называемые логитами ) к распределению вероятностей.
Функция потерь
Наконец, определите функцию потерь, которая сравнивает следующее:
- \(\hat p\), выходные данные слоя softmax (распределение вероятностей)
- \(p\), основная истина, представляющая элементы, с которыми взаимодействовал пользователь (например, видео YouTube, на которые пользователь нажимал или смотрел). Это можно представить как нормализованное множественное распределение (вектор вероятности).
Например, вы можете использовать перекрестную энтропийную потерю, поскольку вы сравниваете два распределения вероятностей.
Вложения Softmax
Вероятность предмета \(j\) дается\(\hat p_j = \frac{\exp(\langle \psi(x), V_j\rangle)}{Z}\), где \(Z\) – нормировочная константа, не зависящая от \(j\).
Другими словами, \(\log(\hat p_j) = \langle \psi(x), V_j\rangle - log(Z)\), поэтому логарифмическая вероятность элемента \(j\) является (с точностью до аддитивной константы) скалярным произведением двух \(d\)-мерные векторы, которые можно интерпретировать как вложения запроса и элемента:
- \(\psi(x) \in \mathbb R^d\) — это результат последнего скрытого слоя. Мы называем это внедрением запроса \(x\).
- \(V_j \in \mathbb R^d\) — вектор весов, соединяющий последний скрытый слой с выходом j. Мы называем это внедрением элемента \(j\).
DNN и матричная факторизация
И в модели softmax, и в модели матричной факторизации система изучает один вектор внедрения.\(V_j\) за единицу \(j\). То, что мы назвали матрицей внедрения элементов \(V \in \mathbb R^{n \times d}\) при матричной факторизации теперь используется матрица весов слоя softmax.
Однако встраивания запросов различны. Вместо изучения одного встраивания \(U_i\) за запрос \(i\), система изучает сопоставление из функции запроса \(x\) к вложению \(\psi(x) \in \mathbb R^d\). Следовательно, вы можете думать об этой модели DNN как об обобщении матричной факторизации, в которой вы заменяете сторону запроса нелинейной функцией. \(\psi(\cdot)\).
Можете ли вы использовать функции предмета?
Можете ли вы применить ту же идею к предмету? То есть, вместо изучения одного внедрения для каждого элемента, может ли модель изучить нелинейную функцию, которая сопоставляет характеристики элемента с внедрением? Да. Для этого используйте двухбашенную нейронную сеть, состоящую из двух нейронных сетей:
- Одна нейронная сеть отображает особенности запроса\(x_{\text{query}}\) запросить встраивание\(\psi(x_{\text{query}}) \in \mathbb R^d\)
- Одна нейронная сеть отображает характеристики элемента\(x_{\text{item}}\) для встраивания элемента\(\phi(x_{\text{item}}) \in \mathbb R^d\)
Выходные данные модели можно определить как скалярное произведение\(\langle \psi(x_{\text{query}}), \phi(x_{\text{item}}) \rangle\). Обратите внимание, что это больше не модель softmax. Новая модель прогнозирует одно значение для каждой пары. \((x_{\text{query}}, x_{\text{item}})\)вместо вектора вероятности для каждого запроса \(x_{\text{query}}\).
,В предыдущем разделе было показано, как использовать матричную факторизацию для изучения вложений. Некоторые ограничения матричной факторизации включают в себя:
- Сложность использования дополнительных функций (то есть любых функций, выходящих за рамки идентификатора запроса/идентификатора элемента). В результате запрос к модели возможен только при наличии пользователя или элемента в обучающем наборе.
- Актуальность рекомендаций. Популярные товары, как правило, рекомендуются всем, особенно если в качестве меры сходства используется скалярное произведение. Лучше уловить интересы конкретных пользователей.
Модели глубоких нейронных сетей (DNN) могут устранить эти ограничения матричной факторизации. DNN могут легко включать функции запросов и элементов (благодаря гибкости входного уровня сети), что может помочь уловить конкретные интересы пользователя и повысить релевантность рекомендаций.
Softmax DNN за рекомендацию
Одной из возможных моделей DNN является softmax , которая рассматривает проблему как задачу многоклассового прогнозирования, в которой:
- Входными данными является запрос пользователя.
- Выходные данные представляют собой вектор вероятности размером, равным количеству элементов в корпусе, представляющий вероятность взаимодействия с каждым элементом; например, вероятность нажать или посмотреть видео на YouTube.
Вход
Входные данные для DNN могут включать в себя:
- плотные функции (например, время просмотра и время с момента последнего просмотра)
- редкие функции (например, история просмотра и страна)
В отличие от подхода матричной факторизации, вы можете добавить дополнительные характеристики, такие как возраст или страна. Обозначим входной вектор через x.
Модельная архитектура
Архитектура модели определяет сложность и выразительность модели. Добавляя скрытые слои и функции нелинейной активации (например, ReLU), модель может фиксировать более сложные взаимосвязи в данных. Однако увеличение количества параметров обычно усложняет обучение модели и делает ее обслуживание более дорогостоящим. Обозначим вывод последнего скрытого слоя через \(\psi (x) \in \mathbb R^d\).
Выходные данные Softmax: прогнозируемое распределение вероятностей
Модель отображает выходные данные последнего слоя, \(\psi (x)\)через слой softmax к распределению вероятностей \(\hat p = h(\psi(x) V^T)\), где:
- \(h : \mathbb R^n \to \mathbb R^n\) — функция softmax, определяемая выражением \(h(y)_i=\frac{e^{y_i}}{\sum_j e^{y_j}}\)
- \(V \in \mathbb R^{n \times d}\) — матрица весов слоя softmax.
Слой softmax отображает вектор оценок. \(y \in \mathbb R^n\)(иногда называемые логитами ) к распределению вероятностей.
Функция потерь
Наконец, определите функцию потерь, которая сравнивает следующее:
- \(\hat p\), выходные данные слоя softmax (распределение вероятностей)
- \(p\), основная истина, представляющая элементы, с которыми взаимодействовал пользователь (например, видео YouTube, на которые пользователь нажимал или смотрел). Это можно представить как нормализованное множественное распределение (вектор вероятности).
Например, вы можете использовать перекрестную энтропийную потерю, поскольку вы сравниваете два распределения вероятностей.
Вложения Softmax
Вероятность предмета \(j\) дается\(\hat p_j = \frac{\exp(\langle \psi(x), V_j\rangle)}{Z}\), где \(Z\) – нормировочная константа, не зависящая от \(j\).
Другими словами, \(\log(\hat p_j) = \langle \psi(x), V_j\rangle - log(Z)\), поэтому логарифмическая вероятность элемента \(j\) является (с точностью до аддитивной константы) скалярным произведением двух \(d\)-мерные векторы, которые можно интерпретировать как вложения запроса и элемента:
- \(\psi(x) \in \mathbb R^d\) — это результат последнего скрытого слоя. Мы называем это внедрением запроса \(x\).
- \(V_j \in \mathbb R^d\) — вектор весов, соединяющий последний скрытый слой с выходом j. Мы называем это внедрением элемента \(j\).
DNN и матричная факторизация
И в модели softmax, и в модели матричной факторизации система изучает один вектор внедрения.\(V_j\) за единицу \(j\). То, что мы назвали матрицей встраивания элементов \(V \in \mathbb R^{n \times d}\) при матричной факторизации теперь используется матрица весов слоя softmax.
Однако встраивания запросов различны. Вместо изучения одного встраивания \(U_i\) за запрос \(i\), система изучает сопоставление из функции запроса \(x\) к вложению \(\psi(x) \in \mathbb R^d\). Следовательно, вы можете думать об этой модели DNN как об обобщении матричной факторизации, в которой вы заменяете сторону запроса нелинейной функцией. \(\psi(\cdot)\).
Можете ли вы использовать функции предмета?
Можете ли вы применить ту же идею к предмету? То есть, вместо изучения одного внедрения для каждого элемента, может ли модель изучить нелинейную функцию, которая сопоставляет характеристики элемента с внедрением? Да. Для этого используйте двухбашенную нейронную сеть, состоящую из двух нейронных сетей:
- Одна нейронная сеть отображает особенности запроса\(x_{\text{query}}\) запросить встраивание\(\psi(x_{\text{query}}) \in \mathbb R^d\)
- Одна нейронная сеть отображает характеристики элемента\(x_{\text{item}}\) для встраивания элемента\(\phi(x_{\text{item}}) \in \mathbb R^d\)
Выходные данные модели можно определить как скалярное произведение\(\langle \psi(x_{\text{query}}), \phi(x_{\text{item}}) \rangle\). Обратите внимание, что это больше не модель softmax. Новая модель прогнозирует одно значение для каждой пары. \((x_{\text{query}}, x_{\text{item}})\)вместо вектора вероятности для каждого запроса \(x_{\text{query}}\).
,В предыдущем разделе было показано, как использовать матричную факторизацию для изучения вложений. Некоторые ограничения матричной факторизации включают в себя:
- Сложность использования дополнительных функций (то есть любых функций, выходящих за рамки идентификатора запроса/идентификатора элемента). В результате запрос к модели возможен только при наличии пользователя или элемента в обучающем наборе.
- Актуальность рекомендаций. Популярные товары, как правило, рекомендуются всем, особенно если в качестве меры сходства используется скалярное произведение. Лучше уловить интересы конкретных пользователей.
Модели глубоких нейронных сетей (DNN) могут устранить эти ограничения матричной факторизации. DNN могут легко включать функции запросов и элементов (благодаря гибкости входного уровня сети), что может помочь уловить конкретные интересы пользователя и повысить релевантность рекомендаций.
Softmax DNN за рекомендацию
Одной из возможных моделей DNN является softmax , которая рассматривает проблему как задачу многоклассового прогнозирования, в которой:
- Входными данными является запрос пользователя.
- Выходные данные представляют собой вектор вероятности размером, равным количеству элементов в корпусе, представляющий вероятность взаимодействия с каждым элементом; например, вероятность нажать или посмотреть видео на YouTube.
Вход
Входные данные для DNN могут включать в себя:
- плотные функции (например, время просмотра и время с момента последнего просмотра)
- редкие функции (например, история просмотра и страна)
В отличие от подхода матричной факторизации, вы можете добавить дополнительные характеристики, такие как возраст или страна. Обозначим входной вектор через x.
Модельная архитектура
Архитектура модели определяет сложность и выразительность модели. Добавляя скрытые слои и функции нелинейной активации (например, ReLU), модель может фиксировать более сложные взаимосвязи в данных. Однако увеличение количества параметров также обычно усложняет обучение модели и делает ее обслуживание более дорогостоящим. Обозначим вывод последнего скрытого слоя через \(\psi (x) \in \mathbb R^d\).
Выходные данные Softmax: прогнозируемое распределение вероятностей
Модель отображает выходные данные последнего слоя, \(\psi (x)\)через слой softmax к распределению вероятностей \(\hat p = h(\psi(x) V^T)\), где:
- \(h : \mathbb R^n \to \mathbb R^n\) — функция softmax, определяемая выражением \(h(y)_i=\frac{e^{y_i}}{\sum_j e^{y_j}}\)
- \(V \in \mathbb R^{n \times d}\) — матрица весов слоя softmax.
Слой softmax отображает вектор оценок. \(y \in \mathbb R^n\)(иногда называемые логитами ) к распределению вероятностей.
Функция потерь
Наконец, определите функцию потерь, которая сравнивает следующее:
- \(\hat p\), выходные данные слоя softmax (распределение вероятностей)
- \(p\), основная истина, представляющая элементы, с которыми взаимодействовал пользователь (например, видео YouTube, на которые пользователь нажимал или смотрел). Это можно представить как нормализованное множественное распределение (вектор вероятности).
Например, вы можете использовать перекрестную энтропийную потерю, поскольку вы сравниваете два распределения вероятностей.
Вложения Softmax
Вероятность предмета \(j\) дается\(\hat p_j = \frac{\exp(\langle \psi(x), V_j\rangle)}{Z}\), где \(Z\) – нормировочная константа, не зависящая от \(j\).
Другими словами, \(\log(\hat p_j) = \langle \psi(x), V_j\rangle - log(Z)\), поэтому логарифмическая вероятность элемента \(j\) является (с точностью до аддитивной константы) скалярным произведением двух \(d\)-мерные векторы, которые можно интерпретировать как вложения запроса и элемента:
- \(\psi(x) \in \mathbb R^d\) — это результат последнего скрытого слоя. Мы называем это внедрением запроса \(x\).
- \(V_j \in \mathbb R^d\) — вектор весов, соединяющий последний скрытый слой с выходом j. Мы называем это внедрением элемента \(j\).
DNN и матричная факторизация
И в модели softmax, и в модели матричной факторизации система изучает один вектор внедрения.\(V_j\) за единицу \(j\). То, что мы назвали матрицей внедрения элементов \(V \in \mathbb R^{n \times d}\) в матричной факторизации теперь используется матрица весов слоя softmax.
Однако встраивания запросов различны. Вместо изучения одного встраивания \(U_i\) за запрос \(i\), система изучает сопоставление из функции запроса \(x\) к вложению \(\psi(x) \in \mathbb R^d\). Следовательно, вы можете думать об этой модели DNN как об обобщении матричной факторизации, в которой вы заменяете сторону запроса нелинейной функцией. \(\psi(\cdot)\).
Можете ли вы использовать функции предмета?
Можете ли вы применить ту же идею к предмету? То есть, вместо изучения одного внедрения для каждого элемента, может ли модель изучить нелинейную функцию, которая сопоставляет характеристики элемента с внедрением? Да. Для этого используйте двухбашенную нейронную сеть, состоящую из двух нейронных сетей:
- Одна нейронная сеть отображает особенности запроса\(x_{\text{query}}\) запросить встраивание\(\psi(x_{\text{query}}) \in \mathbb R^d\)
- Одна нейронная сеть отображает характеристики элемента\(x_{\text{item}}\) для встраивания элемента\(\phi(x_{\text{item}}) \in \mathbb R^d\)
Выходные данные модели можно определить как скалярное произведение\(\langle \psi(x_{\text{query}}), \phi(x_{\text{item}}) \rangle\). Обратите внимание, что это больше не модель softmax. Новая модель прогнозирует одно значение для каждой пары. \((x_{\text{query}}, x_{\text{item}})\)вместо вектора вероятности для каждого запроса \(x_{\text{query}}\).