¿Hay alguna conexión entre el aprendizaje de kernel múltiple (MLK) y el aprendizaje profundo?

También he pensado un poco en esto, pero no creo que las conexiones entre los dos sean profundas.
El aprendizaje de múltiples núcleos tiene como objetivo combinar múltiples núcleos (o funciones básicas) de forma lineal (o no lineal). Hay que tener en cuenta que estas funciones del kernel son fijas (podría parametrizarlas, pero tendría problemas de no convexidad) y está aprendiendo los pesos sobre estas funciones del kernel. Además, en el momento en que estudié la literatura MKL (2013), no había consenso general de que más núcleos fueran mejores (algunos resultados muestran que más es malo para la generalización, mientras que otros sostienen que la regularización adecuada es la forma de agregar posiblemente infinitos granos). Supongo que no es injusto decir que MKL, aunque prometedor, no ha dado los resultados.
Con respecto al aprendizaje profundo, los algoritmos aprenden funciones básicas (no lineales) y también pesan sobre estas funciones básicas para minimizar el error de predicción. Sin embargo, las funciones básicas no son fijas. Las funciones básicas pueden ser bastante complejas (dependiendo del número de capas y conexiones entre capas). También en el aprendizaje profundo, no existe un consenso general sobre cuál es una “buena” opción para la cantidad de capas y conectividad. Sin embargo, con las arquitecturas de redes neuronales que suelen usar los investigadores de aprendizaje profundo, la expresividad de estas redes es alta, y no está claro cómo se elegirían las funciones del núcleo que imitarían estas funciones básicas.

* A2A *

Supongo que están relacionados, pero no he encontrado ningún trabajo que lo explique. Si tengo que conjeturar, mi reclamo sería que: el aprendizaje de múltiples núcleos (MKL) es una instancia específica de aprendizaje profundo (DL).

Deje que [math] \ phi_i (x) [/ math] sea la representación de característica implícita asociada con el kernel [math] K_i [/ ​​math]. Entonces, una versión de MKL que involucra la siguiente parametrización [math] \ displaystyle \ sum_ {i = 1} ^ N w_iK_i [/ ​​math] daría la representación implícita de características [math] \ displaystyle \ oplus_ {i = 1} ^ N \ sqrt {w_i} \ phi_i (x) [/ math] donde [math] \ oplus [/ math] indica concatenación. Entonces, cuando aprendemos los pesos en el MKL, estamos aprendiendo implícitamente una representación de características que funciona mejor para nuestro problema. Sin embargo, las representaciones aprendidas como puede ver son bastante restrictivas, es decir, estamos atascados con la representación implícita de los núcleos y todo lo que podemos hacer es simplemente ponderar estas representaciones antes de concatenarlas. DL, por otro lado, parece estar menos limitado.

Sabemos que la representación implícita en Kernel Learning (KL) surge del producto interno utilizado para medir la similitud. En muchos sentidos, el aprendizaje profundo funciona con principios similares. Si dos entradas x e y producen activaciones “similares”, es probable que obtengan etiquetas similares. Ha habido varios experimentos en los que las personas aprendieron un codificador automático y luego usaron kNN para clasificar con muy buenos resultados. Ahora, si aplicamos ingeniería inversa a esta idea, podemos pensar que, para que dos instancias obtengan etiquetas similares, necesitan producir activaciones similares. Entonces, uno puede imaginar que las representaciones aprendidas por DL ​​también surgen de la noción de similitud de entradas. Sin embargo, los métodos descubiertos para engañar a las redes neuronales [1] parecen sugerirme que esta noción de similitud puede ser mucho más fuerte y difícil de manejar que el simple producto interno utilizado en Kernels. De hecho, en DL, podríamos estar aprendiendo la función de similitud junto con la representación. Tenga en cuenta que, lo mismo es cierto incluso en MKL porque junto con la representación, también estamos aprendiendo una función ponderada del producto interno. En eso, el aprendizaje de representación y la función de similitud están algo entrelazados.

Entonces, tanto MKL como DL están interesados ​​en aprender una representación de características. Parecen tener un comportamiento similar (en cómo aprende las representaciones) y MKL parece bastante más simple que DL. Por lo tanto, mi conjetura antes. Como puede suponer por ahora, que realmente no he mostrado ninguna conexión explícita entre MKL y DL y gran parte de lo que he escrito son mis propias reflexiones sobre este tema. Por eso, mi conjetura sigue siendo una conjetura 🙂

[1] Romper clasificadores lineales en ImageNet

More Interesting

¿Cuál es un buen proyecto de aprendizaje automático para aprender Python?

¿Es posible usar la red neuronal para predecir múltiples valores respetando ciertas condiciones?

Cómo entrenar algoritmos relacionados con IA sin una GPU decente

¿Qué importancia tienen las estructuras de datos y los modelos gráficos para el aprendizaje automático?

¿Qué se considera estado de arte para la traducción automática neuronal?

¿Cómo se relaciona el concepto de simetría con la agrupación?

¿Es posible construir algo así como una red neuronal recurrente simplemente ingresando los mismos datos a lo largo del tiempo (por ejemplo, si los datos son una aceleración, cada entrada es el acc a la vez T)?

Cómo medir la incertidumbre o dar medidas de intervalo de confianza junto con un modelo de red neuronal existente

¿Cuándo necesitamos tener un mayor número de unidades ocultas que el número de unidades de entrada y viceversa?

¿Cuándo usan los combatientes la ametralladora / cañón y cuándo usan misiles en el combate aire-aire?

¿Por qué el submuestreo de características u observaciones mejora el rendimiento de GBM?

El reciclaje de residuos de construcción urbana necesita usar qué máquina.

¿En qué casos notamos un problema de gradiente que explota o desaparece y por qué?

¿Cuáles son los roles de probabilidad y estadística en el aprendizaje automático? ¿Qué tan importantes son? ¿Cuáles son sus aplicaciones en el aprendizaje automático?

¿Cuál es la diferencia entre embolsado y bootstrapping en ML / estadísticas?