Articulo de referencia

Esquema tensorial

En estadística , aprendizaje automático y algoritmos , un boceto tensorial es un tipo de reducción de dimensionalidad particularmente eficiente cuando se aplica a vectores con e...

En estadística , aprendizaje automático y algoritmos , un boceto tensorial es un tipo de reducción de dimensionalidad particularmente eficiente cuando se aplica a vectores con estructura tensorial . [ 1 ] [ 2 ] Dicho boceto puede utilizarse para acelerar métodos de kernel explícitos , agrupamiento bilineal en redes neuronales y es un elemento fundamental en muchos algoritmos de álgebra lineal numérica . [ 3 ]

Definición matemática

Matemáticamente, una matriz de reducción de dimensionalidad o de esbozo es una matrizMETRORk×d{\displaystyle M\in \mathbb {R} ^{k\times d}}, dóndek<d{\displaystyle k<d}, de tal manera que para cualquier vectorincógnitaRd{\displaystyle x\in \mathbb {R} ^{d}}

|METROincógnita2incógnita2|<εincógnita2{\displaystyle |\|Mx\|_{2}-\|x\|_{2}|<\varepsilon \|x\|_{2}}

con alta probabilidad. En otras palabras,METRO{\displaystyle M}conserva la norma de los vectores salvo un pequeño margen de error.

Un boceto tensorial tiene la propiedad adicional de que siincógnita=yz{\displaystyle x=y\otimes z}para algunos vectoresyRd1,zRd2{\displaystyle y\in \mathbb {R} ^{d_{1}},z\in \mathbb {R} ^{d_{2}}}de tal manera qued1d2=d{\displaystyle d_{1}d_{2}=d}, la transformaciónMETRO(yz){\displaystyle M(y\otimes z)}se puede calcular de forma más eficiente. Aquí{\displaystyle \otimes }denota el producto de Kronecker , en lugar del producto exterior , aunque ambos están relacionados por un aplanamiento .

La aceleración se logra reescribiendo primeroMETRO(yz)=METROyMETROz{\displaystyle M(y\otimes z)=M'y\circ M''z}, dónde{\displaystyle \circ }denota el producto elemento a elemento ( Hadamard ). Cada uno deMETROy{\displaystyle M'y}yMETROz{\displaystyle M''z}se puede calcular en tiempoO(kd1){\displaystyle O(kd_{1})}yO(kd2){\displaystyle O(kd_{2})}, respectivamente; incluyendo el producto de Hadamard da el tiempo totalO(d1d2+kd1+kd2){\displaystyle O(d_{1}d_{2}+kd_{1}+kd_{2})}En la mayoría de los casos de uso, este método es significativamente más rápido que el método completo.METRO(yz){\displaystyle M(y\otimes z)}requerirO(kd)=O(kd1d2){\displaystyle O(kd)=O(kd_{1}d_{2})}tiempo.

Para tensores de orden superior, comoincógnita=yzt{\displaystyle x=y\otimes z\otimes t}El ahorro es aún más impresionante.

Historia

El término «esbozo tensorial» se acuñó en 2013 [ 4 ] para describir una técnica de Rasmus Pagh [ 5 ] del mismo año. Originalmente, se entendía que utilizaba la transformada rápida de Fourier para realizar una convolución rápida de bocetos de conteo . Trabajos de investigación posteriores lo generalizaron a una clase mucho más amplia de reducciones de dimensionalidad mediante incrustaciones aleatorias tensoriales.

Las incrustaciones aleatorias tensoriales se introdujeron en 2010 en un artículo [ 6 ] sobre privacidad diferencial y fueron analizadas por primera vez por Rudelson et al. en 2012 en el contexto de la recuperación dispersa. [ 7 ]

Avron et al. [ 8 ] fueron los primeros en estudiar las propiedades de incrustación de subespacios de los bocetos tensoriales, centrándose particularmente en aplicaciones a núcleos polinomiales . En este contexto, se requiere que el boceto no solo preserve la norma de cada vector individual con cierta probabilidad, sino que preserve la norma de todos los vectores en cada subespacio lineal individual . Esta es una propiedad mucho más fuerte y requiere bocetos de mayor tamaño, pero permite que los métodos de núcleo se utilicen de forma muy amplia, como se explora en el libro de David Woodruff. [ 3 ]

Proyecciones aleatorias tensoriales

