¿Qué son las redes neuronales?
Las redes neuronales intentan emular el cerebro humano, combinando informática y estadística para resolver problemas comunes en el campo de la IA
Fondo negro y azul
¿Qué es una red neuronal?

Las redes neuronales, también conocidas como redes neuronales artificiales (ANN) o redes neuronales simuladas (SNN), son un subconjunto de machine learning y están en el eje de los algoritmos de deep learning. Su nombre y estructura están inspirados en el cerebro humano, imitando la forma en que las neuronas biológicas se transmiten entre sí.

Las redes neuronales artificiales (ANN), se componen de capas de nodos, que contienen una capa de entrada, una o más capas ocultas, y una capa de salida. Cada nodo, o neurona artificial, se conecta a otro y tiene un peso y un umbral asociados. Si la salida de cualquier nodo individual está por encima del valor de umbral especificado, dicho nodo se activa, enviando datos a la siguiente capa de la red. De lo contrario, no se pasan datos a la siguiente capa de la red.

Las redes neuronales se basan en datos de entrenamiento para aprender y mejorar su precisión con el tiempo. Sin embargo, una vez que estos algoritmos de aprendizaje se ajustan con precisión, se convierten en potentes herramientas en ciencias de la computación e inteligencia artificial, lo que nos permite clasificar y agrupar datos a gran velocidad. Las tareas de reconocimiento de voz o reconocimiento de imágenes pueden llevar minutos en lugar de horas en comparación con la identificación manual realizada por expertos humanos. Una de las redes neuronales más conocidas es el algoritmo de búsqueda de Google.

¿Cómo funcionan las redes neuronales?

Piense en cada nodo individual como su propio modelo de regresión lineal, compuesto por datos de entrada, ponderaciones, un sesgo (o umbral) y una salida. La fórmula se vería así:

∑wixi + sesgo = w1x1 + w2x2 + w3x3 + sesgo

salida = f (x) = 1 si ∑w1x1 + b> = 0; 0 si ∑w1x1 + b <0

Una vez que se determina una capa de entrada, se asignan pesos. Estas ponderaciones ayudan a determinar la importancia de cualquier variable dada, y las más grandes contribuyen de manera más significativa a la salida en comparación con otras entradas. Luego, todas las entradas se multiplican por sus respectivos pesos y luego se suman. Posteriormente, la salida pasa a través de una función de activación, que determina la salida. Si esa salida excede un umbral dado, "dispara" (o activa) el nodo, pasando datos a la siguiente capa en la red. Esto resulta en que la salida de un nodo se convierta en la entrada del siguiente nodo. Este proceso de pasar datos de una capa a la siguiente define esta red neuronal como una red de feedforward.

Analicemos cómo se vería un solo nodo usando valores binarios. Podemos aplicar este concepto a un ejemplo más tangible, como si debería ir a surfear (Sí: 1, No: 0). La decisión de ir o no ir es nuestro resultado previsto, o y-hat. Supongamos que hay tres factores que influyen en su decisión:

  1. ¿Son buenas las olas? (Sí: 1, No: 0)
  2. ¿El área está vacía? (Sí: 1, No: 0)
  3. ¿Ha habido algún ataque de tiburón reciente? (Sí: 0, No: 1)

Entonces, supongamos lo siguiente, dándonos las siguientes entradas:

  • X1 = 1, ya que las olas están geniales
  • X2 = 0, ya que hay mucha gente
  • X3 = 1, ya que no ha habido un ataque de tiburón reciente

Ahora, necesitamos asignar algunos pesos para determinar la importancia. Los pesos más grandes significan que las variables particulares son de mayor importancia para la decisión o el resultado.

  • W1 = 5, ya que no hay grandes olas a menudo
  • W2 = 2, ya que está acostumbrado a las multitudes
  • W3 = 4, ya que tiene miedo a los tiburones

Finalmente, también asumiremos un valor de umbral de 3, que se traduciría en un valor de sesgo de –3. Con todas las diversas entradas, podemos comenzar a insertar valores en la fórmula para obtener la salida deseada.

Y-hat = (1*5) + (0*2) + (1*4) – 3 = 6

