Algoritmos de aprendizaje profundo - Los 7 mejores métodos arquitectónicos para el aprendizaje profundo

Tabla de contenido:

Anonim

Introducción a los algoritmos de aprendizaje profundo

El aprendizaje profundo es un paso para acercarse a la Inteligencia Artificial, que podría tomar decisiones como el cerebro humano, es decir, tener la capacidad de aprender por ensayo y error al igual que los humanos. El cerebro humano tiene miles de millones de neuronas (alrededor de 86 mil millones; fuente: Wikipedia). Con las neuronas artificiales, el aprendizaje profundo también ayuda a imitar la mente humana. Para procesar la información y tomar la decisión a través de redes neuronales artificiales, existen algunos algoritmos, llamados algoritmos de aprendizaje profundo. Los algoritmos aprenden en cada capa progresivamente, es decir; Se agrega más valor de las características en la siguiente capa. Un modelo de aprendizaje profundo puede sobreajustar si los datos son pequeños o incompletos o demasiado simples. Los algoritmos de aprendizaje profundo son efectivos cuando los datos son vastos.

Algoritmos de aprendizaje profundo

Para crear un modelo de aprendizaje profundo, uno debe escribir varios algoritmos, combinarlos y crear una red de neuronas. El aprendizaje profundo tiene un alto costo computacional. Para ayudar a los modelos de aprendizaje profundo, existen plataformas de aprendizaje profundo como Tensor flow, Py-Torch, Chainer, Keras, etc. En el aprendizaje profundo hemos tratado de replicar la red neuronal humana con una red neuronal artificial, la neurona humana se llama perceptrón en el modelo de aprendizaje profundo. Conectamos estas unidades de perceptrón para crear una red neuronal, tiene 3 secciones:

  1. Capa de entrada
  2. Capas ocultas
  3. Capa de salida

Un perceptrón tiene nodos de entrada (dendritas en el cerebro humano), una función de actuación para tomar una pequeña decisión y nodos de salida (axón en el cerebro humano). Veremos cómo funciona un perceptrón, al conectarlos juntos se creará un modelo de aprendizaje profundo. La información de entrada (número de variables / características de entrada) se asigna un peso y se alimenta a la función de actuación. La función de actuación toma una decisión y envía la salida. La salida de este perceptrón será ingresada a otras neuronas. Una vez que se procesa el lote, se calcula el error de propagación hacia atrás en cada neurona, con la ayuda de una función de costo / entropía cruzada. De esta manera, los pesos de entrada se reasignan y todo el proceso continúa hasta que la entropía cruzada satisfaga la condición.

Tenemos diferentes funciones de actuación como funciones sigmoideas, función de tangente hiperbólica, unidad lineal rectificada (ReLU), para tomar una pequeña decisión. Un modelo de aprendizaje profundo necesita una gran cantidad de datos para construir un buen modelo. En general, un modelo con más de 3 capas ocultas se trata como una red neuronal profunda. Básicamente, el aprendizaje profundo es un conjunto de neuronas con una serie de parámetros definidos para cada capa. Para crear el modelo de Deep Learning, las arquitecturas populares son RNN, CNN, etc.

Métodos arquitectónicos para algoritmos de aprendizaje profundo

Para construir esta arquitectura se utilizan los siguientes algoritmos:

1. Propagación hacia atrás

En este algoritmo, calculamos derivadas parciales. En general, el método de descenso de gradiente para la optimización, las derivadas (gradientes) se calculan en cada iteración. En el aprendizaje profundo las funciones no son simples, son la composición de diferentes funciones. En este caso, es difícil calcular gradientes, por lo que utilizamos una diferenciación aproximada para calcular derivadas. Cuanto mayor sea el número de parámetros, más costosa será la diferenciación aproximada.

2. Descenso de gradiente estocástico