El producto de división de caras se define como los productos tensoriales de las filas (fue propuesto por V. Slyusar [ 9 ] en 1996 [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] para aplicaciones de radar y arreglos de antenas digitales ). Más directamente, seadoR3×3{\displaystyle \mathbf {C} \in \mathbb {R} ^{3\times 3}}yDR3×3{\displaystyle \mathbf {D} \in \mathbb {R} ^{3\times 3}}sean dos matrices. Entonces el producto de división de carasdoD{\displaystyle \mathbf {C} \bullet \mathbf {D} }es [ 10 ] [ 11 ] [ 12 ] [ 13 ]doD=[do1D1do2D2do3D3]=[do1,1D1,1do1,1D1,2do1,1D1,3do1,2D1,1do1,2D1,2do1,2D1,3do1,3D1,1do1,3D1,2do1,3D1,3do2,1D2,1do2,1D2,2do2,1D2,3do2,2D2,1do2,2D2,2do2,2D2,3do2,3D2,1do2,3D2,2do2,3D2,3do3,1D3,1do3,1D3,2do3,1D3,3do3,2D3,1do3,2D3,2do3,2D3,3do3,3D3,1do3,3D3,2do3,3D3,3].{\displaystyle \mathbf {C} \bullet \mathbf {D} =\left[{\begin{array}{c }\mathbf {C} _{1}\otimes \mathbf {D} _{1}\\\hline \mathbf {C} _{2}\otimes \mathbf {D} _{2}\\\hline \mathbf {C} _{3}\otimes \mathbf {D} _{3}\\\end{array}}\right]=\left[{\begin{array}{cccccccccc }\mathbf {C} _{1,1}\mathbf {D} _{1,1}&\mathbf {C} _{1,1}\mathbf {D} _{1,2}&\mathbf {C} _{1,1}\mathbf {D} _{1,3}&\mathbf {C} _{1,2}\mathbf {D} _{1,1}&\mathbf {C} _{1,2}\mathbf {D} _{1,2}&\mathbf {C} _{1,2}\mathbf {D} _{1,3}&\mathbf {C} _{1,3}\mathbf {D} _{1,1}&\mathbf {C} _{1,3}\mathbf {D} _{1,2}&\mathbf {C} _{1,3}\mathbf {D} _{1,3}\\\hline \mathbf {C} _{2,1}\mathbf {D} _{2,1}&\mathbf {C} _{2,1}\mathbf {D} _{2,2}&\mathbf {C} _{2,1}\mathbf {D} _{2,3}&\mathbf {C} _{2,2}\mathbf {D} _{2,1}&\mathbf {C} _{2,2}\mathbf {D} _{2,2}&\mathbf {C} _{2,2}\mathbf {D} _{2,3}&\mathbf {C} _{2,3}\mathbf {D} _{2,1}&\mathbf {C} _{2,3}\mathbf {D} _{2,2}&\mathbf {C} _{2,3}\mathbf {D} _{2,3}\\\hline \mathbf {C} _{3,1}\mathbf {D} _{3,1}&\mathbf {C} _{3,1}\mathbf {D} _{3,2}&\mathbf {C} _{3,1}\mathbf {D} _{3,3}&\mathbf {C} _{3,2}\mathbf {D} _{3,1}&\mathbf {C} _{3,2}\mathbf {D} _{3,2}&\mathbf {C} _{3,2}\mathbf {D} _{3,3}&\mathbf {C} _{3,3}\mathbf {D} _{3,1}&\mathbf {C} _{3,3}\mathbf {D} _{3,2}&\mathbf {C} _{3,3}\mathbf {D} _{3,3}\end{array}}\right].} La razón por la que este producto es útil es la siguiente identidad:

(doD)(incógnitay)=doincógnitaDy=[(doincógnita)1(Dy)1(doincógnita)2(Dy)2],{\displaystyle (\mathbf {C} \bullet \mathbf {D} )(x\otimes y)=\mathbf {C} x\circ \mathbf {D} y=\left[{\begin{array}{c }(\mathbf {C} x)_{1}(\mathbf {D} y)_{1}\\(\mathbf {C} x)_{2}(\mathbf {D} y)_{2}\\\vdots \end{array}}\right],}

dónde{\displaystyle \circ }es el producto elemento a elemento ( Hadamard ). Dado que esta operación se puede calcular en tiempo lineal,doD{\displaystyle \mathbf {C} \bullet \mathbf {D} }Se pueden multiplicar vectores con estructura tensorial mucho más rápido que matrices normales.

Construcción con transformada rápida de Fourier