Si usamos la función de activación del inicio de esta sección, podemos determinar que la salida de este nodo sería 1, ya que 6 es mayor que 0. En este caso, iría a surfear. Pero si ajustamos las ponderaciones o el umbral, podemos lograr diferentes resultados del modelo. Cuando observamos una decisión, como en el ejemplo anterior, podemos ver cómo una red neuronal podría tomar decisiones cada vez más complejas dependiendo del resultado de decisiones o capas anteriores.

En el ejemplo anterior, usamos perceptrones para ilustrar algunas de las matemáticas en juego aquí, pero las redes neuronales aprovechan las neuronas sigmoides, que se distinguen por tener valores entre 0 y 1. Dado que las redes neuronales se comportan de manera similar a los árboles de decisión, la cascada de datos de un nodo a otro, teniendo valores de x entre 0 y 1 reducirá el impacto de cualquier cambio dado de una sola variable en la salida de cualquier nodo dado y, posteriormente, la salida de la red neuronal.

A medida que empezamos a pensar en casos de uso más prácticos para las redes neuronales, como el reconocimiento o la clasificación de imágenes, aprovecharemos el aprendizaje supervisado o conjuntos de datos etiquetados para entrenar el algoritmo. Mientras entrenamos el modelo, debemos evaluar su precisión usando una función de costo (o pérdida). Esto también se conoce comúnmente como el error cuadrático medio (MSE). En la siguiente ecuación,

  • I representa el índice de la muestra,
  • y-hat es el resultado previsto,
  • y es el valor real, y
  • m es el número de muestras.

= =1/2 ∑129_(=1)^▒( ̂^(() )−^(() ) )^2

En última instancia, el objetivo es minimizar nuestra función de costos para garantizar la corrección del ajuste para cualquier observación dada. A medida que el modelo ajusta sus pesos y sesgos, utiliza la función de costo y el aprendizaje por refuerzo para alcanzar el punto de convergencia, o el mínimo local. El proceso en el que el algoritmo ajusta sus pesos es a través del descenso de gradiente, lo que permite que el modelo determine la dirección a seguir para reducir errores (o minimizar la función de costo). Con cada ejemplo de entrenamiento, los parámetros del modelo se ajustan para converger gradualmente al mínimo.  

Vea este artículo de IBM Developer para encontrar una explicación más detallada acerca de los conceptos cuantitativos involucrados en las redes neuronales.

La mayoría de las redes neuronales profundas son de propagación hacia delante, lo que significa que fluyen en una sola dirección, desde la entrada hasta la salida. Sin embargo, también puede entrenar su modelo mediante retropropagación. Es decir, moverse en la dirección opuesta, de salida a entrada. La retropropagación nos permite calcular y atribuir el error asociado a cada neurona, lo que nos permite ajustar y ajustar los parámetros del modelo o modelos de forma adecuada.

Tipos de redes neuronales

Las redes neuronales se pueden clasificar en diferentes tipos, que se utilizan para diferentes propósitos. Si bien esta no es una lista completa de los tipos, los siguientes representan los tipos más comunes de redes neuronales que encontrará para sus casos de uso comunes:

El perceptrón es la red neuronal más antigua, creada por Frank Rosenblatt en 1958.

Las redes neuronales de propagación hacia delante, o perceptrones multicapa (MLP), son en lo que nos hemos centrado principalmente en este artículo. Se componen de una capa de entrada, una capa o capas ocultas y una capa de salida. Si bien estas redes neuronales también se conocen comúnmente como MLP, es importante tener en cuenta que en realidad están compuestas por neuronas sigmoides, no perceptrones, ya que la mayoría de los problemas del mundo real no son lineales. Por lo general, los datos se introducen en estos modelos para entrenarlos, y son la base de la visión por computadora, el procesamiento natural del lenguaje y otras redes neuronales.

Las redes neuronales convolucionales (CNN) son similares a las redes de propagación hacia delante, pero generalmente se utilizan para el reconocimiento de imágenes, el reconocimiento de patrones y/o la visión por computadora. Estas redes aprovechan los principios del álgebra lineal, en particular la multiplicación de matrices, para identificar patrones dentro de una imagen.