En el descenso de gradiente, el objetivo es encontrar mínimos globales o una solución óptima. Pero para conseguir eso también tenemos que considerar soluciones mínimas locales (no deseadas). Si la función objetivo es convexa, es fácil encontrar los mínimos globales. El valor inicial de la función y la tasa de aprendizaje son parámetros decisivos para encontrar mínimos globales. Esto puede entenderse fácilmente considerando un río que viene de la cima de la montaña y está buscando una ladera (mínimos globales). Pero en el camino, habrá algunos altibajos (mínimos locales) que deben evitarse. El punto de origen del río y la velocidad (valor inicial y tasa de aprendizaje en nuestro caso) son factores decisivos para encontrar mínimos globales.

3. Tasa de aprendizaje

La tasa de aprendizaje es como la velocidad del río, puede reducir el tiempo de entrenamiento y aumentar el rendimiento. En general, para aprender cualquier técnica / deporte, al principio, la tasa de aprendizaje es relativamente alta que al final cuando uno debe dominarla. Después de la etapa intermedia, el aprendizaje será lento, el enfoque estará en el ajuste fino. Lo mismo se aplica en el aprendizaje profundo. Los cambios demasiado grandes se abordan mediante una tasa de aprendizaje más alta y disminuyendo lentamente la tasa de aprendizaje más adelante para un ajuste fino.

4. Normalización de lotes

En el aprendizaje profundo, el valor inicial del peso (elegido al azar) y el aprendizaje, la tasa se define para un mini lote. Al principio, habría muchos valores atípicos, y durante la propagación hacia atrás, estos valores atípicos deben compensarse para calcular los pesos para obtener la salida. Esta compensación da como resultado épocas adicionales. Entonces, para evitarlo, usamos la normalización por lotes.

5. Abandonar

En el aprendizaje profundo, generalmente encontramos el problema del sobreajuste. El sobreajuste en redes grandes con varios parámetros dificulta la predicción de los datos de prueba. Entonces, para evitar que usemos el método de abandono, que elimina unidades aleatorias durante el entrenamiento creando diferentes 'redes reducidas'. Cuando se prueban estas predicciones de redes reducidas se promedian, lo que ayuda a evitar el sobreajuste.

6. Bolsa de palabras

Usamos una bolsa continua de palabras para predecir la siguiente palabra. Por ejemplo, vemos en un correo electrónico que escribe la autosugestión para completar la oración es parte de la PNL. Esto se hace considerando muchas oraciones y para una palabra específica que rodea las palabras que se capturan. Estas palabras específicas y las palabras circundantes se alimentan a la red neuronal. Después del modelo de entrenamiento, puede predecir la palabra específica en función de las palabras circundantes.

7. Memoria a corto y largo plazo

LSTM es muy útil en problemas de predicción de secuencias como traducción de idiomas, predicción de ventas y búsqueda del precio de las acciones. LSTM tiene ventaja sobre otras técnicas porque puede considerar datos anteriores. LSTM realiza modificaciones por mecanismo de estados celulares. Recuerda olvidar las cosas. Los 3 aspectos principales de LSTM hacen que se destaque de otras técnicas de aprendizaje profundo. Primero es cuando la neurona debe tener entrada, segundo cuándo recordar datos anteriores y qué olvidar y tercero es cuándo pasar la salida.

Conclusión

Un modelo de aprendizaje profundo es un paso hacia la replicación de la mente humana. En lugar de neuronas biológicas, el aprendizaje profundo utiliza una red neuronal artificial. El aprendizaje profundo tiene un alto costo computacional, que puede reducirse mediante el uso de marcos de aprendizaje profundo como el flujo de Tensor y Py-Torch, etc. RNN, CNN son métodos arquitectónicos para modelos de aprendizaje profundo. En este artículo se analizan diferentes algoritmos de aprendizaje profundo que se utilizan en estas arquitecturas.

Artículos recomendados

Esta es una guía de algoritmos de aprendizaje profundo. Aquí discutimos los métodos arquitectónicos para algoritmos de aprendizaje profundo junto con capas. También puede consultar nuestros otros artículos sugeridos para obtener más información:

  1. Introducción a los algoritmos de aprendizaje automático
  2. Las 14 principales aplicaciones de Machine Learning
  3. Inteligencia artificial vs Aprendizaje automático vs Aprendizaje profundo
  4. Las 13 preguntas y respuestas útiles de la entrevista de aprendizaje profundo