Siéntase y hable como un experto en Neural… – Hacia la IA

Estás leyendo la publicación: Siéntase y hable como un experto en Neural… – Hacia la IA

Publicado originalmente en Hacia la IA, la empresa líder mundial en noticias y medios de IA y tecnología. Si está creando un producto o servicio relacionado con la IA, lo invitamos a considerar convertirse en patrocinador de la IA. En Hacia la IA, ayudamos a escalar las empresas emergentes de IA y tecnología. Permítanos ayudarlo a dar rienda suelta a su tecnología a las masas.

Guía de 15 minutos para sentirse súper inteligente con el perceptrón multicapa, las redes neuronales convolucionales y las redes de secuencia

La inteligencia artificial (AI), el aprendizaje automático (ML), el aprendizaje profundo, las redes neuronales artificiales (ANN) son palabras de moda populares, que a menudo se usan indistintamente, de las que todo el mundo habla. Pero, ¿cuántos de nosotros entendemos realmente su significado y sus diferencias? Escuchar terminologías desconocidas, como perceptrón multicapa, propagación hacia adelante, propagación hacia atrás y descenso de gradiente, puede ser confuso para muchos de nosotros. Así que, concretémoslo y sintámonos súper inteligentes la próxima vez que alguien esté delirando sobre este tema. Y la mejor manera de captar nuevos fenómenos es a través de una analogía con algo con lo que todos podemos relacionarnos: ¡los humanos!

Contenido

  • El cerebro humano como inspiración.
  • Perceptrón multicapa (MLP)
  • Red neuronal convolucional (ConvNet)
  • Al igual que los humanos, las redes neuronales aprenden mejor de sus errores
  • Marcos de aprendizaje profundo
  • Al igual que los humanos, las redes neuronales profundas pueden compartir conocimientos
  • Redes de secuencias
  • Grandes mentes profundas

El cerebro humano como inspiración

El fin último de Inteligencia artificial es reemplazar la inteligencia natural y replicar el comportamiento humano, incluido el aprendizaje, la comprensión, el razonamiento, la resolución de problemas y la percepción. Para crear sistemas inteligentes de IA, necesitamos ‘imitar’ el cerebro humano. Los sistemas artificiales ubicuos se han convertido en el nuevo estándar y parte de nuestra vida cotidiana: coches autónomos, robots, reconocimiento de voz, chat-bots (unas “criaturas” bastante molestas, lo sé), navegación GPS, sistemas expertos en salud, reconocimiento de imágenes, lenguaje en línea. traducción, compradores personales, por nombrar algunos.

Aprendizaje automático es una parte integral de la inteligencia artificial y la informática que utiliza datos y algoritmos informáticos para emular el comportamiento de los humanos.

Aprendizaje profundo es el campo más emocionante del aprendizaje automático y la tecnología de punta actual con algunos resultados sorprendentes en muchos campos de IA, incluida la inteligencia ambiental, Internet de las cosas (IoT), robótica, sistemas expertos, visión por computadora y procesamiento de lenguaje natural ( PNL).

Inspirándose en las neuronas cerebrales y las partes funcionales del cerebro para la visión y la memoria, los científicos de IA crearon tres tipos principales de redes de aprendizaje profundo: perceptrón multicapa (MLP) — para parecerse a las neuronas cerebrales, redes neuronales convolucionales (ConvNet): inspirado en la respuesta a los estímulos en el campo visual del cerebro humano, y red de secuenciass — imitando el proceso de memoria de los humanos.

Los principios de construcción para los tres tipos de redes son similares. Usando sus componentes básicos (perceptrón, filtro o celda de memoria), construimos una red creando capas de red de diferentes tamaños y apilándolas, algo similar a los bloques de Lego. Cuantas más capas apilamos, más profunda es la red, de ahí el término acuñado redes neuronales profundas y aprendizaje profundo.

Podemos profundizar tanto como estemos dispuestos a sacrificarnos por la velocidad de procesamiento. Si tiene curiosidad sobre qué tan profunda puede ser una red, “ [1] es una gran lectura! El título de este artículo se inspiró en una expresión frecuentemente citada de la película Inception:

.

La mejor parte es que se pueden combinar capas de estos tres tipos de redes, que es la última tendencia entre los científicos de IA que han creado redes tan heterogéneas con resultados alucinantes. Más sobre esto más adelante.

Continúe leyendo para encontrar más detalles sobre los tres tipos de redes y sus componentes básicos, para comprender cómo aprenden las redes neuronales y cómo comparten el conocimiento y, finalmente, para descubrir las mentes de redes profundas más recientes y más grandes.

