Se explican diferentes tipos de modelos de aprendizaje profundo

El aprendizaje profundo es una clase de técnicas de aprendizaje automático que explotan muchas capas de procesamiento de información no lineal para la extracción y transformación de características supervisadas o no supervisadas, para el análisis y la clasificación de patrones. Consiste en muchas capas jerárquicas para procesar la información de manera no lineal, donde algún concepto de nivel inferior ayuda a definir los conceptos de nivel superior.

Las redes neuronales artificiales poco profundas no son capaces de manejar una cantidad significativa de datos complejos, que son evidentes en muchas aplicaciones de rutina, como el habla natural, las imágenes, la recuperación de información y otras aplicaciones de procesamiento de información similares a las humanas. El aprendizaje profundo es adecuado para tales aplicaciones. Con el aprendizaje profundo, es posible reconocer, clasificar y clasificar patrones en datos para una máquina con relativamente menos esfuerzo. Google es pionero en experimentar el aprendizaje profundo, iniciado por Andrew Ng.

 

El aprendizaje profundo ofrece un procesamiento multicapa similar al humano en comparación con la arquitectura superficial. La idea básica del aprendizaje profundo es emplear el procesamiento jerárquico utilizando muchas capas de arquitectura. Las capas de arquitectura están ordenadas jerárquicamente. Después de varios entrenamientos previos, la entrada de cada capa va a su capa adyacente. Muy a menudo, dicho entrenamiento previo de una capa seleccionada se ejecuta de manera no supervisada.

El aprendizaje profundo sigue un enfoque distribuido para administrar big data. El método supone que los datos se generan teniendo en cuenta numerosos factores, diferentes tiempos y varios niveles. El aprendizaje profundo facilita la disposición y el procesamiento de los datos en diferentes capas de acuerdo con su tiempo (ocurrencia), su escala o naturaleza.

El aprendizaje profundo a menudo se asocia con redes neuronales artificiales. Hay tres categorías de arquitecturas de aprendizaje profundo:

  • Generativo
  • Discriminatorio
  • Arquitecturas híbridas de aprendizaje profundo

Las arquitecturas de categorías generales se centran en la formación previa de una capa de forma no supervisada. Este enfoque elimina la dificultad de entrenar arquitecturas de nivel inferior, que se basan en las capas anteriores. Cada capa puede ser pre-entrenada y luego incluida en el modelo para una mayor afinación general y aprendizaje. Hacer esto resuelve el problema de entrenar la arquitectura de redes neuronales con múltiples capas y permite el aprendizaje profundo.

La arquitectura de red neuronal puede tener una capacidad de procesamiento discriminativa al apilar la salida de cada capa con los datos originales o mediante diversas combinaciones de información y, por lo tanto, formar una arquitectura de aprendizaje profundo. El modelo descriptivo a menudo considera las salidas de la red neuronal como una distribución condicional sobre todas las posibles secuencias de etiquetas para la secuencia de entrada dada, que se optimizará aún más a través de una función objetivo. La arquitectura híbrida combina las propiedades de la arquitectura generativa y discriminativa. Por lo general, se puede hacer un aprendizaje profundo de la siguiente manera.

  • Construya una red que consista en una capa de entrada y una capa oculta con los nodos necesarios
  • Entrena la red
  • Agregue otra capa oculta en la parte superior de la red previamente aprendida para generar una nueva red
  • Vuelva a entrenar la red
  • Repita agregando más capas y después de cada adición, vuelva a entrenar la red

Diferentes tipos de modelos de aprendizaje profundo.

Autoencoders

Un autoencoder es una red neuronal artificial que es capaz de aprender varios patrones de codificación. La forma simple del autoencoder es como el perceptrón multicapa, que contiene una capa de entrada o una o más capas ocultas, o una capa de salida. La diferencia significativa entre el perceptrón multicapa típico y la red neuronal de alimentación directa y el autoencoder está en el número de nodos en la capa de salida. En el caso del codificador automático, la capa de salida contiene la misma cantidad de nodos que en la capa de entrada. En lugar de predecir valores objetivo según el vector de salida, el autoencoder tiene que predecir sus entradas. El esquema general del mecanismo de aprendizaje es el siguiente.

Para cada entrada x,

  • Realice un pase de avance para calcular las funciones de activación proporcionadas en todas las capas ocultas y las capas de salida
  • Encuentre la desviación entre los valores calculados con las entradas usando la función de error apropiada
  • Volver a propagar el error para actualizar los pesos
  • Repita la tarea hasta un resultado satisfactorio.

Si el número de nodos en las capas ocultas es menor que los nodos de entrada / salida, las activaciones de la última capa oculta se consideran una representación comprimida de las entradas. Cuando los nodos de capa oculta son más que la capa de entrada, un codificador automático puede aprender la función de identidad y volverse inútil en la mayoría de los casos.

Red de creencias profundas

Una red de creencias profundas es una solución al problema de manejar funciones objetivas no convexas y mínimos locales mientras se usa el típico perceptrón multicapa. Es un tipo alternativo de aprendizaje profundo que consta de múltiples capas de variables latentes con conexión entre las capas. La red de creencias profundas se puede ver como máquinas de Boltzmann restringidas (RBM), donde la capa oculta de cada subred actúa como la capa de entrada visible para la capa adyacente de la red. Convierte la capa visible más baja en un conjunto de entrenamiento para la capa adyacente de la red. De esta manera, cada capa de la red se entrena de forma independiente y codiciosa. Las variables ocultas se utilizan como variables observadas para entrenar cada capa de la estructura profunda. El algoritmo de entrenamiento para una red de creencias tan profunda se proporciona de la siguiente manera:

  • Considere un vector de entradas
  • Entrene una máquina de Boltzmann restringida utilizando el vector de entrada y obtenga la matriz de peso
  • Entrene las dos capas inferiores de la red utilizando esta matriz de peso
  • Genere un nuevo vector de entrada utilizando la red (RBM) mediante muestreo o activación media de las unidades ocultas
  • Repita el procedimiento hasta llegar a las dos capas superiores de la red.

