Lectura de papel del sistema de recomendación (21) -Actualización de DeepFM xDeepFM

Papel:

Dirección: Existe un módulo de cruce automático de funciones. Vale la pena mencionar que en estos modelos, se produce un cruce especial a nivel de bits, es decir, un cruce de características a nivel de bits. ¿Qué es el cruce de funciones bit a bit?

Por ejemplo, característica 1 = (a, b, c), característica 2 = (d, e, f).

Entonces la intersección de características bit a bit entre ellos es f(w1*a*d, w2*b*e, w3*c*f). Por ejemplo, en DCN:

Se puede ver que en la red cruzada, la intersección de los vectores de características es una intersección bit a bit, es decir, X y x0 en cada nivel se cruzan bit- poco a poco.

Otro método de cruce de características es el método de cruce de vectores, expresado como f(w(a*d, b*e, c*f)). Se puede ver que estas dos características se operan utilizando la matriz de peso después de la operación del producto interno, por lo que es un método de cruce de vectores.

El artículo también menciona dos definiciones:

explícita e implícita

interacción de características explícita e interacción de características implícitas. Tomando las dos características xi y xj como ejemplo, después de una serie de transformaciones, podemos expresarlas en la forma de wij * (xi * xj), que puede considerarse como una interacción de características explícita; de lo contrario, es una interacción de características implícita.

Como siempre, el modelo es lo primero:

Mira primero la Figura C. xdeepfm envía el vector concat obtenido a DNN a través de CIN para la estimación de ctr. Este artículo se centra en todo el CIN, cuyo nombre completo es Compressed Interaction Network. Presentemos en detalle cómo se hace CIN.

Para aprender automáticamente interacciones explícitas de características de alto orden y hacer que las interacciones ocurran a nivel vectorial, se propone un nuevo modelo neuronal: la red de interacción comprimida (CIN). En CIN, el vector latente es un objeto unitario, por lo que organizamos las características originales de entrada y las capas ocultas en la red neuronal en una matriz, denominada X0 y Xk respectivamente. Cada Xk se deriva del Xk-1 anterior:

Ps: Esta fórmula no se derivó claramente durante la entrevista. Primero hablemos del proceso de cálculo de esta fórmula. .

El cálculo del CIN se divide en dos pasos. El primer paso es utilizar y calcular.

Veamos esta imagen:

Para entender el proceso de cálculo, primero debes conocer varios conceptos.

Producto interior: (a, b, c). (1, 2, 3) = (1*a, 2*b, 3*c)

Producto exterior: (a, b, c)? . (1, 2, 3) =,

Entonces el cálculo de z es (ignorando W primero, el uso de W se introducirá más adelante)

Necesitamos calcular tres sectores a lo largo de la dimensión d.

Sección 1: Es necesario calcular el producto externo de (a, 1, d) y (x, 4):

El resultado del cálculo es: [[a * x, 1 * x , d * x], [a * 4, 1 * 4, d * 4]], forma = 2 * 3.

Sección 2: Es necesario calcular el producto externo de (b, 2, e) y (y, 5).

Lo mismo ocurre con la tercera sección; los resultados no aparecen en la lista.

Calculando y jugando con tres segmentos se obtiene una forma de 3*2*3.

Este proceso de cálculo también se puede representar visualmente mediante una imagen:

El cálculo aquí es el mismo que el anterior, o se puede calcular el producto interno de cada vector D-dimensional y luego empalmado en una columna. Para cada sector, sumamos los sectores para obtener un valor, y la matriz de peso W también se convierte en la forma del núcleo de convolución, que es la misma que la forma del sector. Siempre tenemos d sectores, entonces d valores. De esta manera, convertimos un vector tridimensional en un vector unidimensional:

En la figura anterior, podemos saber claramente que si hay un núcleo de convolución w, podemos obtener un vector, que es decir, podemos obtener la siguiente x:, la dimensión de esta x es * d.

El marco macro de CIN se puede resumir de la siguiente manera:

Siempre necesitamos calcular k procesos CIN para obtener k vectores unidimensionales.

Se puede ver que su característica es que el orden de las interacciones finales de las características aprendidas está determinado por el número de capas de la red. Cada capa oculta está conectada a la capa de salida mediante una operación de agrupación, lo que garantiza que la unidad de salida pueda ver. presentan patrones de interacción en diferentes órdenes. Al mismo tiempo, no es difícil ver que la estructura de CIN es muy similar a la de RNN, es decir, el estado de cada capa se calcula a través del valor de la capa oculta anterior y datos de entrada adicionales. La diferencia es que los parámetros de diferentes capas de CIN son diferentes, pero son los mismos en RNN. Los datos de entrada adicionales de RNN son diferentes cada vez, mientras que los datos de entrada adicionales de CIN son fijos, siempre X0.

La forma en que CIN calcula las características cruzadas es el método vectorial,

X1, h se calcula de la siguiente manera:

X2, h se calcula de la siguiente manera:

Cómo calcular xk y h:

Así que este es un cálculo vectorial.

Esta estructura es en realidad la misma que DeepFM. El lado izquierdo es el proceso de cálculo de la característica cruzada y el lado derecho es la parte DNN. El método de cálculo de CTR es el siguiente:

La función de pérdida es:

El modelo xDeepFM que presentamos hoy es un tipo de red con DeepFM y DCN que hemos estudiado antes. compuesto por características cruzadas composición DNN. En xDeepFM, la derivación de CIN es clave. Siempre que domine el proceso de cálculo de CIN, conocerá el núcleo de este artículo: la intersección de características de patrones vectoriales.

d idiomática china All rights reserved