El concepto de una «máquina que piensa» o una entidad inanimada que piensa se remonta a los científicos de la Antigua Grecia, que trataron de dotar a los objetos de capacidades analíticas. Sin embargo, el éxito de los antiguos griegos a la hora de hacer realidad la máquina pensante se vio gravemente limitado por la falta de conocimientos sobre el funcionamiento del cerebro humano y la actividad nerviosa. Pasaron un par de siglos desde que conceptualizaron la máquina de pensar hasta que descubrieron cómo el cerebro humano podía producir patrones complejos a través de células cerebrales conectadas, también conocidas como neuronas.
El trabajo de investigación de 1943 «A Logical Calculus of the Ideas Immanent in Nervous Activity«, de Warren S. McCulloch y Walter Pitts, introdujo al mundo en la actividad neuronal del cerebro. Los colaboradores esbozaron el proceso por el que las neuronas del sistema nervioso se envían señales unas a otras para iniciar un impulso. Postulaban que una neurona, que está conectada a miles de otras neuronas, envía y recibe una cantidad variable de energía y que una neurona envía energía sólo cuando se ha alcanzado su umbral.
Este importante artículo allanó el camino para la integración de las redes neuronales en los campos STEM de la IA, el aprendizaje automático y el aprendizaje profundo. La investigación se convirtió en la base para aprovechar las redes neuronales en los programas informáticos y permitirles reconocer patrones y resolver problemas de forma independiente.
¿Qué son las redes neuronales?
Las redes neuronales reflejan los patrones de comportamiento del cerebro humano imitando el proceso de comunicación de las neuronas biológicas durante las actividades neuronales. En los campos del aprendizaje automático y el aprendizaje profundo, las redes neuronales se denominan redes neuronales artificiales (RNA) o redes neuronales simuladas (SNN). Estas connotaciones ponen de relieve el hecho de que la aplicación de las redes neuronales en estos campos se inspira en el cerebro humano.
Las redes neuronales artificiales constan de capas de nodos que incluyen: una capa de entrada, capas ocultas singulares o múltiples y una capa de salida. Aquí, los nodos representan neuronas artificiales y cada nodo tiene sus pesos y umbrales asociados. Cuando la salida de un nodo individual está por encima de su umbral definido, el nodo se activa y envía datos a la siguiente capa de nodos dentro de su red. Por el contrario, si la salida no supera el umbral del nodo, no se envía ningún dato a la siguiente capa de la red de nodos. Así, el carácter de una neurona puede definirse como una unidad lógica de umbral (TLU) que introduce diversas cantidades ponderadas, las suma y, una vez que las cantidades sumadas alcanzan o superan su umbral definido (theta), emite una cantidad.
Etiquetar caracteres como la cantidad de entrada, el umbral y la salida permite comprender mejor el funcionamiento de las redes neuronales. Por ejemplo, una entrada y su peso se etiquetan – X 1, X 2,…, X n y W 1, W 2, …,W n . Aquí X representa la entrada de un neutrón o nodo y W su peso. Así, la suma de la entrada y su peso se convierte en -¡X!*¡W! lo que da como resultado el nivel de activación (a) de un nodo. Haciendo a = (X1 * W1) + (X2 * W2) +…+ (Xn * Wn).
En los escenarios en los que el nivel de activación (a) es igual o superior al umbral (theta), se produce una salida (y), pero si el nivel de activación es inferior a theta no se produce ninguna salida. Por lo tanto, theta debe alcanzarse o superarse para activar una neurona y enviar una salida ponderada a la siguiente capa de nodos.
Cómo aprenden las unidades lógicas de umbral
Las redes neuronales deben entrenarse para mejorar su precisión en la resolución de problemas y la toma de decisiones antes de aprovecharlas en aplicaciones de IA. La mejora de la precisión de una red neuronal empieza por conocer el proceso de aprendizaje de las unidades lógicas umbral.
Entonces, ¿cómo aprenden las unidades lógicas umbral y cómo se entrenan las redes neuronales?
La respuesta corta es que una TLU aprende cambiando continuamente sus pesos y umbrales. La respuesta más larga tiene que ver con el proceso de entrenamiento supervisado y no supervisado. En el entrenamiento supervisado, las redes neuronales se entrenan introduciendo una serie de ejemplos de:
- Diversos artículos para clasificar y
- Las clasificaciones adecuadas asignadas a los artículos
La red neuronal toma la información proporcionada y la utiliza para modificar sus ponderaciones hasta que hace coincidir los elementos con sus clasificaciones adecuadas. Por lo tanto, la red neuronal analiza tanto los datos de entrada como los de salida para desarrollar respuestas que hagan coincidir las cantidades introducidas con una salida.
En el entrenamiento no supervisado, sólo se proporciona una serie de elementos a clasificar o datos de entrada. La red neuronal aplica un análisis estadístico para detectar diferencias o anomalías en el conjunto de datos introducidos. Esto significa que el entrenamiento no supervisado permite a la red neuronal trabajar con los datos y producir resultados sin que ninguna salida coloree las direcciones analíticas de la red.
Utilizar un escenario del mundo real ayuda a comprender cómo aprenden las redes neuronales. Por ejemplo, un nodo singular puede entrenarse para analizar si se necesita equipamiento adicional en un taller utilizando valores binarios. En primer lugar, supongamos que hay tres factores que influyen en su toma de decisiones:
- ¿Hay suficiente capacidad de acogida? (Sí = 1, No = 0)
- ¿La demanda justifica el equipamiento adicional? (Sí = 1, No = 0)
- ¿Hay fondos suficientes? (Sí = 1, No = 0)
A continuación, se aplican los siguientes supuestos de entrada:
- X1 = 1, sí hay espacio suficiente para nuevos equipos
- X2 = 0, La demanda no justifica la necesidad de nuevos equipos
- X3 = 0, No hay fondos suficientes para nuevos equipos.
A continuación, hay que asignar pesos a cada entrada. En este caso, un peso mayor significa una mayor influencia en la decisión final que se tome:
- W1 = 3, porque el espacio es importante para acomodar los nuevos equipos
- W2 = 5, La demanda es fundamental para decidir si es necesario un nuevo equipo
- W3 = 2, Siempre se pueden conseguir fondos si la necesidad de nuevos equipos es urgente.
Por último, debe asignarse un valor umbral para garantizar que la red neuronal evalúa la información proporcionada para responder correctamente. En este caso, el valor umbral es 4 y se traduce en un valor de sesgo de -4. Introduciendo todos estos valores en la fórmula anterior, «a = (X1 * W1) + (X2 * W2) +…+ (Xn * Wn)», tenemos:
Y = (1 * 3) + (0 * 5) + (0 * 2) – 4 = -1.
El cálculo final es -1 y es menor que la función de activación necesaria para producir una salida. Por tanto, la salida de este nodo es 0. Esto significa que no se necesitan nuevos equipos o que no se pueden comprar en este momento.
El entrenamiento de redes neuronales que se destaca en estos ejemplos es feedforward porque fluyen en una sola dirección: de la entrada a la salida. La retropropagación es otra técnica que se utiliza para entrenar redes neuronales. En la retropropagación, los errores atribuidos a cada neurona se incluyen en los cálculos para permitir los ajustes adecuados de los parámetros de un modelo de red.