El esquema tensorial de Pham y Pagh [ 4 ] calcula do(1)incógnitado(2)y{\displaystyle C^{(1)}x\ast C^{(2)}y}, dóndedo(1){\displaystyle C^{(1)}}ydo(2){\displaystyle C^{(2)}}son matrices de bocetos de conteo independientes y{\displaystyle \ast }es convolución vectorial . Demuestran que, sorprendentemente, esto es igual ado(incógnitay){\displaystyle C(x\otimes y)}– ¡un esbozo del producto tensorial!

Resulta que esta relación puede verse en términos del producto de división de caras como

do(1)incógnitado(2)y=F1(Fdo(1)incógnitaFdo(2)y){\displaystyle C^{(1)}x\ast C^{(2)}y={\mathcal {F}}^{-1}({\mathcal {F}}C^{(1)}x\circ {\mathcal {F}}C^{(2)}y)}, dóndeF{\displaystyle {\mathcal {F}}}es la matriz de la transformada de Fourier .

DesdeF{\displaystyle {\mathcal {F}}}es una matriz ortonormal ,F1{\displaystyle {\mathcal {F}}^{-1}}no afecta la norma dedoincógnita{\displaystyle Cx}y puede ser ignorado. Lo que queda es quedodo(1)do(2){\displaystyle C\sim {\mathcal {C}}^{(1)}\bullet {\mathcal {C}}^{(2)}}.

Por otro lado,

F(do(1)incógnitado(2)y)=Fdo(1)incógnitaFdo(2)y=(Fdo(1)Fdo(2))(incógnitay){\displaystyle {\mathcal {F}}(C^{(1)}x\ast C^{(2)}y)={\mathcal {F}}C^{(1)}x\circ {\mathcal {F}}C^{(2)}y=({\mathcal {F}}C^{(1)}\bullet {\mathcal {F}}C^{(2)})(x\otimes y)}.

Aplicación a matrices generales

El problema con el algoritmo original de bocetos tensoriales era que utilizaba matrices de bocetos de conteo , que no siempre son reducciones de dimensionalidad muy buenas.

En 2020 [ 15 ] se demostró que cualquier matriz con filas independientes suficientemente aleatorias es suficiente para crear un esquema tensorial. Esto permite utilizar matrices con garantías más sólidas, como las matrices reales de Johnson-Lindenstrauss gaussianas .

En particular, obtenemos el siguiente teorema:

Consideremos una matrizT{\displaystyle T}con filas iidT1,,TmetroRd{\displaystyle T_{1},\dots ,T_{m}\in \mathbb {R} ^{d}}, de tal manera quemi[(T1incógnita)2]=incógnita22{\displaystyle E[(T_{1}x)^{2}]=\|x\|_{2}^{2}}ymi[(T1incógnita)pag]1/pagapagincógnita2{\displaystyle E[(T_{1}x)^{p}]^{1/p}\leq {\sqrt {ap}}\|x\|_{2}}. DejarT(1),,T(do){\displaystyle T^{(1)},\dots ,T^{(c)}}ser independiente consta deT{\displaystyle T}yMETRO=T(1)T(do){\displaystyle M=T^{(1)}\bullet \dots \bullet T^{(c)}}.
Entonces|METROincógnita2incógnita2|<εincógnita2{\displaystyle |\|Mx\|_{2}-\|x\|_{2}|<\varepsilon \|x\|_{2}}con probabilidad1δ{\displaystyle 1-\delta }para cualquier vectorincógnita{\displaystyle x}si
metro=(4a)2doε2registro1/δ+(2ami)ε1(registro1/δ)do{\displaystyle m=(4a)^{2c}\varepsilon ^{-2}\log 1/\delta +(2ae)\varepsilon ^{-1}(\log 1/\delta )^{c}}.

En particular, si las entradas deT{\displaystyle T}son±1{\displaystyle \pm 1} obtenemosmetro=O(ε2registro1/δ+ε1(1doregistro1/δ)do){\displaystyle m=O(\varepsilon ^{-2}\log 1/\delta +\varepsilon ^{-1}({\tfrac {1}{c}}\log 1/\delta )^{c})}lo cual coincide con el teorema normal de Johnson-Lindenstrauss .metro=O(ε2registro1/δ){\displaystyle m=O(\varepsilon ^{-2}\log 1/\delta )}cuandoε{\displaystyle \varepsilon }es pequeño.

El artículo [ 15 ] también muestra que la dependencia deε1(1doregistro1/δ)do{\displaystyle \varepsilon ^{-1}({\tfrac {1}{c}}\log 1/\delta )^{c}}es necesario para construcciones que utilizan proyecciones aleatorias tensoriales con entradas gaussianas .

Variaciones

Construcción recursiva

