Tecnología

Aprendizaje profundo desmitificado – VERSIDAD DE DATOS

El aprendizaje profundo «profundo» se refiere a la cantidad de niveles ocultos involucrados en el diseño. El aprendizaje profundo es una forma de entrenar la inteligencia artificial (IA) para reconocer ciertos datos, como el lenguaje o las caras, y hacer predicciones basadas en experiencias previas. A diferencia del aprendizaje automático, en el que los datos se organizan y envían a través de algoritmos predefinidos, en el aprendizaje profundo se desarrollan y utilizan algoritmos básicos para validar los datos. A continuación, se entrena a la entidad de IA para que «aprenda de forma independiente» con la ayuda de patrones y «muchos» niveles de procesamiento.

El aprendizaje profundo es el resultado de un cambio de paradigma que tuvo lugar durante el primer «invierno de la IA» (alrededor de 1970 a 1980). Winter ofreció un descanso y un nuevo comienzo para pensar en la inteligencia artificial. Después del primer invierno de la IA, el aprendizaje automático fue reemplazado por el aprendizaje profundo como método de entrenamiento de la inteligencia artificial. El aprendizaje automático se separó y se convirtió en una práctica por derecho propio.

La primera aplicación del aprendizaje profundo comenzó en 1979 cuando Kunihiko Fukushima diseñó la «red neuronal convolucional». Usó sistemas que combinaban múltiples grupos con capas convolucionales para crear una red neuronal llamada neocognitrón. Su novedoso diseño permitió a las computadoras «aprender» y desarrollar patrones visuales. Los modelos de Fukushima se entrenaron utilizando una estrategia de refuerzo con activación recurrente en múltiples capas que ganaron fuerza (peso) con el tiempo a medida que el patrón se repetía y reforzaba.

Nodos / neuronas

La red neuronal artificial utiliza una colección de nodos que están conectados y se describen como neuronas artificiales. Las «conexiones» actúan como sinapsis y funcionan cuando una neurona artificial envía una señal a otra neurona. La neurona artificial que recibe la señal la procesa y luego envía señales a otras neuronas artificiales conectadas a ella. Durante el proceso, las neuronas utilizan una función de activación para «estandarizar» los datos (salida) que provienen de la neurona.

Las conexiones (o sinapsis) entre neuronas están vinculadas intencionalmente a un peso. Este peso controla la importancia y el valor de la entrada. Los pesos se establecen inicialmente de forma aleatoria y cambian con la experiencia.

capas

El aprendizaje profundo utiliza miles de neuronas interconectadas artificialmente dispuestas en «múltiples capas de procesamiento». (Los sistemas de aprendizaje automático suelen utilizar dos niveles). Estos múltiples niveles de procesamiento proporcionan abstracciones de mayor nivel, mejores clasificaciones y predicciones más precisas. El aprendizaje profundo es una gran herramienta para trabajar con reconocimiento de voz, habilidades conversacionales y big data.

Cada capa de nodos / neuronas se entrena utilizando características obtenidas de la salida de la capa anterior. A medida que los datos avanzan a través de la red neuronal, se pueden reconocer características más complejas a medida que agregan y recombinan características de la capa anterior. Actualmente existen tres tipos de capas para redes neuronales:

  • El plano de entrada recibe datos
  • Las capas ocultas procesan datos de las entradas
  • La capa de salida proporciona respuestas y predicciones.

Las redes neuronales pueden aprender de forma no lineal y ofrecen una ventaja significativa sobre los sistemas de aprendizaje automático anteriores. Esto permite que las redes neuronales localicen características sutiles, posiblemente «confusas» en una imagen (por ejemplo, naranjas en un árbol, algunas a la luz del sol y otras a la sombra). Esta «capacidad» es el resultado de utilizar una capa de activación diseñada para exagerar los detalles «útiles» durante el proceso de identificación.

Redes neuronales artificiales

Las redes neuronales artificiales son sistemas informáticos que se basan libremente en el diseño de redes neuronales en el cerebro humano. Aunque estas redes artificiales aún no son tan eficientes como los cerebros vivos orgánicos, funcionan de manera similar. Los sistemas aprenden a través de la experiencia, al igual que lo hace un cerebro vivo. Aprende a realizar tareas comparando muestras, generalmente sin metas asignadas específicamente.

Un ejemplo sería el reconocimiento de imágenes, donde las redes neuronales se entrenan para identificar imágenes de perros mostrando imágenes etiquetadas como «perro» o «no perro» y usando los resultados para identificar perros. Las redes neuronales artificiales comienzan desde cero sin datos ni comprensión de las características de un perro. Cada sistema desarrolla una comprensión básica de las características relevantes que busca.

