Aprendizaje de funciones - Feature learning

En el aprendizaje automático , el aprendizaje de características o el aprendizaje de representaciones es un conjunto de técnicas que permite 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 funciones manual y permite que una máquina aprenda las funciones y las use para realizar una tarea específica.

El aprendizaje de características está motivado por el hecho de que las tareas de aprendizaje automático, como la clasificación, a menudo requieren una entrada que sea matemática y computacionalmente conveniente de procesar. Sin embargo, los datos del mundo real, como imágenes, video y datos de sensores, no han cedido a los intentos de definir características específicas algorítmicamente. Una alternativa es descubrir tales características o representaciones a través del examen, sin depender de algoritmos explícitos.

El aprendizaje de funciones puede ser supervisado o no supervisado.

Supervisado

El aprendizaje de funciones supervisado consiste en aprender funciones a partir de datos etiquetados. La etiqueta de datos permite que el sistema calcule un término de error, el grado en que el sistema falla en producir la etiqueta, que luego puede usarse como retroalimentación para corregir el proceso de aprendizaje (reducir / minimizar el error). Los enfoques incluyen:

Aprendizaje supervisado de diccionarios

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 puede 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 en los pesos para permitir la dispersión (es decir, la representación de cada punto de datos tiene solo unos pocos pesos distintos de cero).

El aprendizaje de diccionario supervisado aprovecha tanto la estructura subyacente de los datos de entrada como las etiquetas para optimizar los elementos del diccionario. Por ejemplo, esta técnica de aprendizaje de diccionario supervisado aplica el aprendizaje de diccionario en problemas de clasificación optimizando conjuntamente los elementos del diccionario, los pesos para representar puntos de datos y los parámetros del clasificador basados ​​en 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 representativos para cada punto de datos (para permitir una representación dispersa de datos) y una regularización L2 en los parámetros. del clasificador.

Redes neuronales

Las redes neuronales son una familia de algoritmos de aprendizaje que utilizan una "red" que consta de múltiples capas de nodos interconectados. Está inspirado en el sistema nervioso animal, donde los nodos se ven como neuronas y los bordes como 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 apropiadamente, 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 el aprendizaje de características, ya que aprenden una representación de su entrada en las capas ocultas que posteriormente 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 .

Sin supervisión

El aprendizaje de funciones sin supervisión consiste en aprender funciones a partir de datos sin etiquetar. El objetivo del aprendizaje de características sin supervisión es a menudo descubrir características de baja dimensión que capturan alguna estructura subyacente a los datos de entrada de alta dimensión. Cuando el aprendizaje de características se realiza de manera no supervisada, habilita una forma de aprendizaje semisupervisado en el que las características aprendidas de un conjunto de datos sin etiquetar se emplean para mejorar el rendimiento en un entorno supervisado con datos etiquetados. A continuación se presentan varios enfoques.

K significa agrupamiento

La agrupación de K- medias es un enfoque para la cuantificación de vectores. En particular, dado un conjunto de n vectores, k significa que agruparlos 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 , aunquese han desarrollado algoritmos codiciosos subóptimos.

La agrupación de K-means se puede utilizar para agrupar un conjunto de entradas sin etiquetar en k agrupaciones y luego utilizar los centroides de estas agrupaciones para producir características. Estas características se pueden producir de varias formas. La más simple es agregar k características binarias a cada muestra, donde cada característica j tiene valor uno si el j- ésimo centroide aprendido por k -medias es el más cercano a la muestra bajo consideración. También es posible utilizar las distancias a los conglomerados como características, quizás después de transformarlas mediante una función de base radial (una técnica que se ha utilizado para entrenar redes RBF ). Coates y Ng señalan que ciertas variantes de k- medias se comportan de manera similar a los algoritmos de codificación dispersos .

En una evaluación comparativa de métodos de aprendizaje de características no supervisados, Coates, Lee y Ng encontraron que el agrupamiento de k significa 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. K- significa también mejora el desempeño en el dominio de la PNL , específicamente para el reconocimiento de entidades nombradas ; allí, compite con la agrupación de Brown , así como con las representaciones de palabras distribuidas (también conocidas como incrustaciones de palabras neuronales).

Análisis de componentes principales