Perceptrón multicapa (MLP)

Sinónimos: capa densa, capa completamente conectada

Perceptron: el constituyente de la red y la función de activación: el estímulo

Sinónimos: perceptrón, perceptrón de una sola capa, neurona artificial

Perceptron es el componente más pequeño de la red neuronal MLP. Tiene una capa de entrada con varias señales de entrada y una sola capa de salida que consta de una sola neurona.

Los pesos asignados a las señales de entrada representan la importancia de cada señal individual. La neurona resume las entradas y sus pesos en una función lineal antes de aplicar una función de activación que produce una sola salida (predicción).

El rango de valores de salida está definido por el tipo de función de activación. Las funciones de activación más comunes son (tangente hiperbólica), (lineal rectificada) y funciones. La imagen de abajo muestra estas tres funciones además de una llamada , que en este caso es funcionalmente inútil. Su presencia es únicamente con fines divertidos y como ayuda para la memoria. Es decir, las cuatro neuronas están relacionadas con cuatro personalidades diferentes: pesimista, racionalista, optimista e ingenua, según el rango de valores de las funciones en el eje y.

Por ejemplo, la función da solo valores positivos que van de cero a infinito, de ahí la etiqueta “optimista”. Cualquier combinación lineal de entradas ponderadas, que da como resultado un valor negativo valor, da un valor cero en la salida después de aplicar la función; mientras que positivo los valores no cambian después de aplicar (según la imagen inferior izquierda a continuación).

El perceptrón etiquetado como “racionalista” en la imagen a continuación es , que es la red neuronal en su forma más simple. Sus valores de salida oscilan entre 0 y 1, por lo que son muy adecuados para las probabilidades de predicción y las tareas de clasificación.

Arquitectura MLP

Las neuronas apiladas tanto vertical como horizontalmente se combinan para formar una red neuronal llamada perceptrón multicapa. Un MLP consta de una capa de entrada, una capa de salida y una o más capas ocultas en el medio. La capa de entrada es el complemento para alimentar la red con datos, sin realizar ningún cálculo: son los ojos y los oídos de la red. La capa de salida da la respuesta del modelo que es la predicción, un disparador para tomar decisiones informadas. Una capa oculta o un mapa de características es una colección de neuronas apiladas juntas.

🔥 Recomendado:  Los 10 mejores consejos de SEO de Twitter para aumentar su visibilidad en 2023

Cada neurona en una capa está conectada a cada neurona en la siguiente capa, creando la capa completamente conectada, otro sinónimo de MLP. Pero decidir cuántas neuronas por capa y cuántas capas se necesitan a menudo es un desafío y requiere soluciones científicas y creativas de los científicos de datos. En cuanto al número de capas ocultas, la regla de oro es hacer más con menos. Entonces, ¡comience con la estructura de red más simple, incluida la regresión logística! En cuanto al número de neuronas por capa (nodos, unidades), una regla empírica es la mitad del número de entradas de la capa.

Matemáticamente, MLP es un modelo no lineal, por lo tanto, muy adecuado para describir problemas complejos del mundo real. Cada nodo resuelve un problema “pequeño” y contribuye a resolver un problema “grande”, similar al proceso de pensamiento humano.

Red neuronal convolucional

Abreviaturas: ConvNet, CNN

Filtro: el constituyente de la red y función de convolución: el estímulo

Sinónimos: filtro, núcleo

Los filtros son como lentes en una cámara diseñada para extraer y mejorar patrones especiales (características) en las imágenes. Un filtro aplicado a los datos de la imagen (píxeles) produce un mapa de características enrevesado de dimensiones más pequeñas. De manera similar, como perceptrón, cada filtro resuelve un problema “pequeño” y más filtros orquestados juntos contribuyen a ver el “panorama general”.

Digamos que queremos detectar el borde horizontal que atraviesa el medio de la imagen de 6 × 6 píxeles a continuación. Podemos utilizar un filtro como el de la misma imagen, con unos números dispuestos horizontalmente, indicando la intensidad del color. Ejecutamos la operación de convolución.

, que escanea la imagen como se muestra en el gif animado. En cada exploración, los píxeles correspondientes de la imagen y el filtro se multiplican (7, 0 o -7), los productos se suman (p. ej., 3x7x1+3x0x0-3x7x1=0) y los resultados se almacenan en la salida intrincada. La línea horizontal prominente en el medio de la salida intrincada a continuación confirma la capacidad del filtro para reconocer líneas horizontales, un concepto simple pero poderoso.