Actualmente existen seis tipos diferentes de redes neuronales. Sin embargo, solo dos han ganado una popularidad significativa: recurrente y feedforward. Las redes neuronales directas envían datos en una sola dirección y generalmente se consideran el tipo más simple de red neuronal. Los datos se envían desde los nodos de entrada a los nodos de salida a través de los nodos ocultos. Las redes neuronales feedforward no utilizan bucles ni ciclos.

Las redes neuronales recurrentes, por otro lado, utilizan las conexiones entre nodos (sinapsis) y permiten que los datos fluyan «hacia adelante y hacia atrás». La red neuronal recurrente crea un ciclo dirigido que se expresa como «comportamiento temporal dinámico». Básicamente, esto significa que las redes neuronales repetidas utilizan un bucle simple para recordar lo que aprendieron de las entradas anteriores. El ciclo toma los datos de la marca de tiempo anterior y luego los agrega a la entrada de la marca de tiempo actual. La red neuronal de repetición puede utilizar su memoria interna para procesar la secuencia de entrada. Esta forma de red neuronal es muy popular para la comparación de escritura a mano y el reconocimiento de voz.

Algoritmos de aprendizaje profundo

Los algoritmos con una cascada de capas para unidades de procesamiento no lineales se usan comúnmente en el aprendizaje profundo. Cada nivel utiliza la salida del nivel anterior como entrada. El aprendizaje profundo también incluye varios niveles de representación que corresponden a diferentes niveles de abstracción. Estos niveles se convierten en una jerarquía de conceptos.

Un algoritmo llamado «extracción de características» ofrece otro aspecto del aprendizaje profundo. Esto crea automáticamente «funciones» significativas para el aprendizaje y la comprensión. Entrenar a una entidad de IA en la extracción de características requiere tres tipos diferentes de muestras llamadas «objetivo», «no objetivo» y «confusión». La imagen de destino, por ejemplo, un automóvil, se muestra en varias fotos. La imagen que no es el objetivo no muestra autos, y los confusores son imágenes que podrían confundir a la entidad de inteligencia artificial.

Las técnicas de entrenamiento de aprendizaje profundo han mejorado la capacidad de las entidades de inteligencia artificial para reconocer, reconocer, categorizar y describir. Una serie de avances en el aprendizaje profundo incluyen:

  • Los descubrimientos algorítmicos han mejorado el rendimiento de las técnicas de aprendizaje profundo.
  • Nuevos enfoques que han mejorado las capacidades de reconocimiento de varias IA.
  • Nuevos tipos de redes neuronales que se adaptan bien a aplicaciones como clasificación de imágenes y traducción de texto.
  • Hay muchos más datos disponibles para construir redes neuronales con muchas capas profundas.
  • Uso de GPU en combinación con la nube para poner a disposición una increíble potencia de procesamiento para tácticas de aprendizaje profundo.

Los beneficios del aprendizaje profundo

El aprendizaje profundo y el uso de redes neuronales ofrecen actualmente las mejores soluciones a muchos de los problemas encontrados en el reconocimiento de imágenes, el reconocimiento de voz y el procesamiento del lenguaje natural. Las redes de aprendizaje profundo también se pueden aplicar con éxito a big data, aplicaciones de conocimiento y previsión.

El aprendizaje profundo reduce la necesidad de ingeniería de funciones, que es un proceso que requiere mucho tiempo en la industria del aprendizaje automático. Además, la arquitectura se puede adaptar con relativa facilidad para resolver nuevos problemas. El manejo de problemas de lenguaje, imagen y series de tiempo requiere técnicas como redes neuronales repetitivas, redes neuronales convolucionales y memoria a corto plazo (LSTM) para procesar datos.

La mayoría de los algoritmos que trabajan con datos secuenciales tienen una memoria que contiene los últimos 10 pasos de tiempo. La memoria a largo plazo (inventada en 1997 por Jürgen Schmidhuber y Sepp Hochreiter), sin embargo, no está sujeta a las mismas restricciones. Funciona con redes neuronales repetitivas y permite que la red capture la actividad de cientos de pasos de tiempo del pasado y la utilice para realizar predicciones más precisas. Las redes LSTM generalmente se han ignorado durante los últimos 10 años, pero su uso continúa creciendo y es una de las razones por las que el aprendizaje profundo se ha vuelto tan exitoso.

Imagen utilizada bajo licencia de Shutterstock.com