Redes neuronales
Inteligencia artificial
Fondo negro y azul
Redes neuronales

Las redes neuronales reflejan el comportamiento del cerebro humano, lo que permite que los programas informáticos reconozcan patrones y solucionen problemas comunes en los campos de la IA, el machine learning y el deep learning.

Productos destacados

Watson Studio

Watson Machine Learning Accelerator

Descargue el libro electrónico de Inteligencia Artificial

¿Qué es una red neuronal?

Las redes neuronales, también conocidas como redes neuronales artificiales (ANN) o redes neuronales simuladas (SNN), son un subconjunto demachine learning y está en el corazón de los algoritmos dedeep 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 a la precisión, son herramientas poderosas en ciencias de la computación einteligencia artificial, lo que nos permite clasificar y agrupar datos a alta 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.

Enlaces relacionados

Regresión lineal

Analítica predictiva


¿Cómo funcionan las redes neuronales?

Piense en cada nodo individual como su propio modelo deregresió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 usted 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 no hay multitudes
  • 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 los grandes oleajes no ocurren con frecuencia
  • W2 = 2, ya que usted está acostumbrado a las multitudes
  • W3 = 4, ya que usted le 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 esteartículo de IBM Developer para encontrar una explicación más profunda de los conceptos cuantitativos involucrados en las redes neuronales .

La mayoría de las redes neuronales profundas son de feedforward, 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 feedforward, 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,procesamiento natural del lenguaje y otras redes neuronales.

Las redes neuronales convolucionales (CNN) son similares a las redes feedforward, 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.

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 vs. 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 vs. machine learning vs. deep learning vs. 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 "Un cálculo lógico de las ideas inmanentes a la actividad nerviosa. (PDF, 1 MB) (enlace externo a ibm.com) "Esta investigación buscaba comprender 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 "El perceptrón: un modelo probabilístico para el almacenamiento y la organización de la información en el cerebro "(PDF, 1,6 MB) (enlace externo a ibm.com). Él lleva el trabajo de McCulloch y Pitt un paso más allá al introducir pesos en la ecuación. Aprovechando un IBM 704, Rosenblatt pudo hacer que una computadora aprendiera a distinguir las cartas marcadas a la izquierda de las marcadas a 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 sutesis doctoral (PDF, 8,1 MB) (enlace externo a ibm.com).

1989: Yann LeCun publicó unartí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.


Redes neuronales e IBM Cloud

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

Watson utiliza el marco Apache Unstructured Information Management Architecture (UIMA) y el software DeepQA de IBM para poner a disposición de las aplicaciones las potentes funcionalidades del deep learning. Utilizando herramientas comoIBM Watson Studio, su empresa puede llevar a la producción proyectos de IA de código abierto sin problemas mientras implementa y ejecuta modelos en cualquier nube.

Para obtener más información sobre cómo comenzar a utilizar la tecnología de deep learning, exploreIBM Watson Studio  y Deep Learning service .

Regístrese para obtener un ID de IBM (IBMid) y crear su cuenta de IBM Cloud

Soluciones relacionadas

Deep Learning Solutions

Diseñar redes neuronales complejas. Experimente a escala para implementar modelos de aprendizaje optimizados dentro de IBM Watson Studio.


IBM Watson Studio

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


Soluciones IBM Cloud

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