Arquitectura ConvNet ConvNets procesa datos visuales a través de múltiples filtros, canales y capas. filtros aplicado a los datos de la imagen (es decir, píxeles) produce mapas de características que son capas intrincadas y cada mapa es una versión diferente de la imagen de entrada. Las redes convolucionales pueden orquestar cientos de filtros en paralelo para una sola imagen. Imagen canales

representan colores. Por lo general, tendríamos 3 canales por filtro para cada uno de los colores rojo, verde y azul. un convolucional capa

Tiene 3 dimensiones: alto, ancho y profundidad. La altura y el ancho de una capa están definidos por la imagen y el tamaño del filtro. La profundidad de la capa es igual al número de filtros utilizados para crear la capa.

Las capas ordenadas jerárquicamente procesan la información visual en forma de avance. La arquitectura ConvNet consta de diferentes tipos de capas. Por lo general, es una combinación de capas convolucionales (imprescindible), capas de agrupación (imprescindible) y capas totalmente conectadas (podría tener).

Las capas de agrupación tienen usos múltiples. Reducen el tamaño de la representación de la imagen, aceleran el cálculo, pueden mejorar las características de la imagen y hacen que ConvNet sea más genérica y aseguran que la presencia de un objeto sea indiferente a la ubicación del objeto.

Las capas completamente conectadas (capas MLP) generalmente se agregan en el extremo profundo de la red para la clasificación de imágenes. Por ejemplo, las últimas cuatro capas de la red VGG-16 en la imagen a continuación son capas completamente conectadas. La red se entrenó en imágenes de 1,3 millones y puede reconocer mil objetos diferentes. La red consta de una capa de entrada (imagen), capas convolucionales (gris), capas de agrupación (roja) y capas totalmente conectadas (azul). La capa de salida final (verde) es la capa softmax con 1000 neuronas, que es equivalente a la cantidad de objetos que la red está entrenada para reconocer.

La construcción de estas capas puede considerarse tanto una ciencia como un arte. Hay muchos parámetros y un sinfín de combinaciones. Además, hay muchas restricciones a considerar, incluido el número de capas, el tamaño de cada capa, la forma de la red, la velocidad o el entrenamiento, la precisión, etc. Las arquitecturas de redes profundas eficientes necesitan el conocimiento, las habilidades y la imaginación de los expertos para dominarlas.

Aunque las ConvNet se crearon para el reconocimiento de imágenes, también se pueden usar con éxito en espacios unidimensionales, como audio y datos de series temporales.

Al igual que los humanos, las redes neuronales aprenden mejor de sus errores Cualquier red es impracticable a menos que la hagamos inteligente a través decapacitación

. El proceso de entrenamiento puede parecerse a un viaje en el tiempo: viaja al futuro para ver el resultado (predicción). Si no está satisfecho, vuelve al pasado, ajusta algunos parámetros y se proyecta hacia el futuro para ver los nuevos resultados, como en la imagen animada a continuación. De esta forma, va avanzando y retrocediendo hasta encontrar el resultado óptimo. En la terminología de redes neuronales, este viaje en el tiempo se llama adelante yretropropagación . La propagación hacia adelante comienza asignando aleatoriamente los pesos, esa es la importancia de las características de entrada. Luego se ejecuta de izquierda a derecha, donde las neuronas de una capa aceptan entradas de la capa anterior, aplican la función de activación y pasan los resultados a la salida, que a su vez se convierte en la entrada de la siguiente capa. La propagación directa da la predicción en la capa de salida. La diferencia entre la salida verdadera () y la salida predicha () es el error ofunción de pérdida

🔥 Recomendado:  Introducción a la agrupación de capas en CNN: hacia la IA

. La suma de las pérdidas en todos los ejemplos de entrenamiento representa la función de costo total. El costo es algo que siempre tratamos de minimizar. En las redes neuronales, esto se logra utilizando el descenso de gradiente

algoritmo. El objetivo del gradiente descendente es encontrar los parámetros de red que minimizan la función de costo. El descenso de gradiente hace esto encontrando pendientes empinadas descendentes hacia el mínimo en el menor número de pasos posible. La siguiente imagen ilustra el proceso. En terminología matemática, esas pendientes se denominan gradientes o derivadas parciales de la función de costo y se calculan durante la retropropagación.