El ajuste fino de la red de creencias profundas es muy similar al perceptrón multicapa. Estas redes de creencias profundas son útiles en el modelado acústico.

Redes neuronales convolucionales

Una red neuronal convolucional (CNN) es otra variante del perceptrón multicapa de alimentación directa. Es un tipo de red neuronal de alimentación directa, donde las neuronas individuales se ordenan de manera que respondan a todas las regiones superpuestas en el área visual.

Deep CNN funciona modelando consecutivamente pequeñas piezas de información y combinándolas más profundamente en la red. Una forma de entenderlos es que la primera capa intentará identificar bordes y formar plantillas para la detección de bordes. Luego, las capas posteriores intentarán combinarlas en formas más simples y eventualmente en plantillas de diferentes posiciones de objetos, iluminación, escalas, etc. Las capas finales coincidirán con una imagen de entrada con todas las plantillas, y la predicción final es como una suma ponderada de todos ellos Por lo tanto, las CNN profundas pueden modelar variaciones y comportamientos complejos, dando predicciones muy precisas.

Dicha red sigue el mecanismo visual de los organismos vivos. Las células en la corteza visual son sensibles a pequeñas subregiones del campo visual, llamado campo receptivo. Las subregiones están dispuestas para cubrir toda el área visual, y las celdas actúan como filtros locales sobre el espacio de entrada. El algoritmo de retropropagación se usa para entrenar los parámetros de cada núcleo de convolución. Además, cada núcleo se replica sobre toda la imagen con los mismos parámetros. Hay operadores convolucionales que extraen características únicas de la entrada. Además de la capa convolucional, la red contiene una capa de unidad lineal rectificada, agrupando capas para calcular el valor máximo o promedio de una característica sobre una región de la imagen, y una capa de pérdida que consiste en funciones de pérdida específicas de la aplicación. El reconocimiento de imágenes y el análisis de video y el procesamiento del lenguaje natural son aplicaciones importantes de dicha red neuronal.

El área de la visión por computadora ha sido testigo de progresos frecuentes en los últimos años. Uno de los avances más declarados son las CNN. Ahora, las CNN profundas forman el núcleo de las aplicaciones de visión por computadora más sofisticadas y sofisticadas, como autos sin conductor, reconocimiento de gestos, etiquetado automático de amigos en nuestras imágenes de Facebook, características de seguridad facial y reconocimiento automático de matrículas.

Redes neuronales recurrentes

El modelo convolucional funciona en un número fijo de entradas, genera un vector de tamaño fijo como salida con un número predefinido de pasos. Las redes recurrentes nos permiten operar sobre secuencias de vectores en entrada y salida. En el caso de la red neuronal recurrente, la conexión entre unidades forma un ciclo dirigido. A diferencia de la red neuronal tradicional, las entradas y salidas recurrentes de la red neuronal no son independientes sino relacionadas. Además, la red neuronal recurrente comparte los parámetros estándar en cada capa. Uno puede entrenar la red recurrente de una manera similar a la red neuronal tradicional que utiliza el método de retropropagación.

Aquí, el cálculo del gradiente depende no del paso actual sino también de los pasos anteriores. Una variante llamada red neuronal recurrente bidireccional también se usa para muchas aplicaciones. La red neuronal bidireccional considera no solo la salida anterior sino también la futura esperada. En redes neuronales recurrentes bidireccionales y directas, se puede lograr un aprendizaje profundo mediante la introducción de múltiples capas ocultas. Estas redes profundas proporcionan una mayor capacidad de aprendizaje con muchos datos de aprendizaje. El procesamiento del habla, la imagen y el procesamiento del lenguaje natural son algunas de las áreas candidatas donde se pueden usar redes neuronales recurrentes.

Aprendizaje de refuerzo a redes neuronales

El aprendizaje de refuerzo es un tipo de hibridación de programación dinámica y aprendizaje supervisado. Los componentes típicos del enfoque son el medio ambiente, el agente, las acciones, la política y las funciones de costos. El agente actúa como controlador del sistema; La política determina las acciones a tomar, y la función de recompensa especifica el objetivo general del problema de aprendizaje de refuerzo. Se puede considerar que un agente, que recibe la máxima recompensa posible, realiza la mejor acción para un estado determinado.

Aquí, un agente se refiere a una entidad abstracta, ya sea un objeto o un sujeto (automóviles autónomos, robots, humanos, chatbots de atención al cliente, etc.), que realiza acciones. El estado de un agente se refiere a su posición y estado de estar en su entorno abstracto; por ejemplo, una posición específica en un mundo de realidad virtual, un edificio, un tablero de ajedrez o la posición y velocidad en una pista de carreras. El aprendizaje de refuerzo profundo promete un procedimiento de aprendizaje muy generalizado que puede aprender un comportamiento útil con muy poca retroalimentación. Es un área emocionante y desafiante, que sin duda será una parte esencial del futuro paisaje de IA.

Leave a Comment!