Últimamente me he dado cuenta de que muchas personas están desarrollando equivalentes de tensor de muchos métodos (factorización de tensor, núcleos de tensor, tensores para modelar temas, etc.) Me pregunto, ¿por qué el mundo de repente está fascinado con los tensores? ¿Hay documentos recientes / resultados estándar que sean particularmente sorprendentes, que hayan provocado esto? ¿Es computacionalmente mucho más barato de lo que se sospechaba anteriormente?
No estoy siendo simplista, sinceramente estoy interesado, y si hay alguna sugerencia en los documentos sobre esto, me encantaría leerlos.
Respuestas:
Los tensores a menudo ofrecen representaciones de datos más naturales, por ejemplo, considere el video, que consiste en imágenes obviamente correlacionadas a lo largo del tiempo. Usted puede convertir esto en una matriz, pero simplemente no es natural o intuitiva (lo que significa que sean una factorización de alguna matriz de representación de vídeo?).
Los tensores están en tendencia por varias razones:
fuente
Creo que su pregunta debe coincidir con una respuesta que sea igualmente fluida y de mente abierta como la pregunta misma. Entonces, aquí están mis dos analogías.
Primero, a menos que sea un matemático puro, probablemente le enseñaron probabilidades y estadísticas univariantes primero. Por ejemplo, lo más probable es que su primer ejemplo OLS haya sido probablemente en un modelo como este: Lo más probable es que haya las estimaciones minimizando realmente la suma de mínimos cuadrados: Luego, escribe los FOC s para los parámetros y obtiene la solución:yi=a+bxi+ei TSS=∑i(yi−a¯−b¯xi)2 ∂TTS∂TTS∂a¯=0
Luego, te dicen que hay una manera más fácil de hacer esto con notación vectorial (matriz):y=Xb+e
y el TTS se convierte en:TTS=(y−Xb¯)′(y−Xb¯)
Los FOC son:2X′(y−Xb¯)=0
Y la solución esb¯=(X′X)−1X′y
Si eres bueno en álgebra lineal, seguirás con el segundo enfoque una vez que lo hayas aprendido, porque en realidad es más fácil que escribir todas las sumas en el primer enfoque, especialmente una vez que entras en las estadísticas multivariadas.
Por lo tanto, mi analogía es que pasar de las matrices a los tensores es similar a pasar de los vectores a las matrices: si conoce los tensores, algunas cosas se verán más fáciles de esta manera.
Segundo, ¿de dónde vienen los tensores? No estoy seguro de toda la historia de esto, pero los aprendí en mecánica teórica. Ciertamente, teníamos un curso sobre tensores, pero no entendía cuál era el trato con todas estas formas elegantes de intercambiar índices en ese curso de matemáticas. Todo comenzó a tener sentido en el contexto del estudio de las fuerzas de tensión.
Entonces, en física también comienzan con un ejemplo simple de presión definida como fuerza por unidad de área, por lo tanto: Esto significa que puede calcular el vector de fuerza multiplicando la presión (escalar) por la unidad de área (vector normal). Es entonces cuando tenemos solo una superficie plana infinita. En este caso solo hay una fuerza perpendicular. Un globo grande sería un buen ejemplo.F=p⋅dS F p dS
Sin embargo, si está estudiando la tensión dentro de los materiales, está tratando con todas las direcciones y superficies posibles. En este caso, tiene fuerzas sobre cualquier superficie dada que tira o empuja en todas las direcciones, no solo las perpendiculares. Algunas superficies están desgarradas por fuerzas tangenciales "de lado", etc. Por lo tanto, su ecuación se convierte en: La fuerza sigue siendo un vector y el área de la superficie todavía está representada por su vector normal , pero es un tensor ahora no es escalar.F=P⋅dS F dS P
Ok, un escalar y un vector también son tensores :)
Otro lugar donde los tensores se muestran naturalmente es la matriz de covarianza o correlación. Solo piense en esto: ¿cómo transformar una matriz de correlación en otra ? Te das cuenta de que no podemos hacerlo de esta manera: donde porque necesitamos mantener todos los positivos semi-definidos.C0 C1 Cθ(i,j)=C0(i,j)+θ(C1(i,j)−C0(i,j)), θ∈[0,1] Cθ
Entonces, tendríamos que encontrar la ruta manera que , donde es una pequeña perturbación de una matriz. Hay muchos caminos diferentes, y podríamos buscar los más cortos. Así es como entramos en la geometría riemanniana, múltiples y ... tensores.δCθ C1=C0+∫θδCθ δCθ
ACTUALIZACIÓN: ¿qué es tensor, de todos modos?
@amoeba y otros tuvieron una discusión animada sobre el significado de tensor y si es lo mismo que una matriz. Entonces, pensé que un ejemplo está en orden.
Digamos, vamos a un bazar a comprar comestibles, y hay dos tipos de comerciantes, y . Nos dimos cuenta de que si prestamos dólares para y dólares para continuación nos vende libras de manzanas, y vende US naranjas. Por ejemplo, si pagamos tanto 1 dólar, es decir, , entonces debemos obtener 1 libra de manzanas y 1,5 de naranjas.d1 d2 x 1 d 1 x 2 d 2 d 1 y 1 = 2 x 1 - x 2 d 2 y 2 = - 0.5 x 1 +x1 d1 x2 d2 d1 y1=2x1−x2 d2 y2=−0.5x1+2x2 x1=x2=1
Podemos expresar esta relación en forma de matriz :P
Entonces los comerciantes producen esta cantidad de manzanas y naranjas si les pagamos dólares:x y=Px
Esto funciona exactamente como una matriz por multiplicación vectorial.
Ahora, digamos que en lugar de comprar los productos de estos comerciantes por separado, declaramos que hay dos paquetes de gastos que utilizamos. Pagamos ambos 0.71 dólares, o pagamos 0.71 dólares y exigimos 0.71 dólares de . Como en el caso inicial, vamos a un bazar y gastamos en el paquete uno y en el paquete 2.d1 d2 z1 z2
Entonces, veamos un ejemplo donde gastamos solo en el paquete 1. En este caso, el primer comerciante obtiene dólares, y el segundo comerciante obtiene el mismo . Por lo tanto, debemos obtener las mismas cantidades de productos que en el ejemplo anterior, ¿no?z1=2 x1=1 x2=1
fuente
So, let's look at an example where we spend just z1=1.42 on bundle 1. In this case, the first merchant gets x1=1 dollars, and the second merchant gets the same x2=1.
antes dices que el primer paquete es que nosotrospay both 0.71 dollars
. Entonces, gastar 1.42 en el primer paquete debería obtener 0.71 cada uno y no 1, ¿no?Esta no es una respuesta a su pregunta, sino un comentario extendido sobre el tema que se ha planteado aquí en comentarios de diferentes personas, a saber: ¿los "tensores" de aprendizaje automático son lo mismo que los tensores en matemáticas?
Ahora, según Cichoki 2014, Era of Big Data Processing: A New Approach via Tensor Networks and Tensor Decompositions , y Cichoki et al. 2014, descomposiciones de tensor para aplicaciones de procesamiento de señales ,
¡No es así como se definen los tensores en matemáticas y física!
Mi conclusión es: (a) los tensores de aprendizaje automático no son tensores matemáticos / físicos, y (b) tampoco es útil verlos como elementos de productos tensoriales.
En cambio, son generalizaciones multidimensionales de matrices. Desafortunadamente, no existe un término matemático establecido para eso, por lo que parece que este nuevo significado de "tensor" ha llegado para quedarse.
fuente
Como alguien que estudia y construye redes neuronales y ha formulado esta pregunta repetidamente, he llegado a la conclusión de que tomamos prestados aspectos útiles de la notación tensorial simplemente porque hacen que la derivación sea mucho más fácil y mantienen nuestros gradientes en sus formas nativas. La regla de la cadena tensora es una de las herramientas de derivación más elegantes que he visto. Otras anotaciones tensoras fomentan simplificaciones computacionalmente eficientes que son simplemente una pesadilla para encontrar cuando se usan versiones extendidas comunes de cálculo vectorial.
En el cálculo vectorial / matricial, por ejemplo, hay 4 tipos de productos matriciales (Hadamard, Kronecker, Ordinary y Elementwise), pero en el cálculo tensorial solo hay un tipo de multiplicación, pero cubre todas las multiplicaciones matriciales y más. Si quiere ser generoso, interprete tensor como una matriz multidimensional para la que pretendemos usar cálculo basado en tensor para encontrar derivadas, no porque los objetos que estamos manipulando sean tensores .
Con toda honestidad, probablemente llamamos tensores a nuestras matrices multidimensionales porque a la mayoría de los expertos en aprendizaje automático no les importa mucho adherirse a las definiciones de matemáticas o física de alto nivel. La realidad es que solo estamos tomando prestados Convenciones y Cálculos de Suma de Einstein bien desarrollados, que generalmente se usan al describir tensores y no queremos decir cálculo basado en la convención de suma de Einstein una y otra vez. Tal vez algún día podamos desarrollar un nuevo conjunto de notaciones y convenciones que roben solo lo que necesitan del cálculo del tensor específicamente para analizar redes neuronales, pero como un campo joven que lleva tiempo.
fuente
Ahora estoy de acuerdo con la mayoría del contenido de las otras respuestas. Pero voy a jugar al abogado del Diablo en un punto. Nuevamente, fluirá libremente, así que disculpas ...
Google anunció un programa llamado Tensor Flow para el aprendizaje profundo. Esto me hizo preguntarme qué era 'tensor' sobre el aprendizaje profundo, ya que no podía hacer la conexión con las definiciones que había visto.
Ahora la idea es encadenar un montón de tales transformaciones para llegar a una representación útil de las coordenadas originales. Entonces, por ejemplo, después de la última transformación de una imagen, una regresión logística simple producirá una excelente precisión de clasificación; mientras que en la imagen en bruto definitivamente no lo haría.
Ahora, lo que parece haberse perdido de vista son las propiedades de invariancia que se buscan en un tensor adecuado. Particularmente cuando las dimensiones de las variables transformadas pueden ser diferentes de una capa a otra. [Por ejemplo, algunas de las cosas que he visto en los tensores no tienen sentido para los jacobianos no cuadrados; es posible que me falten algunos métodos]
Lo que se ha retenido es la noción de transformaciones de variables, y que ciertas representaciones de un vector pueden ser más útiles que otras para tareas particulares. La analogía es si tiene más sentido abordar un problema en coordenadas cartesianas o polares.
EDITAR en respuesta a @Aksakal:
El vector no se puede preservar perfectamente debido a los cambios en el número de coordenadas. Sin embargo, en cierto sentido, al menos la información útil puede conservarse bajo transformación. Por ejemplo, con PCA podemos soltar una coordenada, por lo que no podemos invertir la transformación, pero la reducción de dimensionalidad puede ser útil de todos modos. Si todas las transformaciones sucesivas fueran invertibles, podría asignar desde la penúltima capa al espacio de entrada. Tal como está, solo he visto modelos probabilísticos que permiten eso (RBM) por muestreo.
fuente
Aquí hay un extracto ligeramente editado (para el contexto) de Factorización de tensor no negativo con aplicaciones a estadísticas y visión por computadora, A. Shashua y T. Hazan, que llega al corazón de por qué al menos algunas personas están fascinadas con los tensores.
fuente
[EDITAR] Acabo de descubrir el libro de Peter McCullagh, Tensor Methods in Statistics .
Los tensores muestran propiedades de interés en la identificación de mezclas desconocidas en una señal (o una imagen), especialmente en torno a la noción de descomposición del tensor canónico poliádico (CP), ver por ejemplo Tensores: una breve introducción , P. Comon, 2014. El campo es conocido bajo el nombre "separación de fuente ciega (BSS)":
Recientemente se han obtenido algunos resultados de unicidad para tensores de tercer orden: sobre la unicidad de la descomposición canónica poliádica de tensores de tercer orden ( parte 1 , parte 2 ), I. Domanov et al. 2013.
Las descomposiciones de tensor son nodas que a menudo están conectadas a descomposiciones dispersas, por ejemplo, imponiendo una estructura sobre los factores de descomposición (ortogonalidad, Vandermonde, Hankel) y un rango bajo, para acomodar con no unicidad.
Con una creciente necesidad de análisis de datos incompletos y determinación de mediciones complejas de conjuntos de sensores, los tensores se utilizan cada vez más para completar la matriz, el análisis de variables latentes y la separación de fuentes.
Nota adicional: aparentemente, la descomposición canónica poliádica también es equivalente a la descomposición Waring de un polinomio homogéneo como una suma de potencias de formas lineales, con aplicaciones en la identificación del sistema (bloques estructurados, Wiener-Hammerstein paralelos o modelos no lineales de espacio de estado).
fuente
Puedo recomendar respetuosamente mi libro: Kroonenberg, PM Applied Multiway Data Analysis y Smilde et al. Análisis de múltiples vías. Aplicaciones en las Ciencias Químicas (ambas Wiley). De interés también puede ser mi artículo: Kroonenberg, PM (2014). Historia del análisis de componentes de múltiples vías y análisis de correspondencia de tres vías. En Blasius, J. y Greenacre, MJ (Eds.). Visualización y verbalización de datos (págs. 77–94). Nueva York: Chapman & Hall / CRC. ISBN 9781466589803.
Estas referencias hablan de datos de múltiples vías en lugar de tensores, pero se refieren a la misma área de investigación.
fuente
Es cierto que las personas en Machine Learning no ven los tensores con el mismo cuidado que los matemáticos y los médicos. Aquí hay un documento que puede aclarar esta discrepancia: Comon P., "Tensores: una breve introducción" IEEE Sig. Proc. Revista , 31 de mayo de 2014
fuente