En cada iteración, la propagación hacia adelante alimenta la predicción de izquierda a derecha, y la propagación hacia atrás alimenta la pérdida de derecha a izquierda y ajusta los pesos, que a su vez son utilizados por la propagación hacia adelante en la siguiente iteración. Al comienzo del entrenamiento del modelo, la pérdida es alta ya que asignamos los pesos aleatoriamente, ¡pero disminuye en cada iteración a medida que aprende de los errores anteriores! ¡Todo el proceso se completa una vez que aprende qué pesos óptimos producen el costo mínimo y, por lo tanto, la mejor predicción! Los pesos (parámetros) son los que hacen que la red sea inteligente: los mismos pesos se pueden aplicar con confianza para predecir problemas similares del mundo real dados los nuevos datos de entrada.

Marcos de aprendizaje profundo Las redes de aprendizaje profundo se pueden construir y entrenar utilizando operaciones matemáticas básicas, pero eso sería una tarea de Sísifo que implicaría una gran cantidad de cálculo y álgebra. Afortunadamente, existen marcos especialmente diseñados, como TensorFlow, Keras,PyTorch

y Theano que son rápidos, relativamente simples de usar, más robustos y mucho más fáciles de implementar en la práctica.Para construir una red utilizando uno de los marcos, necesitamos especificar el número y tipo de capas, el número de neuronas/filtros por capa, la función de activación, etc. Los marcos están equipados con un conjunto de funciones de activación predefinidas, pero también permiten funciones personalizadas, lo que es de especial interés para los investigadores. También podemos especificar un optimizador para minimizar la función de costo total; cómo queremos medir la pérdida, es decir, la diferencia entre el valor real y el valor predicho; y qué métrica(s) usar para evaluar el rendimiento del modelo. Además, especificamos qué tan rápido queremos que la función de costo alcance el mínimo (tasa de aprendizaje), configurar el número de iteraciones adelante-atrás (épocas), y el número de muestras para cada iteración (tamaño del lote

). En cuanto al tamaño del lote, podemos usar datos de entrada completos, una sola observación o un mini lote para cualquier cosa intermedia. Mediante el uso de marcos de trabajo de aprendizaje profundo, podemos controlar el sobreajuste, un efecto indeseable cuando un modelo funciona muy bien con los datos de entrenamiento, pero no con los datos nuevos (no vistos). Todos estos parámetros de red se denominan colectivamente hiperparámetros

y sus valores variarán de una red a otra y deben establecerse empíricamente. La optimización de hiperparámetros es otro producto básico de los marcos de aprendizaje profundo, que encuentra un conjunto óptimo de valores de parámetros que dan como resultado el mejor rendimiento del modelo.

Al igual que los humanos, las redes neuronales profundas pueden compartir conocimientos El entrenamiento de modelos de redes neuronales complejas requiere tiempo y una enorme potencia informática. ¡La buena noticia es que podemos reutilizar los modelos previamente entrenados aplicándolos para resolver problemas similares y ahorrar tiempo, recursos y mucha frustración! Se llama transferir el aprendizaje

y es la belleza de las redes de aprendizaje profundo.

Hay muchas maneras en que podemos aplicar el aprendizaje por transferencia. Por ejemplo, podemos simplemente eliminar la capa de salida de una red previamente entrenada y reemplazarla con una nueva capa; o incluso podemos reemplazar múltiples capas en la red con las nuevas y entrenar simplemente esa porción de la red con nuevos datos.

Los marcos de aprendizaje profundo proporcionan capacidad de aprendizaje de transferencia. Digamos que queremos entrenar una red para reconocer vehículos de peatones en imágenes. En lugar de comenzar desde cero, podemos usar una red preentrenada para la clasificación de imágenes, como VGG-16 de la imagen de arriba, que está disponible en el marco de aprendizaje profundo de Keras. Podemos realizar esto en unos pocos pasos simples: importe el modelo, mantenga todas sus capas y sus pesos pre-entrenados, y reemplace solo la capa final (verde) softmax de 1000 neuronas con otra capa softmax de solo 2 neuronas como solo necesitamos reconocer dos clases: peatones y vehículos. Una vez que hemos modificado la red, entrenamos la capa final solo con nuevas imágenes de entrada y ¡listo! ¡Hemos creado una red rápida, simple e inteligente capaz de reconocer vehículos de peatones! [2]Otro gran ejemplo de transferencia de aprendizaje es ConvNet de transferencia de estilo neuronal. , que produce imágenes artísticas de IA. Se han utilizado capas específicas de la red VGG preentrenada para definir el estilo y el contenido de las imágenes de IA. Obtenga más información sobre este fascinante algoritmo y vea algunos ejemplos sorprendentes en esteBlog

:

Ojalá fuera van Gogh: ¡Todo es posible con Inteligencia Artificial!

Redes de secuencia

Las redes de secuencias son un concepto esotérico e incluso intentar entrar en un alto nivel de detalle sobre este tema anularía la “naturaleza” de este blog. Por lo tanto, solo mencionaré algunas de las aplicaciones del mundo real de este tipo de red.