Debido a la dependencia exponencial dedo{\displaystyle c}En los bocetos tensoriales basados ​​en el producto de división de caras , se desarrolló un enfoque diferente en 2020 [ 15 ] que aplica

METRO(incógnitay)=METRO(1)(incógnita(METRO(2)y)){\displaystyle M(x\otimes y\otimes \cdots )=M^{(1)}(x\otimes (M^{(2)}y\otimes \cdots ))}

Podemos lograr tal cosaMETRO{\displaystyle M}al dejar

METRO=METRO(do)(METRO(do1)Id)(METRO(do2)Id2)(METRO(1)Iddo1){\displaystyle M=M^{(c)}(M^{(c-1)}\otimes I_{d})(M^{(c-2)}\otimes I_{d^{2}})\cdots (M^{(1)}\otimes I_{d^{c-1}})}.

Con este método, solo aplicamos el método general de boceto tensorial a tensores de orden 2, lo que evita la dependencia exponencial en el número de filas.

Se puede demostrar [ 15 ] que la combinacióndo{\displaystyle c}reducciones de dimensionalidad como esta solo aumentanε{\displaystyle \varepsilon }por un factordo{\displaystyle {\sqrt {c}}}.

construcciones rápidas

La transformada rápida de Johnson-Lindenstrauss es una matriz de reducción de dimensionalidad.

Dada una matrizMETRORk×d{\displaystyle M\in \mathbb {R} ^{k\times d}}, calculando el producto matriz-vectorMETROincógnita{\displaystyle Mx}aceptakd{\displaystyle kd}tiempo. La Transformada Rápida de Johnson-Lindenstrauss (FJLT), [ 16 ] fue introducida por Ailon y Chazelle en 2006.

Una versión de este método toma METRO=SHD{\displaystyle M=\operatorname {SHD} } dónde

  1. D{\displaystyle D}es una matriz diagonal donde cada entrada diagonalDi,i{\displaystyle D_{i,i}}es±1{\displaystyle \pm 1}independientemente.

La multiplicación matriz-vectorDincógnita{\displaystyle Dx}se puede calcular enO(d){\displaystyle O(d)}tiempo.

  1. H{\displaystyle H}es una matriz de Hadamard , que permite la multiplicación matriz-vector en tiempoO(dregistrod){\displaystyle O(d\log d)}
  2. S{\displaystyle S}es unk×d{\displaystyle k\times d}matriz de muestreo que es todo ceros, excepto un solo 1 en cada fila.

Si la matriz diagonal se reemplaza por una que tiene un producto tensorial de±1{\displaystyle \pm 1}Los valores en la diagonal, en lugar de ser totalmente independientes, es posible calcularSHD(incógnitay){\displaystyle \operatorname {SHD} (x\otimes y)}rápido.

Para un ejemplo de esto, veamos:ρ,σ{1,1}2{\displaystyle \rho ,\sigma \in \{-1,1\}^{2}}ser dos independientes±1{\displaystyle \pm 1}vectores y dejeD{\displaystyle D}sea ​​una matriz diagonal conρσ{\displaystyle \rho \otimes \sigma }en diagonal. Entonces podemos dividirSHD(incógnitay){\displaystyle \operatorname {SHD} (x\otimes y)}como sigue:

SHD(incógnitay)=[100000100100][1111111111111111][σ1ρ10000σ1ρ20000σ2ρ10000σ2ρ2][incógnita1y1incógnita2y1incógnita1y2incógnita2y2]=([100110][101001])([1111][1111])([σ100σ2][ρ100ρ2])([incógnita1incógnita2][y1y2])=([100110][101001])([1111][σ100σ2][incógnita1incógnita2][1111][ρ100ρ2][y1y2])=[100110][1111][σ100σ2][incógnita1incógnita2][101001][1111][ρ100ρ2][y1y2].{\displaystyle {\begin{aligned}&\operatorname {SHD} (x\otimes y)\\&\quad ={\begin{bmatrix}1&0&0&0\\0&0&1&0\\0&1&0&0\end{bmatrix}}{\begin{bmatrix}1&1&1&1\\1&-1&1&-1\\1&1&-1&-1\\1&-1&-1&1\end{bmatrix}}{\begin{bmatrix}\sigma _{1}\rho _{1}&0&0&0\\0&\sigma _{1}\rho _{2}&0&0\\0&0&\sigma _{2}\rho _{1}&0\\0&0&0&\sigma _{2}\rho _{2}\\\end{bmatrix}}{\begin{bmatrix}x_{1}y_{1}\\x_{2}y_{1}\\x_{1}y_{2}\\x_{2}y_{2}\end{bmatrix}}\\[5pt]&\quad =\left({\begin{bmatrix}1&0\\0&1\\1&0\end{bmatrix}}\bullet {\begin{bmatrix}1&0\\1&0\\0&1\end{bmatrix}}\right)\left({\begin{bmatrix}1&1\\1&-1\end{bmatrix}}\otimes {\begin{bmatrix}1&1\\1&-1\end{bmatrix}}\right)\left({\begin{bmatrix}\sigma _{1}&0\\0&\sigma _{2}\\\end{bmatrix}}\otimes {\begin{bmatrix}\rho _{1}&0\\0&\rho _{2}\\\end{bmatrix}}\right)\left({\begin{bmatrix}x_{1}\\x_{2}\end{bmatrix}}\otimes {\begin{bmatrix}y_{1}\\y_{2}\end{bmatrix}}\right)\\[5pt]&\quad =\left({\begin{bmatrix}1&0\\0&1\\1&0\end{bmatrix}}\bullet {\begin{bmatrix}1&0\\1&0\\0&1\end{bmatrix}}\right)\left({\begin{bmatrix}1&1\\1&-1\end{bmatrix}}{\begin{bmatrix}\sigma _{1}&0\\0&\sigma _{2}\\\end{bmatrix}}{\begin{bmatrix}x_{1}\\x_{2}\end{bmatrix}}\,\otimes \,{\begin{bmatrix}1&1\\1&-1\end{bmatrix}}{\begin{bmatrix}\rho _{1}&0\\0&\rho _{2}\\\end{bmatrix}}{\begin{bmatrix}y_{1}\\y_{2}\end{bmatrix}}\right)\\[5pt]&\quad ={\begin{bmatrix}1&0\\0&1\\1&0\end{bmatrix}}{\begin{bmatrix}1&1\\1&-1\end{bmatrix}}{\begin{bmatrix}\sigma _{1}&0\\0&\sigma _{2}\\\end{bmatrix}}{\begin{bmatrix}x_{1}\\x_{2}\end{bmatrix}}\,\circ \,{\begin{bmatrix}1&0\\1&0\\0&1\end{bmatrix}}{\begin{bmatrix}1&1\\1&-1\end{bmatrix}}{\begin{bmatrix}\rho _{1}&0\\0&\rho _{2}\\\end{bmatrix}}{\begin{bmatrix}y_{1}\\y_{2}\end{bmatrix}}.\end{aligned}}}

En otras palabras,SHD=S(1)HD(1)S(2)HD(2){\displaystyle \operatorname {SHD} =S^{(1)}HD^{(1)}\bullet S^{(2)}HD^{(2)}}, se divide en dos transformaciones rápidas de Johnson-Lindenstrauss, y la reducción total lleva tiempoO(d1registrod1+d2registrod2){\displaystyle O(d_{1}\log d_{1}+d_{2}\log d_{2})}en vez ded1d2registro(d1d2){\displaystyle d_{1}d_{2}\log(d_{1}d_{2})}igual que con el enfoque directo.

El mismo enfoque se puede extender para calcular productos de grado superior, como por ejemplo:SHD(incógnitayz){\displaystyle \operatorname {SHD} (x\otimes y\otimes z)}

Ahle et al. [ 15 ] muestra que siSHD{\displaystyle \operatorname {SHD} }tieneε2(registro1/δ)do+1{\displaystyle \varepsilon ^{-2}(\log 1/\delta )^{c+1}}filas, luego|SHDincógnita2incógnita|εincógnita2{\displaystyle |\|\operatorname {SHD} x\|_{2}-\|x\||\leq \varepsilon \|x\|_{2}}para cualquier vectorincógnitaRddo{\displaystyle x\in \mathbb {R} ^{d^{c}}}con probabilidad1δ{\displaystyle 1-\delta }, al tiempo que permite una multiplicación rápida con gradodo{\displaystyle c}tensores.

Jin et al., [ 17 ] el mismo año, mostraron un resultado similar para la clase más general de matrices llamada RIP , que incluye las matrices de Hadamard submuestreadas. Demostraron que estas matrices permiten dividirse en tensores siempre que el número de filas seaε2(registro1/δ)2do1registrod{\displaystyle \varepsilon ^{-2}(\log 1/\delta )^{2c-1}\log d}En el casodo=2{\displaystyle c=2}Esto coincide con el resultado anterior.

Estas construcciones rápidas se pueden combinar nuevamente con el enfoque recursivo mencionado anteriormente, lo que da como resultado el esquema tensorial general más rápido.