Las redes neuronales recurrentes (RNN) se identifican por sus circuitos de retroalimentación. Estos algoritmos de aprendizaje se aprovechan principalmente cuando se utilizan datos de series de tiempo para hacer predicciones sobre resultados futuros, como predicciones del mercado de valores o pronósticos de ventas.

 

Redes neuronales frente a deep learning

El deep learning y las redes neuronales tienden a usarse indistintamente en una conversación, lo que puede resultar confuso. Como resultado, vale la pena señalar que lo "deep" (o "profundo") en el deep learning se refiere simplemente a la profundidad de las capas en una red neuronal. Una red neuronal que consta de más de tres capas, que sería inclusiva de las entradas y la salida, puede considerarse un algoritmo de deep learning. Una red neuronal que sólo tiene dos o tres capas es sólo una red neuronal básica.

Para descubrir más sobre las diferencias entre las redes neuronales y otras formas de inteligencia artificial, como el machine learning, lea la publicación del blog "IA frente a machine learning, deep learning y redes neuronales: ¿cuál es la diferencia? "

Historia de las redes neuronales

La historia de las redes neuronales es más larga de lo que la mayoría de la gente piensa. Si bien la idea de "una máquina que piensa" se remonta a los antiguos griegos, nos centraremos en los eventos clave que llevaron a la evolución del pensamiento en torno a las redes neuronales, que ha ido disminuyendo y aumentando su popularidad a lo largo de los años:

1943: Warren S. McCulloch y Walter Pitts publicaron "A logical calculus of the ideas immanent in nervous activity (Un cálculo lógico de las ideas inmanentes a la actividad nerviosa)" (PDF, 1 MB) (enlace externo a ibm.com). El objetivo de este estudio era entender cómo el cerebro humano podía producir patrones complejos a través de células cerebrales conectadas o neuronas. Una de las principales ideas que surgieron de este trabajo fue la comparación de neuronas con un umbral binario con la lógica booleana (es decir, 0/1 o declaraciones verdaderas/falsas).   

1958: a Frank Rosenblatt se le atribuye el desarrollo del perceptrón, documentado en su investigación, "The Perceptron: A Probabilistic Model for Information Storage and Organization in the Brain (El perceptrón: un modelo probabilístico para el almacenamiento y la organización de la información en el cerebro)" (enlace externo a ibm.com). Llevó el trabajo de McCulloch y Pitt un paso más allá al introducir las ponderaciones en la ecuación. Utilizando un sistema IBM 704, Rosenblatt consiguió que una computadora aprendiera a distinguir cartas marcadas en la izquierda de cartas marcadas en la derecha.

1974: si bien numerosos investigadores contribuyeron a la idea de retropropagación, Paul Werbos fue la primera persona en los EE. UU. en notar su aplicación dentro de las redes neuronales dentro de su Tesis doctoral (PDF, 8.1 MB) (enlace externo a ibm.com).

1989: Yann LeCun publicó un artículo (PDF, 5.7 MB) (enlace externo a ibm.com) que ilustra cómo se puede utilizar el uso de restricciones en la propagación hacia atrás y su integración en la arquitectura de la red neuronal para entrenar algoritmos. Esta investigación aprovechó con éxito una red neuronal para reconocer los dígitos de código postal escritos a mano proporcionados por el Servicio Postal de EE. UU.

Soluciones relacionadas
IBM Watson Studio

Cree y escale la IA confiable en cualquier nube. Automatice el ciclo de vida de la IA para ModelOps.

Explore IBM Watson Studio
Soluciones IBM Cloud

Híbrida. Abierta. Resiliente. Su plataforma y asociado para la transformación digital.

Explore las soluciones en la nube
Recursos IA en la empresa, 2021: creando oportunidades mediante datos

Regístrese para obtener nuestro e-book con insights de las oportunidades, los desafíos y las lecciones aprendidas de nuestra experiencia de integración de IA en empresas.

Dé el siguiente paso

Desde hace décadas, IBM ha sido pionera en el desarrollo de tecnologías de IA y redes neuronales, destacadas por el desarrollo y evolución de IBM Watson. Watson es ahora una solución confiable para empresas que buscan aplicar técnicas de procesamiento avanzado del lenguaje natural y deep learning a sus sistemas utilizando un enfoque escalonado probado para la adopción e implementación de IA.

Explore deep learning con IBM® Watson Studio