El análisis de componentes principales (PCA) se utiliza a menudo para la reducción de dimensiones. Dado un conjunto no etiquetado de n vectores de datos de entrada, PCA genera p (que es mucho más pequeño 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 muestral de la entrada (es decir, restando la media muestral del vector de datos). De manera equivalente, estos vectores singulares son los autovectores correspondientes a los p valores propios más grandes de la matriz de covarianza muestral 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 variaciones más grandes.

PCA es un enfoque 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 i- ésima iteración, se resta la proyección de la matriz de datos sobre el vector propio (i-1) , y el i- ésimo vector singular se encuentra como el vector singular derecho correspondiente al singular más grande de la matriz de datos residuales.

PCA tiene varias limitaciones. Primero, asume que las direcciones con gran variación son de mayor interés, lo que puede no ser el caso. 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, PCA puede reducir la dimensión de manera efectiva solo cuando los vectores de datos de entrada están correlacionados (lo que da como resultado unos pocos valores propios dominantes).

Incrustación lineal local

La incrustación lineal local (LLE) es un enfoque de aprendizaje no lineal para generar representaciones de preservación de vecinos de baja dimensión a partir de entradas de alta dimensión (sin etiquetar). El enfoque fue propuesto por Roweis y Saul (2000). 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 "conservación de vecinos", donde cada punto de datos de entrada Xi se reconstruye como una suma ponderada de K puntos de datos de vecinos más cercanos , y los pesos óptimos se encuentran minimizando el error de reconstrucción cuadrático medio (es decir, la diferencia entre una entrada punto 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", buscando vectores en un espacio de menor dimensión que minimiza 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 dimensiones inferiores se optimizan con pesos fijos, que se pueden resolver mediante una descomposición escasa de valores propios.

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. Se supone que los datos originales se encuentran en una variedad suave de dimensiones inferiores , 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. Comparado con PCA, LLE es más poderoso para explotar la estructura de datos subyacente.

Análisis de componentes independientes

El análisis de componentes independientes (ICA) es una técnica para formar una representación de datos utilizando una suma ponderada de componentes independientes no gaussianos. Se impone el supuesto de no gaussiano ya que los pesos no se pueden determinar de forma única cuando todos los componentes siguen la distribución gaussiana .

Aprendizaje de diccionario sin supervisión

El aprendizaje de diccionario sin supervisión no utiliza etiquetas de datos y explota la estructura subyacente a los datos para optimizar los elementos del diccionario. Un ejemplo de aprendizaje de diccionario sin supervisión es la codificación escasa , que tiene como objetivo aprender funciones básicas (elementos de diccionario) para la representación de datos a partir de datos de entrada sin etiquetar. La codificación escasa 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. Aharon y col. propuso el algoritmo K-SVD para el aprendizaje de un diccionario de elementos que permite una representación escasa.

Arquitecturas multicapa / profundas

La arquitectura jerárquica del sistema neuronal biológico inspira arquitecturas de aprendizaje profundo para el aprendizaje de características al apilar múltiples capas de nodos de aprendizaje. Estas arquitecturas a menudo se diseñan basándose en el supuesto de una representación distribuida : los datos observados se generan mediante 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 como entrada y produce nuevas representaciones como salida, que luego se alimenta a niveles superiores. La entrada en la capa inferior son datos sin procesar, y la salida de la capa final es la representación o característica final de baja dimensión.

Máquina de Boltzmann restringida

Las máquinas de Boltzmann restringidas (RBM) se utilizan a menudo como un bloque de construcción para arquitecturas de aprendizaje multicapa. Un RBM se puede representar mediante un gráfico bipartito no dirigido que consta de un grupo de variables binarias ocultas , un grupo de variables visibles y bordes que conectan los nodos ocultos y visibles. Es un caso especial de las máquinas Boltzmann más generales con la restricción de que no haya conexiones intranodo. Cada borde en un RBM está asociado con un peso. Los pesos junto con las conexiones definen una función energética , a partir de la cual se puede diseñar una distribución conjunta de nodos visibles y ocultos. Según la topología de la RBM, las variables ocultas (visibles) son independientes, condicionadas por las variables visibles (ocultas). Tal independencia condicional facilita los cálculos.

Un RBM puede verse como una arquitectura de una sola capa para el aprendizaje de funciones sin supervisión. En particular, las variables visibles corresponden a datos de entrada y las variables ocultas corresponden a detectores de características. Los pesos pueden ser entrenados mediante la maximización de la probabilidad de las variables visibles utilizando Hinton 's divergencia contrastivo (CD) algoritmo.

En general, el entrenamiento de la GBR resolviendo el problema de maximización tiende a dar como resultado representaciones no dispersas. Se propuso una GBR dispersa para permitir representaciones dispersas. La idea es agregar un término de regularización en la función objetivo de verosimilitud de los datos, lo que penaliza la desviación de las variables ocultas esperadas de una pequeña constante .

Autoencoder

Un autoencoder que consta de un codificador y un decodificador es un paradigma para las arquitecturas de aprendizaje profundo. Hinton y Salakhutdinov proporcionan un ejemplo en el que el codificador usa datos sin procesar (por ejemplo, una imagen) como entrada y produce una característica o representación como salida y el decodificador usa 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 ávida capa por capa: después de que se aprende una capa de detectores de características, se alimentan como variables visibles para entrenar la GBR correspondiente. Los enfoques actuales suelen aplicar el entrenamiento de un extremo a otro con métodos de descenso de gradiente estocástico . El entrenamiento se puede repetir hasta que se cumplan algunos criterios de parada.

Ver también

Referencias