Bocetos con conocimiento de datos

También es posible realizar el llamado esbozo tensorial "consciente de los datos". En lugar de multiplicar una matriz aleatoria por los datos, los puntos de datos se muestrean de forma independiente con una cierta probabilidad que depende de la norma del punto. [ 18 ]

Aplicaciones

Núcleos polinomiales explícitos

Los métodos de kernel son populares en el aprendizaje automático , ya que le dan al algoritmo diseñado la libertad de crear un "espacio de características" en el que medir la similitud de sus puntos de datos. Un clasificador binario simple basado en kernel se basa en el siguiente cálculo:

y^(incógnita)=sgni=1norteyik(incógnitai,incógnita),{\displaystyle {\hat {y}}(\mathbf {x'} )=\operatorname {sgn} \sum _{i=1}^{n}y_{i}k(\mathbf {x} _{i},\mathbf {x'} ),}

dóndeincógnitaiRd{\displaystyle \mathbf {x} _{i}\in \mathbb {R} ^{d}}son los puntos de datos,yi{\displaystyle y_{i}}es la etiqueta de lai{\displaystyle i}el punto (ya sea −1 o +1), yy^(incógnita){\displaystyle {\hat {y}}(\mathbf {x'} )}es la predicción de la clase deincógnita{\displaystyle \mathbf {x'} }. La funciónk:Rd×RdR{\displaystyle k:\mathbb {R} ^{d}\times \mathbb {R} ^{d}\to \mathbb {R} }es el núcleo. Ejemplos típicos son el núcleo de la función de base radial ,k(incógnita,incógnita)=exp(incógnitaincógnita22){\displaystyle k(x,x')=\exp(-\|x-x'\|_{2}^{2})}y núcleos polinomiales comok(incógnita,incógnita)=(1+incógnita,incógnita)2{\displaystyle k(x,x')=(1+\langle x,x'\rangle )^{2}}.

Cuando se utiliza de esta manera, el método del kernel se denomina "implícito". A veces es más rápido realizar un método de kernel "explícito", en el que un par de funcionesF,gramo:RdRD{\displaystyle f,g:\mathbb {R} ^{d}\to \mathbb {R} ^{D}}se encuentran, de tal manera quek(incógnita,incógnita)=F(incógnita),gramo(incógnita){\displaystyle k(x,x')=\langle f(x),g(x')\rangle }Esto permite expresar el cálculo anterior como

y^(incógnita)=sgni=1norteyiF(incógnitai),gramo(incógnita)=sgn(i=1norteyiF(incógnitai)),gramo(incógnita),{\displaystyle {\hat {y}}(\mathbf {x'} )=\operatorname {sgn} \sum _{i=1}^{n}y_{i}\langle f(\mathbf {x} _{i}),g(\mathbf {x'} )\rangle =\operatorname {sgn} \left\langle \left(\sum _{i=1}^{n}y_{i}f(\mathbf {x} _{i})\right),g(\mathbf {x'} )\right\rangle ,}

donde el valori=1norteyiF(incógnitai){\displaystyle \sum _{i=1}^{n}y_{i}f(\mathbf {x} _{i})}se puede calcular con antelación.

El problema con este método es que el espacio de características puede ser muy grande. Es decir,D>>d{\displaystyle D>>d}Por ejemplo, para el núcleo polinomialk(incógnita,incógnita)=incógnita,incógnita3{\displaystyle k(x,x')=\langle x,x'\rangle ^{3}}obtenemosF(incógnita)=incógnitaincógnitaincógnita{\displaystyle f(x)=x\otimes x\otimes x}ygramo(incógnita)=incógnitaincógnitaincógnita{\displaystyle g(x')=x'\otimes x'\otimes x'}, dónde{\displaystyle \otimes }es el producto tensorial yF(incógnita),gramo(incógnita)RD{\displaystyle f(x),g(x')\in \mathbb {R} ^{D}}dóndeD=d3{\displaystyle D=d^{3}}. Sid{\displaystyle d}ya es grande,D{\displaystyle D}puede ser mucho mayor que el número de puntos de datos (norte{\displaystyle n}) y por lo tanto, el método explícito es ineficiente.

La idea del boceto tensorial es que podemos calcular funciones aproximadas.F,gramo:RdRt{\displaystyle f',g':\mathbb {R} ^{d}\to \mathbb {R} ^{t}}dóndet{\displaystyle t}incluso puede ser más pequeño qued{\displaystyle d}y que aún tienen la propiedad de queF(incógnita),gramo(incógnita)k(incógnita,incógnita){\displaystyle \langle f'(x),g'(x')\rangle \approx k(x,x')}.

Se demostró en 2020 [ 15 ] que este método funciona incluso para polinomios de alto grado y núcleos de funciones de base radial.

Multiplicación de matrices comprimida

Supongamos que tenemos dos grandes conjuntos de datos, representados como matrices.incógnita,YRnorte×d{\displaystyle X,Y\in \mathbb {R} ^{n\times d}}y queremos encontrar las filasi,j{\displaystyle i,j}con los productos internos más grandesincógnitai,Yj{\displaystyle \langle X_{i},Y_{j}\rangle }Podríamos calcularlo.Z=incógnitaYTRnorte×norte{\displaystyle Z=XY^{T}\in \mathbb {R} ^{n\times n}}y simplemente mira todonorte2{\displaystyle n^{2}}posibilidades. Sin embargo, esto tomaría al menosnorte2{\displaystyle n^{2}}tiempo, y probablemente más cerca denorte2d{\displaystyle n^{2}d}utilizando técnicas estándar de multiplicación de matrices.

La idea de la multiplicación de matrices comprimidas es la identidad general.

incógnitaYT=i=1dincógnitaiYi{\displaystyle XY^{T}=\sum _{i=1}^{d}X_{i}\otimes Y_{i}}

dónde{\displaystyle \otimes }es el producto tensorial . Dado que podemos calcular una aproximación ( lineal ) aincógnitaiYi{\displaystyle X_{i}\otimes Y_{i}}De manera eficiente, podemos sumar esos valores para obtener una aproximación del producto completo.

Agrupación multilineal compacta

Los bocetos de tensores se pueden utilizar para disminuir la cantidad de variables necesarias al implementar el agrupamiento bilineal en una red neuronal .

El agrupamiento bilineal es la técnica de tomar dos vectores de entrada,incógnita,y{\displaystyle x,y}de diferentes fuentes y utilizando el producto tensorialincógnitay{\displaystyle x\otimes y}como capa de entrada a una red neuronal.

En [ 19 ] los autores consideraron utilizar el boceto tensorial para reducir el número de variables necesarias.

En 2017, otro artículo [ 20 ] toma la FFT de las características de entrada, antes de que se combinen usando el producto elemento a elemento. Esto nuevamente corresponde al esquema tensorial original.

Referencias

  1. "Descomposición de Tucker de bajo rango de tensores grandes usando: Tensor Sketch" (PDF) . amath.colorado.edu . Boulder, Colorado: Universidad de Colorado Boulder . Archivado del original (PDF) el 14 de febrero de 2019. Consultado el 11 de julio de 2020 .
  2. Ahle, Thomas; Knudsen, Jakob (2019-09-03). "Almost Optimal Tensor Sketch" . ResearchGate . Recuperado el 2020-07-11 .
  3. 1 2 Woodruff, David P. " Sketching as a Tool for Numerical Linear Algebra Archived 2022-10-22 at the Wayback Machine ." Theoretical Computer Science 10.1-2 (2014): 1–157.
  4. 1 2 Ninh, Pham; Pagh, Rasmus (2013). Núcleos polinomiales rápidos y escalables mediante mapas de características explícitos . Conferencia internacional SIGKDD sobre descubrimiento de conocimiento y minería de datos. Association for Computing Machinery. doi : 10.1145/2487575.2487591 .
  5. Pagh, Rasmus (2013). "Multiplicación de matrices comprimidas". ACM Transactions on Computation Theory . 5 (3). Association for Computing Machinery: 1– 17. arXiv : 1108.1320 . doi : 10.1145/2493252.2493254 . S2CID 47560654 . 
  6. Kasiviswanathan, Shiva Prasad, et al. " El precio de publicar privadamente tablas de contingencia y los espectros de matrices aleatorias con filas correlacionadas. Archivado el 22/10/2022 en Wayback Machine ". Actas del cuadragésimo segundo simposio de la ACM sobre Teoría de la Computación. 2010.
  7. Rudelson, Mark y Shuheng Zhou. " Reconstrucción a partir de mediciones aleatorias anisotrópicas. Archivado el 17 de octubre de 2022 en Wayback Machine ". Conferencia sobre Teoría del Aprendizaje. 2012.
  8. Avron, Haim; Nguyen, Huy; Woodruff, David (2014). "Incrustaciones de subespacios para el núcleo polinomial" (PDF) . Advances in Neural Information Processing Systems . S2CID 16658740 . 
  9. Anna Esteve, Eva Boj y Josep Fortiana (2009): Términos de interacción en la regresión basada en distancias, Communications in Statistics – Theory and Methods, 38:19, pág. 3501Archivado el 26 de abril de 2021 en Wayback Machine .
  10. 1 2 Slyusar, VI (1998). "Productos finales en matrices en aplicaciones de radar" (PDF) . Radioelectronics and Communications Systems . 41 (3): 50– 53.
  11. 1 2 Slyusar, VI (1997-05-20). "Modelo analítico de la matriz de antenas digitales basado en productos de matrices de división de caras" (PDF) . Proc. ICATT-97, Kyiv : 108–109 .
  12. 1 2 Slyusar, VI (1997-09-15). "Nuevas operaciones de producto de matrices para aplicaciones de radares" (PDF) . Actas de Problemas Directos e Inversos de la Teoría de Ondas Electromagnéticas y Acústicas (DIPED-97), Lviv. : 73– 74.
  13. 1 2 Slyusar, VI (13 de marzo de 1998). "Una familia de productos de caras de matrices y sus propiedades" (PDF) . Cibernética y análisis de sistemas C/C de Kibernetika I Sistemnyi Analiz. – 1999. 35 ( 3): 379– 384. doi : 10.1007/BF02733426 . S2CID 119661450 . 
  14. Slyusar, VI (2003). "Productos faciales generalizados de matrices en modelos de conjuntos de antenas digitales con canales no idénticos" (PDF) . Radioelectronics and Communications Systems . 46 (10): 9– 17.
  15. 1 2 3 4 5 6 Ahle, Thomas; Kapralov, Michael; Knudsen, Jakob; Pagh, Rasmus ; Velingker, Ameya; Woodruff, David; Zandieh, Amir (2020). Oblivious Sketching of High-Degree Polynomial Kernels . ACM-SIAM Symposium on Discrete Algorithms. Association for Computing Machinery. arXiv : 1909.01410 . doi : 10.1137/1.9781611975994.9 .
  16. Ailon, Nir; Chazelle, Bernard (2006). «Vecinos más cercanos aproximados y la transformada rápida de Johnson-Lindenstrauss». Actas del 38.º Simposio Anual de la ACM sobre Teoría de la Computación . Nueva York: ACM Press. págs. 557-563 . doi : 10.1145/1132516.1132597 . ISBN  1-59593-134-1. MR 2277181 . S2CID 490517 .  
  17. Jin, Ruhui, Tamara G. Kolda y Rachel Ward. "Transformadas de Johnson-Lindenstrauss más rápidas mediante productos de Kronecker". Preimpresión de arXiv arXiv:1909.04801 (2019).
  18. Wang, Yining; Tung, Hsiao-Yu; Smola, Alexander; Anandkumar, Anima. Descomposición tensorial rápida y garantizada mediante bocetos . Avances en sistemas de procesamiento de información neuronal 28 (NIPS 2015). arXiv : 1506.04448 .
  19. Gao, Yang, et al. " Agrupación bilineal compacta Archivado el 20/01/2022 en Wayback Machine ". Actas de la conferencia IEEE sobre visión por computadora y reconocimiento de patrones. 2016.
  20. Algashaam, Faisal M., et al. " Clasificación periocular multiespectral con agrupamiento multilineal compacto multimodal ". IEEE Access 5 (2017): 14572–14578.

Lecturas adicionales

  • Ahle, Thomas; Knudsen, Jakob (2019-09-03). "Almost Optimal Tensor Sketch" . ResearchGate . Recuperado el 2020-07-11 .
  • Slyusar, VI (1998). "Productos finales en matrices en aplicaciones de radar" (PDF) . Radioelectronics and Communications Systems . 41 (3): 50– 53.
  • Slyusar, VI (1997-05-20). "Modelo analítico de la matriz de antenas digitales basado en productos de matrices de división de caras" (PDF) . Proc. ICATT-97, Kyiv : 108–109 .
  • Slyusar, VI (15 de septiembre de 1997). "Nuevas operaciones de producto de matrices para aplicaciones de radares" (PDF) . Actas de Problemas Directos e Inversos de la Teoría de Ondas Electromagnéticas y Acústicas (DIPED-97), Lviv. : 73– 74.
  • Slyusar, VI (13 de marzo de 1998). "Una familia de productos de caras de matrices y sus propiedades" (PDF) . Cibernética y análisis de sistemas C/C de Kibernetika I Sistemnyi Analiz.- 1999. 35 ( 3): 379– 384. doi : 10.1007/BF02733426 . S2CID 119661450 .