El aprendizaje estructurado neuronal (NSL) se enfoca en entrenar redes neuronales profundas aprovechando señales estructuradas (cuando están disponibles) junto con entradas de características. Como fue presentado por Bui et al. (WSDM'18) , estas señales estructuradas se utilizan para regularizar el entrenamiento de una red neuronal, obligando al modelo a aprender predicciones precisas (al minimizar la pérdida supervisada), mientras que al mismo tiempo se mantiene la similitud estructural de entrada (al minimizar la pérdida del vecino). , consulte la figura a continuación). Esta técnica es genérica y se puede aplicar en arquitecturas neuronales arbitrarias (como NN de avance, NN convolucionales y NN recurrentes).
Tenga en cuenta que la ecuación de pérdida de vecino generalizada es flexible y puede tener otras formas además de la ilustrada arriba. Por ejemplo, también podemos seleccionar\(\sum_{x_j \in \mathcal{N}(x_i)}\mathcal{E}(y_i,g_\theta(x_j))\) para que sea la pérdida del vecino, que calcula la distancia entre la verdad del terreno \(y_i\)y la predicción del vecino \(g_\theta(x_j)\). Esto se usa comúnmente en el aprendizaje contradictorio (Goodfellow et al., ICLR'15) . Por lo tanto, NSL generaliza a Neural Graph Learning si los vecinos están representados explícitamente por un gráfico, y a Adversarial Learning si los vecinos son inducidos implícitamente por una perturbación adversaria.
El flujo de trabajo general para el aprendizaje estructurado neuronal se ilustra a continuación. Las flechas negras representan el flujo de trabajo de entrenamiento convencional y las flechas rojas representan el nuevo flujo de trabajo introducido por NSL para aprovechar las señales estructuradas. Primero, las muestras de entrenamiento se aumentan para incluir señales estructuradas. Cuando las señales estructuradas no se proporcionan explícitamente, pueden construirse o inducirse (esto último se aplica al aprendizaje por confrontación). A continuación, las muestras de entrenamiento aumentadas (incluidas las muestras originales y sus vecinos correspondientes) se envían a la red neuronal para calcular sus incrustaciones. La distancia entre el empotramiento de una muestra y el empotramiento de su vecino se calcula y se usa como la pérdida del vecino, que se trata como un término de regularización y se agrega a la pérdida final. Para la regularización explícita basada en vecinos, generalmente calculamos la pérdida de vecinos como la distancia entre la incrustación de la muestra y la incrustación del vecino. Sin embargo, se puede usar cualquier capa de la red neuronal para calcular la pérdida del vecino. Por otro lado, para la regularización basada en vecinos inducidos (contradictorio), calculamos la pérdida del vecino como la distancia entre la predicción de salida del vecino contradictorio inducido y la etiqueta de verdad del terreno.
¿Por qué usar NSL?
NSL trae las siguientes ventajas:
- Mayor precisión : la(s) señal(es) estructurada(s) entre las muestras puede proporcionar información que no siempre está disponible en las entradas de características; por lo tanto, se ha demostrado que el enfoque de entrenamiento conjunto (con características y señales estructuradas) supera a muchos métodos existentes (que se basan en el entrenamiento solo con características) en una amplia gama de tareas, como la clasificación de documentos y la clasificación de intención semántica ( Bui et al. ., WSDM'18 & Kipf et al., ICLR'17 ).
- Robustez : se ha demostrado que los modelos entrenados con ejemplos adversarios son robustos frente a perturbaciones adversarias diseñadas para confundir la predicción o clasificación de un modelo ( Goodfellow et al., ICLR'15 & Miyato et al., ICLR'16 ). Cuando el número de muestras de entrenamiento es pequeño, el entrenamiento con ejemplos adversarios también ayuda a mejorar la precisión del modelo ( Tsipras et al., ICLR'19 ).
- Se requieren menos datos etiquetados : NSL permite que las redes neuronales aprovechen los datos etiquetados y no etiquetados, lo que extiende el paradigma de aprendizaje al aprendizaje semisupervisado . Específicamente, NSL permite que la red se entrene utilizando datos etiquetados como en el entorno supervisado y, al mismo tiempo, impulsa a la red a aprender representaciones ocultas similares para las "muestras vecinas" que pueden o no tener etiquetas. Esta técnica se ha mostrado muy prometedora para mejorar la precisión del modelo cuando la cantidad de datos etiquetados es relativamente pequeña ( Bui et al., WSDM'18 & Miyato et al., ICLR'16 ).
Tutoriales paso a paso
Para obtener experiencia práctica con el aprendizaje estructurado neuronal, tenemos tutoriales que cubren varios escenarios donde las señales estructuradas se pueden dar, construir o inducir explícitamente. Aquí hay algunos:
Regularización de grafos para la clasificación de documentos mediante grafos naturales . En este tutorial, exploramos el uso de la regularización de gráficos para clasificar documentos que forman un gráfico natural (orgánico).
Regularización de gráficos para la clasificación de opiniones mediante gráficos sintetizados . En este tutorial, demostramos el uso de la regularización de gráficos para clasificar opiniones de reseñas de películas mediante la construcción (síntesis) de señales estructuradas.
Aprendizaje adversario para la clasificación de imágenes . En este tutorial, exploramos el uso del aprendizaje contradictorio (donde se inducen señales estructuradas) para clasificar imágenes que contienen dígitos numéricos.
Se pueden encontrar más ejemplos y tutoriales en el directorio de ejemplos de nuestro repositorio de GitHub.