Las redes de secuencias son adecuadas para cualquier dato secuencial, donde el orden de secuenciación de los datos es de suma importancia. Esto comprende señales de video y audio, datos de series temporales y flujos de texto donde necesitamos preservar y memorizar los órdenes de secuencia. Una de esas redes es la red neuronal recurrente (RNN), de la cual LSTM (memoria a largo plazo) es la más popular. Andrej Karpathy, uno de los científicos de IA más destacados y líderes en aprendizaje profundo, ha expresado que:

🔥 Recomendado:  IA en medicina: hacia la IA

¡ya que incluso las estructuras RNN triviales pueden producir resultados realmente sorprendentes!

A diferencia de MLP y ConvNet, que están limitados por un tamaño fijo de entradas y salidas, los modelos de secuencia no tienen tales restricciones y tanto las entradas como las salidas pueden tener longitudes variables. Por ejemplo, en el análisis de sentimientos tenemos muchas entradas (secuencia de texto) y solo una salida (un número del 1 al 5 para indicar la cantidad de estrellas o emoticones); en la traducción de lenguajes automáticos, tenemos muchas entradas de un idioma, traducidas a muchas salidas de otro idioma; o en el etiquetado de imágenes, tenemos una entrada (una imagen) traducida en muchas salidas (descripción de texto). Redes de atención [3]son la próxima generación de redes de secuencias diseñadas para el procesamiento del lenguaje natural. Su nombre imita el proceso de cognición en el que los humanos enfocan selectivamente su pensamiento. Este tipo de red fue introducido por Vaswani et. Alabama. en su artículo seminal “”

. Los populares “”, “” y “” son sistemas de detección de palabras desencadenantes basados ​​en dichas redes.

Grandes mentes profundas Transformadores [4]son el estado del arte actual de las redes de aprendizaje profundo para el procesamiento del lenguaje natural, a menudo denominados modelos de lenguaje. Su superioridad proviene de la sinergia de dos tipos de redes de aprendizaje profundo: atención y ConvNets. BERT [5] y T5

son modelos de lenguaje populares basados ​​en redes de transformadores y creados por investigadores de Google. Ambos modelos están entrenados en Wikipedia y pueden realizar varias tareas, incluida la traducción de un idioma a otro, predecir la siguiente palabra en una oración (¡el motor de búsqueda de Google lo usa de manera efectiva!), responder una pregunta aleatoria o incluso crear un párrafo de resumen de un texto muy largo. [6]El avance más reciente en la investigación del aprendizaje profundo proviene de OpenAI con dos asombrosos transformadores: GPT-3 y DALL-E.

, siendo el primero un novelista y poeta de IA y el segundo un diseñador y artista de IA. Con GPT-3 puedes comenzar una novela o un poema con unas pocas oraciones o párrafos y pedirle al modelo que lo complete. El modelo DALL-E transforma texto en muchas imágenes. Por ejemplo, la oración:

es transformado por DALL-E en una serie de imágenes que se muestran a continuación.

¡Muy impresionante!

[1] Referencias C. Szegedy, W. Liu, Y. Jia, P. Sermanet, S. Reed, D. Anguelov, D. Erhan, V. Vanhoucke y A. Rabinovich, Profundizando con las circunvoluciones

[2] (2014) A. Gatys, A. Ecker y M. Bethge, Un algoritmo neuronal de estilo artístico

[3] (2015) A. Vaswani, N. Shazeer, N. Parmar, J. Uszkoreit, L. Jones, A. Gómez, L. Kaiser e I. Polosukhin,

[4] La atención es todo lo que necesitas J. Devlin, M. Chang, K. Lee y K. Toutanova,

[5] BERT: Pre-entrenamiento de Transformadores Bidireccionales Profundos para la Comprensión del Lenguaje C. Raffel, N. Shazeer, A. Roberts, K. Lee, S. Narang, M. Matena, Y. Zhou, W. Li y P. Liu, Explorando los límites del aprendizaje por transferencia con un transformador unificado de texto a texto

[6] (2020) A. Ramesh, M. Pavlov, G. Goh, S. Gray, C. Voss, A. Radford, M. Chen e I. Sutskever, Generación de texto a imagen Zero-Shot


(2021)

Aprendizaje profundo simplificado: siéntase y hable como un experto en redes neuronales se publicó originalmente en Hacia la IA en Medium, donde las personas continúan la conversación destacando y respondiendo a esta historia.

Publicado a través de Hacia la IA

Tabla de Contenido