Inicio
Topics
neural networks
Una red neuronal es un programa, o modelo, de machine learning que toma decisiones de forma similar al cerebro humano, utilizando procesos que imitan la forma en que las neuronas biológicas trabajan juntas para identificar fenómenos, sopesar opciones y llegar a conclusiones.
Toda red neuronal consta de capas de nodos o neuronas artificiales: una capa de entrada, una o varias capas ocultas y una capa de salida. Cada nodo se conecta a los demás y tiene su propia ponderación y umbral asociados. Si la salida de cualquier nodo individual está por encima del valor umbral especificado, ese nodo se activa y envía datos a la siguiente capa de la red. De lo contrario, no se pasa ningún dato 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. Una perfeccionadas, se convierten en potentes herramientas en informática e inteligencia artificial, que nos permiten clasificar y agrupar datos a gran velocidad. Las tareas de reconocimiento de voz o de imágenes pueden llevar minutos frente a horas si se comparan con la identificación manual por parte de expertos humanos. Uno de los ejemplos más conocidos de red neuronal es el algoritmo de búsqueda de Google.
Las redes neuronales a veces se denominan redes neuronales artificiales (ANN) o redes neuronales simuladas (SNN). Son un subconjunto del machine learning y el núcleo de los modelos de deep learning.
Descubra los componentes básicos y las buenas prácticas para ayudar a sus equipos a acelerar la IA responsable.
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 sería la siguiente:
∑wixi + sesgo = w1x1 + w2x2 + w3x3 + sesgo
salida = f(x) = 1 if ∑w1x1 + b>= 0; 0 if ∑w1x1 + b < 0
Una vez determinada la capa de entrada, se asignan las ponderaciones. Estas ponderaciones ayudan a determinar la importancia de cualquier variable, ya que las más grandes contribuyen de forma más significativa a la salida en comparación con otras entradas. A continuación, todas las entradas se multiplican por sus respectivas ponderaciones y se suman. Después, la salida se pasa a través de una función de activación, que determina la salida. Si esa salida supera un umbral determinado, se «dispara» (o activa) el nodo, pasando los datos a la siguiente capa de la red. Esto da como resultado 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 capa define esta red neuronal como una red de proalimentación.
Desglosemos el aspecto de un único nodo utilizando valores binarios. Podemos aplicar este concepto a un ejemplo más tangible, como si deberías ir a hacer surf (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 tu decisión:
Entonces, supongamos lo siguiente, dándonos las siguientes entradas:
Ahora, tenemos que asignar algunas ponderaciones para determinar la importancia. Unas ponderaciones mayores significan que determinadas variables son más importantes para la decisión o el resultado.
Por último, también supondremos un valor umbral de 3, lo que se traduciría en un valor de sesgo de –3. Con todas las entradas, podemos empezar a introducir valores en la fórmula para obtener la salida deseada.
Y-hat = (1*5) + (0*2) + (1*4) – 3 = 6
Si utilizamos la función de activación del principio 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 obtener resultados diferentes 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 en función de la salida de las decisiones o capas anteriores.
En el ejemplo anterior, utilizamos perceptrones para ilustrar algunas de las matemáticas que están en juego aquí, pero las redes neuronales aprovechan las neuronas sigmoidales, que se distinguen por tener valores entre 0 y 1. Dado que las redes neuronales se comportan de forma similar a los árboles de decisión, con datos en cascada de un nodo a otro, tener valores 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, en la salida de la red neuronal.
Cuando empecemos 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. Al entrenar el modelo, querremos evaluar su precisión utilizando una función de coste (o pérdida). También se conoce como error cuadrático medio (MSE). En la siguiente ecuación,
= =1/2 ∑129_(=1)^▒( ̂^(() )−^(() ) )^2
En última instancia, el objetivo es minimizar nuestra función de coste para garantizar la corrección del ajuste para cualquier observación dada. A medida que el modelo ajusta sus ponderaciones y sesgos, utiliza la función de coste y el aprendizaje por refuerzo para alcanzar el punto de convergencia, o el mínimo local. El proceso por el que el algoritmo ajusta sus ponderaciones es el descenso gradiente, que permite al modelo determinar la dirección que debe tomar para reducir los errores (o minimizar la función de coste). Con cada ejemplo de entrenamiento, los parámetros del modelo se ajustan para converger gradualmente en el mínimo.
Consulte este artículo de IBM Developer para obtener una explicación más detallada de los conceptos cuantitativos implicados en las redes neuronales.
La mayoría de las redes neuronales profundas son alimentadas, lo que significa que fluyen en una sola dirección, de la entrada a la salida. Sin embargo, también puede entrenar su modelo mediante retropropagación; es decir, moverse en la dirección opuesta, de la salida a la entrada. La retropropagación nos permite calcular y atribuir el error asociado a cada neurona, lo que nos permite ajustar y encajar adecuadamente los parámetros del modelo o modelos.
El nuevo estudio empresarial que aúna el machine learning tradicional con las nuevas funciones de IA generativa basadas en modelos fundacionales.
Las redes neuronales se pueden clasificar en distintos tipos, que se utilizan para fines diferentes. Aunque no se trata de una lista exhaustiva de tipos, la siguiente sería representativa de los tipos más comunes de redes neuronales que encontrará para sus casos de uso habituales:
El perceptrón es la red neuronal más antigua, creada por Frank Rosenblatt en 1958.
En este artículo nos hemos centrado principalmente en las redes neuronales de avance o perceptrones multicapa (MLP). Se componen de una capa de entrada, una o varias capas ocultas y una capa de salida. Aunque estas redes neuronales también suelen denominarse MLP, es importante señalar que en realidad están formadas por neuronas sigmoidales, no por perceptrones, ya que la mayoría de los problemas del mundo real no son lineales. Los datos generalmente se introducen en estos modelos para entrenarlos, y son la base para la computer vision, el procesamiento del lenguaje natural y otras redes neuronales.
Las redes neuronales convolucionales (CNN) son similares a las redes de propagación hacia adelante (feedforward), pero generalmente se utilizan para el reconocimiento de imágenes, el reconocimiento de patrones y/o la computer vision. Estas redes aprovechan 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 bucles de retroalimentación. Estos algoritmos de aprendizaje se utilizan principalmente cuando se emplean datos de series temporales para hacer predicciones sobre resultados futuros, como predicciones bursátiles o previsiones de ventas.
El deep learning y las redes neuronales tienden a utilizarse indistintamente en la conversación, lo que puede ser confuso. Por lo tanto, cabe señalar que el término "deep" (profundo) en el deep learning se refiere únicamente a la profundidad de las capas de una red neuronal. Una red neuronal que conste de más de tres capas, que incluirían las entradas y la salida, puede considerarse un algoritmo de deep learning. Una red neuronal que solo tiene dos o tres capas es una red neuronal básica.
Para obtener más información sobre las diferencias entre las redes neuronales y otras formas de inteligencia artificial, como el machine learning, lea la entrada de blog "Diferencias entre IA frente, machine learning, deep learning frente y redes neuronales"
La historia de las redes neuronales es más larga de lo que la mayoría de la gente cree. Aunque la idea de "una máquina que piensa" se remonta a los antiguos griegos, nos centraremos en los acontecimientos clave que condujeron a la evolución del pensamiento en torno a las redes neuronales, cuya popularidad ha sufrido altibajos a lo largo de los años:
1943: Warren S. McCulloch y Valeriano Pitts publicaron "Cálculo lógico de las ideas inherentes a la actividad nerviosa" Esta investigación pretendía 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 las neuronas con un umbral binario a la lógica booleana (es decir, 0/1 o afirmaciones verdadero/falso).
1958: Se atribuye a Frank Rosenblatt el desarrollo del perceptrón, documentado en su investigación "El perceptrón: Un modelo probabilístico de almacenamiento y organización de la información en el cerebro". Lleva el trabajo de McCulloch y Pitt un paso más allá introduciendo ponderaciones en la ecuación. Aprovechando un IBM 704, Rosenblatt consiguió que un ordenador aprendiera a distinguir las cartas marcadas a la izquierda de las marcadas a la derecha.
1974: Aunque numerosos investigadores contribuyeron a la idea de la retropropagación, Paul Werbos fue la primera persona en EE. UU. en anotar su aplicación en redes neuronales dentro de su tesis de doctorado.
1989: Yann LeCun publicó un artículo que ilustra cómo el uso de restricciones en la retropropagación y su integración en la arquitectura de la red neuronal puede utilizarse para entrenar algoritmos. Esta investigación aprovechó con éxito una red neuronal para reconocer dígitos de códigos postales escritos a mano proporcionados por el Servicio Postal de Estados Unidos.
Diseñar redes neuronales complejas. Experimente a escala para implementar modelos de aprendizaje optimizados en IBM Watson Studio.
Cree y escale una IA de confianza en cualquier cloud. Automatice el ciclo de vida de la IA para ModelOps.
Dé el siguiente paso para empezar a operacionalizar y ampliar la IA generativa y el aprendizaje automático para las empresas.
Regístrese en nuestro libro electrónico para obtener información sobre las oportunidades, los retos y las lecciones aprendidas de la introducción de la IA en las empresas.
Estos términos suelen utilizarse indistintamente, pero ¿qué diferencias hacen de cada uno de ellos una tecnología única?
Conozca en profundidad las redes neuronales, sus funciones básicas y los fundamentos para construir una.