En el aprendizaje automático (ML), el aprendizaje de características o aprendizaje de representaciones [2] es un conjunto de técnicas que permiten que un sistema descubra automáticamente las representaciones necesarias para la detección o clasificación de características a partir de datos sin procesar. Esto reemplaza la ingeniería de características manual y permite que una máquina aprenda las características y las use para realizar una tarea específica.
El aprendizaje de características está motivado por el hecho de que las tareas de ML, como la clasificación, a menudo requieren datos que sean matemática y computacionalmente convenientes para procesar. Sin embargo, los datos del mundo real, como imágenes, videos y datos de sensores, no han dado lugar a intentos de definir algorítmicamente características específicas. Una alternativa es descubrir dichas características o representaciones a través del examen, sin depender de algoritmos explícitos.
El aprendizaje de características puede ser supervisado, no supervisado o autosupervisado:
El aprendizaje supervisado de características consiste en aprender características a partir de datos etiquetados. La etiqueta de los datos permite al sistema calcular un término de error, el grado en el que el sistema no produce la etiqueta, que luego se puede utilizar como retroalimentación para corregir el proceso de aprendizaje (reducir o minimizar el error). Los enfoques incluyen:
El aprendizaje de diccionario desarrolla un conjunto (diccionario) de elementos representativos a partir de los datos de entrada, de modo que cada punto de datos se pueda representar como una suma ponderada de los elementos representativos. Los elementos del diccionario y los pesos se pueden encontrar minimizando el error de representación promedio (sobre los datos de entrada), junto con la regularización L1 de los pesos para permitir la escasez (es decir, la representación de cada punto de datos tiene solo unos pocos pesos distintos de cero).
El aprendizaje supervisado de diccionarios explota tanto la estructura subyacente a los datos de entrada como las etiquetas para optimizar los elementos del diccionario. Por ejemplo, esta técnica de aprendizaje supervisado de diccionarios [12] aplica el aprendizaje de diccionarios a problemas de clasificación optimizando conjuntamente los elementos del diccionario, los pesos para representar puntos de datos y los parámetros del clasificador en función de los datos de entrada. En particular, se formula un problema de minimización, donde la función objetivo consiste en el error de clasificación, el error de representación, una regularización L1 en los pesos de representación para cada punto de datos (para permitir una representación dispersa de los datos) y una regularización L2 en los parámetros del clasificador.
Las redes neuronales son una familia de algoritmos de aprendizaje que utilizan una "red" formada por múltiples capas de nodos interconectados. Está inspirada en el sistema nervioso animal, donde los nodos se consideran neuronas y los bordes se consideran sinapsis. Cada borde tiene un peso asociado y la red define reglas computacionales para pasar datos de entrada desde la capa de entrada de la red a la capa de salida. Una función de red asociada con una red neuronal caracteriza la relación entre las capas de entrada y salida, que está parametrizada por los pesos. Con funciones de red definidas adecuadamente, se pueden realizar varias tareas de aprendizaje minimizando una función de costo sobre la función de red (pesos).
Las redes neuronales multicapa se pueden utilizar para realizar aprendizaje de características, ya que aprenden una representación de su entrada en las capas ocultas que luego se utiliza para la clasificación o regresión en la capa de salida. La arquitectura de red más popular de este tipo son las redes siamesas .
El aprendizaje de características no supervisado consiste en aprender características a partir de datos no etiquetados. El objetivo del aprendizaje de características no supervisado suele ser descubrir características de baja dimensión que capturen alguna estructura subyacente a los datos de entrada de alta dimensión. Cuando el aprendizaje de características se realiza de forma no supervisada, permite una forma de aprendizaje semisupervisado en el que las características aprendidas de un conjunto de datos no etiquetados se emplean para mejorar el rendimiento en un entorno supervisado con datos etiquetados. [13] [14] A continuación se presentan varios enfoques.
La agrupación en k -medias es un método para la cuantificación de vectores. En particular, dado un conjunto de n vectores, la agrupación en k -medias los agrupa en k grupos (es decir, subconjuntos) de tal manera que cada vector pertenece al grupo con la media más cercana. El problema es computacionalmente NP-hard , aunque se han desarrollado algoritmos voraces subóptimos
La agrupación en clústeres de k-medias se puede utilizar para agrupar un conjunto no etiquetado de entradas en k clústeres y luego utilizar los centroides de estos clústeres para producir características. Estas características se pueden producir de varias maneras. La más simple es agregar k características binarias a cada muestra, donde cada característica j tiene valor uno si y solo si el centroide j aprendido por k -medias es el más cercano a la muestra en consideración. [6] También es posible utilizar las distancias a los clústeres como características, quizás después de transformarlas a través de una función de base radial (una técnica que se ha utilizado para entrenar redes RBF [15] ). Coates y Ng señalan que ciertas variantes de k -medias se comportan de manera similar a los algoritmos de codificación dispersa . [16]
En una evaluación comparativa de métodos de aprendizaje de características no supervisados, Coates, Lee y Ng descubrieron que la agrupación de k -medias con una transformación apropiada supera a los codificadores automáticos y RBM inventados más recientemente en una tarea de clasificación de imágenes. [6] K -medias también mejora el rendimiento en el dominio del procesamiento del lenguaje natural (NLP) , específicamente para el reconocimiento de entidades nombradas ; [17] allí, compite con la agrupación de Brown , así como con las representaciones de palabras distribuidas (también conocidas como incrustaciones de palabras neuronales). [14]
El análisis de componentes principales (PCA) se utiliza a menudo para la reducción de dimensión. Dado un conjunto no etiquetado de n vectores de datos de entrada, el PCA genera p (que es mucho menor que la dimensión de los datos de entrada) vectores singulares derechos correspondientes a los p valores singulares más grandes de la matriz de datos, donde la k -ésima fila de la matriz de datos es el k -ésimo vector de datos de entrada desplazado por la media de la muestra de la entrada (es decir, restando la media de la muestra del vector de datos). De manera equivalente, estos vectores singulares son los vectores propios correspondientes a los p valores propios más grandes de la matriz de covarianza de la muestra de los vectores de entrada. Estos p vectores singulares son los vectores de características aprendidos de los datos de entrada y representan direcciones a lo largo de las cuales los datos tienen las mayores variaciones.
El PCA es un método de aprendizaje de características lineales, ya que los p vectores singulares son funciones lineales de la matriz de datos. Los vectores singulares se pueden generar mediante un algoritmo simple con p iteraciones. En la iteración i , se resta la proyección de la matriz de datos sobre el (i-1) vector propio y se encuentra el i -ésimo vector singular como el vector singular derecho correspondiente al singular más grande de la matriz de datos residual.
El PCA tiene varias limitaciones. En primer lugar, supone que las direcciones con gran varianza son las de mayor interés, lo que puede no ser el caso. El PCA solo se basa en transformaciones ortogonales de los datos originales y explota solo los momentos de primer y segundo orden de los datos, que pueden no caracterizar bien la distribución de datos. Además, el PCA puede reducir eficazmente la dimensión solo cuando los vectores de datos de entrada están correlacionados (lo que da como resultado unos pocos valores propios dominantes).
La incrustación lineal local (LLE) es un enfoque de aprendizaje no lineal para generar representaciones de baja dimensión que preservan los vecinos a partir de una entrada de alta dimensión (sin etiquetar). El enfoque fue propuesto por Roweis y Saul (2000). [18] [19] La idea general de LLE es reconstruir los datos originales de alta dimensión utilizando puntos de menor dimensión mientras se mantienen algunas propiedades geométricas de los vecindarios en el conjunto de datos original.
LLE consta de dos pasos principales. El primer paso es para la "preservación de vecinos", donde cada punto de datos de entrada Xi se reconstruye como una suma ponderada de K puntos de datos vecinos más cercanos , y los pesos óptimos se encuentran minimizando el error de reconstrucción cuadrático promedio (es decir, la diferencia entre un punto de entrada y su reconstrucción) bajo la restricción de que los pesos asociados con cada punto sumen uno. El segundo paso es para la "reducción de dimensión", mediante la búsqueda de vectores en un espacio de menor dimensión que minimice el error de representación utilizando los pesos optimizados en el primer paso. Tenga en cuenta que en el primer paso, los pesos se optimizan con datos fijos, que se pueden resolver como un problema de mínimos cuadrados . En el segundo paso, los puntos de menor dimensión se optimizan con pesos fijos, que se pueden resolver mediante la descomposición de valores propios dispersos.
Los pesos de reconstrucción obtenidos en el primer paso capturan las "propiedades geométricas intrínsecas" de un vecindario en los datos de entrada. [19] Se supone que los datos originales se encuentran en una variedad suave de menor dimensión , y se espera que las "propiedades geométricas intrínsecas" capturadas por los pesos de los datos originales también estén en la variedad. Es por eso que se utilizan los mismos pesos en el segundo paso de LLE. En comparación con PCA, LLE es más poderoso en la explotación de la estructura de datos subyacente.
El análisis de componentes independientes (ICA) es una técnica para formar una representación de datos utilizando una suma ponderada de componentes no gaussianos independientes. [20] Se impone el supuesto de que no son gaussianos ya que los pesos no se pueden determinar de forma única cuando todos los componentes siguen una distribución gaussiana .
El aprendizaje de diccionarios no supervisado no utiliza etiquetas de datos y explota la estructura subyacente de los datos para optimizar los elementos del diccionario. Un ejemplo de aprendizaje de diccionarios no supervisado es la codificación dispersa , que tiene como objetivo aprender funciones base (elementos del diccionario) para la representación de datos a partir de datos de entrada no etiquetados. La codificación dispersa se puede aplicar para aprender diccionarios sobrecompletos, donde el número de elementos del diccionario es mayor que la dimensión de los datos de entrada. [21] Aharon et al. propusieron el algoritmo K-SVD para aprender un diccionario de elementos que permite la representación dispersa. [22]
La arquitectura jerárquica del sistema neuronal biológico inspira arquitecturas de aprendizaje profundo para el aprendizaje de características mediante el apilamiento de múltiples capas de nodos de aprendizaje. [23] Estas arquitecturas a menudo se diseñan basándose en el supuesto de representación distribuida : los datos observados se generan por las interacciones de muchos factores diferentes en múltiples niveles. En una arquitectura de aprendizaje profundo, la salida de cada capa intermedia se puede ver como una representación de los datos de entrada originales. Cada nivel utiliza la representación producida por el nivel anterior, inferior, como entrada y produce nuevas representaciones como salida, que luego se alimentan a niveles superiores. La entrada en la capa inferior son datos sin procesar, y la salida de la capa final, más alta, es la característica o representación final de baja dimensión.
Las máquinas de Boltzmann restringidas (RBM) se utilizan a menudo como un bloque de construcción para arquitecturas de aprendizaje multicapa. [6] [24] Una RBM puede representarse mediante un gráfico bipartito no dirigido que consiste en un grupo de variables ocultas binarias , un grupo de variables visibles y aristas que conectan los nodos ocultos y visibles. Es un caso especial de las máquinas de Boltzmann más generales con la restricción de que no hay conexiones intra-nodo. Cada arista en una RBM está asociada con un peso. Los pesos junto con las conexiones definen una función de energía , en base a la cual se puede idear una distribución conjunta de nodos visibles y ocultos. Con base en la topología de la RBM, las variables ocultas (visibles) son independientes, condicionadas a las variables visibles (ocultas). [ aclaración necesaria ] Tal independencia condicional facilita los cálculos.
Un RBM puede considerarse como una arquitectura de una sola capa para el aprendizaje de características no supervisado. En particular, las variables visibles corresponden a los datos de entrada y las variables ocultas corresponden a los detectores de características. Los pesos pueden entrenarse maximizando la probabilidad de las variables visibles utilizando el algoritmo de divergencia contrastiva (CD) de Hinton . [24]
En general, el entrenamiento de los RBM mediante la solución del problema de maximización tiende a dar como resultado representaciones no dispersas. Se propuso Sparse RBM [25] para permitir representaciones dispersas. La idea es agregar un término de regularización en la función objetivo de la verosimilitud de los datos, que penaliza la desviación de las variables ocultas esperadas con respecto a una pequeña constante . Los RBM también se han utilizado para obtener representaciones desenredadas de datos, donde las características interesantes se asignan a unidades ocultas separadas. [26]
Un autocodificador que consta de un codificador y un decodificador es un paradigma para las arquitecturas de aprendizaje profundo. Hinton y Salakhutdinov [24] proporcionan un ejemplo donde el codificador utiliza datos sin procesar (por ejemplo, imagen) como entrada y produce una característica o representación como salida y el decodificador utiliza la característica extraída del codificador como entrada y reconstruye los datos sin procesar de entrada originales como salida. El codificador y el decodificador se construyen apilando múltiples capas de RBM. Los parámetros involucrados en la arquitectura se entrenaron originalmente de una manera codiciosa capa por capa: después de que se aprende una capa de detectores de características, se alimentan como variables visibles para entrenar el RBM correspondiente. Los enfoques actuales generalmente aplican entrenamiento de extremo a extremo con métodos de descenso de gradiente estocástico . El entrenamiento se puede repetir hasta que se cumplan algunos criterios de detención.
El aprendizaje de representación autosupervisado consiste en aprender características mediante el entrenamiento en la estructura de datos no etiquetados en lugar de depender de etiquetas explícitas para una señal de información . Este enfoque ha permitido el uso combinado de arquitecturas de redes neuronales profundas y conjuntos de datos no etiquetados más grandes para producir representaciones de características profundas. [9] Las tareas de entrenamiento suelen caer dentro de las clases de contrastivo, generativo o ambos. [27] El aprendizaje de representación contrastivo entrena representaciones para pares de datos asociados, llamados muestras positivas, para que se alineen, mientras que los pares sin relación, llamados muestras negativas, se contrastan. Por lo general, se necesita una porción más grande de muestras negativas para evitar un colapso catastrófico, que es cuando todas las entradas se asignan a la misma representación. [9] El aprendizaje de representación generativa asigna al modelo la tarea de producir los datos correctos para que coincidan con una entrada restringida o reconstruir la entrada completa a partir de una representación de dimensión inferior. [27]
Una configuración común para el aprendizaje de representaciones autosupervisadas de un cierto tipo de datos (por ejemplo, texto, imagen, audio, video) es entrenar previamente el modelo utilizando grandes conjuntos de datos de contexto general, datos no etiquetados. [11] Dependiendo del contexto, el resultado de esto es un conjunto de representaciones para segmentos de datos comunes (por ejemplo, palabras) en los que se pueden dividir los nuevos datos, o una red neuronal capaz de convertir cada nuevo punto de datos (por ejemplo, imagen) en un conjunto de características de menor dimensión. [9] En cualquier caso, las representaciones de salida se pueden utilizar como una inicialización en muchos entornos de problemas diferentes donde los datos etiquetados pueden ser limitados. La especialización del modelo para tareas específicas se realiza típicamente con aprendizaje supervisado, ya sea ajustando el modelo / representaciones con las etiquetas como señal, o congelando las representaciones y entrenando un modelo adicional que las toma como entrada. [11]
Se han desarrollado muchos esquemas de entrenamiento autosupervisados para su uso en el aprendizaje de representaciones de diversas modalidades , que a menudo muestran primero una aplicación exitosa en texto o imagen antes de ser transferidos a otros tipos de datos. [9]
Word2vec es una técnica de incrustación de palabras que aprende a representar palabras mediante la autosupervisión de cada palabra y sus palabras vecinas en una ventana deslizante a lo largo de un gran corpus de texto. [28] El modelo tiene dos posibles esquemas de entrenamiento para producir representaciones de vectores de palabras, uno generativo y otro contrastivo. [27] El primero es la predicción de palabras dada cada una de las palabras vecinas como entrada. [28] El segundo es el entrenamiento en la similitud de representación para palabras vecinas y la disimilitud de representación para pares aleatorios de palabras. [10] Una limitación de word2vec es que solo se utiliza la estructura de coocurrencia por pares de los datos, y no el ordenamiento o el conjunto completo de palabras de contexto. Los enfoques de aprendizaje de representación basados en transformadores más recientes intentan resolver esto con tareas de predicción de palabras. [9] Los GPT se entrenan previamente en la predicción de la próxima palabra utilizando palabras de entrada anteriores como contexto, [29] mientras que BERT enmascara tokens aleatorios para proporcionar un contexto bidireccional. [30]
Otras técnicas autosupervisadas amplían las incrustaciones de palabras al encontrar representaciones para estructuras de texto más grandes, como oraciones o párrafos, en los datos de entrada. [9] Doc2vec extiende el enfoque de entrenamiento generativo en word2vec al agregar una entrada adicional a la tarea de predicción de palabras en función del párrafo en el que se encuentra y, por lo tanto, está destinado a representar el contexto a nivel de párrafo. [31]
El dominio del aprendizaje de la representación de imágenes ha empleado muchas técnicas de entrenamiento autosupervisadas diferentes, incluidas la transformación, [32] la reproducción en color, [33] la discriminación de parches , [34] y la agrupación. [35]
Ejemplos de enfoques generativos son los codificadores de contexto, que entrenan una arquitectura CNN de AlexNet para generar una región de imagen eliminada dada la imagen enmascarada como entrada, [33] e iGPT, que aplica la arquitectura del modelo de lenguaje GPT-2 a las imágenes mediante el entrenamiento en predicción de píxeles después de reducir la resolución de la imagen . [36]
Muchos otros métodos autosupervisados utilizan redes siamesas , que generan diferentes vistas de la imagen a través de varios aumentos que luego se alinean para tener representaciones similares. El desafío es evitar soluciones colapsantes donde el modelo codifica todas las imágenes a la misma representación. [37] SimCLR es un enfoque contrastivo que utiliza ejemplos negativos para generar representaciones de imágenes con una CNN ResNet . [34] Bootstrap Your Own Latent (BYOL) elimina la necesidad de muestras negativas al codificar una de las vistas con un promedio móvil lento de los parámetros del modelo a medida que se modifican durante el entrenamiento. [38]
El objetivo de muchas técnicas de aprendizaje de representación gráfica es producir una representación integrada de cada nodo en función de la topología general de la red . [39] node2vec extiende la técnica de entrenamiento word2vec a los nodos de un gráfico utilizando la coocurrencia en recorridos aleatorios a través del gráfico como medida de asociación. [40] Otro enfoque es maximizar la información mutua , una medida de similitud, entre las representaciones de estructuras asociadas dentro del gráfico. [9] Un ejemplo es Deep Graph Infomax, que utiliza autosupervisión contrastiva basada en información mutua entre la representación de un "parche" alrededor de cada nodo y una representación resumida de todo el gráfico. Las muestras negativas se obtienen emparejando la representación gráfica con representaciones de otro gráfico en un entorno de entrenamiento multigráfico o representaciones de parches corruptos en un entrenamiento de un solo gráfico. [41]
Con resultados análogos en la predicción enmascarada [42] y la agrupación [43] , los enfoques de aprendizaje de la representación de video a menudo son similares a las técnicas de imágenes, pero deben utilizar la secuencia temporal de fotogramas de video como una estructura aprendida adicional. Los ejemplos incluyen VCP, que enmascara videoclips y entrena para elegir el correcto dado un conjunto de opciones de clip, y Xu et al., que entrenan una CNN 3D para identificar el orden original dado un conjunto aleatorio de videoclips. [44]
Las técnicas de representación autosupervisadas también se han aplicado a muchos formatos de datos de audio, en particular para el procesamiento de voz . [9] Wav2vec 2.0 discretiza la forma de onda de audio en pasos de tiempo a través de convoluciones temporales y luego entrena un transformador en la predicción enmascarada de pasos de tiempo aleatorios utilizando una pérdida contrastiva. [45] Esto es similar al modelo de lenguaje BERT , excepto que, como en muchos enfoques SSL para video, el modelo elige entre un conjunto de opciones en lugar de sobre todo el vocabulario de palabras. [30] [45]
El aprendizaje autosupervisado también se ha utilizado para desarrollar representaciones conjuntas de múltiples tipos de datos. [9] Los enfoques generalmente se basan en alguna asociación natural o derivada del ser humano entre las modalidades como una etiqueta implícita, por ejemplo, videoclips de animales u objetos con sonidos característicos, [46] o subtítulos escritos para describir imágenes. [47] CLIP produce un espacio de representación conjunta de imagen y texto mediante el entrenamiento para alinear las codificaciones de imagen y texto a partir de un gran conjunto de datos de pares de imagen y subtítulo utilizando una pérdida contrastiva. [47] MERLOT Reserve entrena un codificador basado en transformador para representar conjuntamente audio, subtítulos y fotogramas de vídeo a partir de un gran conjunto de datos de vídeos a través de 3 tareas de preentrenamiento conjuntas: predicción enmascarada contrastiva de segmentos de audio o texto dados los fotogramas de vídeo y el contexto de audio y texto circundante, junto con la alineación contrastiva de los fotogramas de vídeo con sus subtítulos correspondientes. [46]
Los modelos de representación multimodal normalmente no pueden suponer una correspondencia directa de las representaciones en las diferentes modalidades, ya que la alineación precisa puede ser a menudo ruidosa o ambigua. Por ejemplo, el texto "perro" podría estar emparejado con muchas imágenes diferentes de perros y, en consecuencia, una imagen de un perro podría tener un título con distintos grados de especificidad. Esta limitación significa que las tareas posteriores pueden requerir una red de mapeo generativo adicional entre modalidades para lograr un rendimiento óptimo, como en DALLE-2 para la generación de texto a imagen. [48]
Los métodos de aprendizaje de representación dinámica [49] generan incrustaciones latentes para sistemas dinámicos como redes dinámicas. Dado que las funciones de distancia particulares son invariantes bajo transformaciones lineales particulares, diferentes conjuntos de vectores de incrustación pueden representar en realidad la misma información o información similar. Por lo tanto, para un sistema dinámico, una diferencia temporal en sus incrustaciones puede explicarse por la desalineación de las incrustaciones debido a transformaciones arbitrarias y/o cambios reales en el sistema. [50] Por lo tanto, en términos generales, las incrustaciones temporales aprendidas a través de métodos de aprendizaje de representación dinámica deben inspeccionarse para detectar cualquier cambio espurio y alinearse antes de los análisis dinámicos consecuentes.
{{cite journal}}
: Requiere citar revista |journal=
( ayuda ){{cite journal}}
: Requiere citar revista |journal=
( ayuda ){{cite journal}}
: Requiere citar revista |journal=
( ayuda ){{cite journal}}
: Requiere citar revista |journal=
( ayuda )