Introducción a las Redes Neuronales Pt. I
¿Qué es una neurona artificial? Son métodos de aprendizaje automático cuya finalidad es imitar los procesos biológicos de las redes neuronales de los organismos vivos (Orallo, Ferri, & Quintana, 2004).
Introducción
Dentro del campo de la Inteligencia Artificial se han intentado crear modelos matemáticos que se aproximen a los modelos biológicos con el objetivo de que una computadora pueda imitar los procesos de los seres vivos para resolver distintas tareas de manera automática. Prueba de ello son las redes neuronales artificiales (conjunto de neuronas interconectadas entre si) que actualmente imitan el proceso de aprendizaje que pueden generar cuando trabajan en conjunto.
¿Qué es una neurona artificial?
Una neurona artificial es un método de aprendizaje automático cuya finalidad es imitar los procesos biológicos de las redes neuronales de los organismos vivos (Orallo, Ferri, & Quintana, 2004).
Antecedentes históricos
A continuación se describen de manera simplificada los componentes básicos de una neurona biológica (sin ser expertos) así como la estructura de un perceptron.
Neurona Biológica
Una neurona biológica es una célula nerviosa eléctricamente excitables e interconectada dentro del cerebro que procesan y transmiten información a través de señales eléctricas y químicas. Estas neuronas están conectadas entre sí para formar una red neuronal en el cerebro. Una neurona se compone de tres partes: cuerpo celular, las dendritas y el axón.
- Cuerpo Celular (Soma): Tiene como función principal sintetizar la mayoría de las proteínas que se encuentran en la neurona.
- Dendritas: Son prolongaciones protoplasmáticas, cortas y ramificadas que surgen desde el cuerpo celular. Estas prolongaciones se sencargan de recibir y procesar los impulsos que llegan de otras neuronas para transmitirlas al cuerpo celular.
- Axón: Se trata de una prolongación caracterizada por ser única y larga, pues en algunas ocasiones tiende a medir 1 metro de longitud. Esta prolongación se origina en el área del cuerpo celular. Tiene como función extraer el impulso resultante desde cuerpo celular y transmitirlo a otra zona del sistema
La comunicación entre neuronas se llama sinapsis, la cual se da en la terminación del axón y con las dendritas de la siguiente neurona liberando una sustancia, ésta cambia el balance de iones (átomos cargados electrónicamente) entre el interior y el exterior de la membrana celular.
Cuando este cambio alcanza un nivel umbral, este efecto se expande a través de la mebrana de la célula hasta el axón y se inicia un potencial de acción.
Cuando el potencial de acción alcanza la terminación del axón, causa diminutas burbujas quimicas llamadas vesículas que descargan su contenido en el salto sináptico.
Neurona Artificial (Perceptrón)
En 1943 McCulloch & Pitts inspirados en la neurona biológica desarrollaron un modelo artificial de una neurona. Esta idea fue retomada más tarde por Rosenblatt quien creó una estructura llamada perceptrón. Un perceptrón es un modelo matemático que representa la aproximación de un modelo de una neurona biológica la cual posee una o varias entradas, una función de activación y una salida.
Las entradas del perceptrón actúan como las dendritas o señales de entrada hacia la neurona. La función de activación realiza el papel del soma que decide en que momento disparar esa señal eléctrica y la salida modela al axón que al activarse envía información hacia las neuronas con las que se conecta.
Elementos de un perceptrón
A continuación se describe de manera mas detallada las estructura de un perceptrón así como parte de su funcionamiento.
- Señales de entrada: El perceptrón recibe de la realidad o de otra neurona que le antecede ciertas señales de entrada, en la mayoría de los casos se trabaja con valores de entrada booleanos.
La señal de entrada llamada bias es un valor de sesgo que permite cambiar o disparar la función de activación hacia la izq. o der. para garantizar un aprendizaje exitoso. - Pesos sinápticos (representan los impulso eléctricos): Los pesos sinápticos permite el impulso o disparo de una señal de entrada, estos son generados de manera aleatoria en un rango de [-1,1].
- Unión sumatoria: La función sumatoria realiza la suma ponderada de las señales de entrada con los pesos.
- Función de activación: Una vez realizada la suma ponderada la función de activación evalúa que tan aptas son las señales de entrada, si la sumatoria de estas estas rebasa un cierto umbral son mandadas como salida, de lo contrario se regresa al paso 2 y se ajustan los pesos (pueden ser generados de manera aleatoria)
- Salida: manda la salida resultante a la siguiente neurona.
¿Entonces qué es una red neuronal?
Entonces una red neuronal se compone de un conjunto de perceptrones interconectados entre si, generando así una red, la cual su estructura puede volverse tan compleja como nosotros lo deseemos. La estructura más sencilla se conforma de tres capas, una capa de entrada, una capa oculta y una capa de salida.
Ejemplo del funcionamiento de un perceptrón
Para entender cómo funciona un perceptrón, a continuación realizaremos una ejemplificación, en la que enseñaremos al perceptrón a responder a las entradas de una compuerta AND, en donde dados 2 valores de entrada input 1, input 2, nos dé un valor de salida esperado (output).
La compuerta lógica AND realiza un producto booleano dadas dos entradas, la condición que debe cumplir la compuerta AND es definida por la siguiente tabla de verdad.
Caso 1: Entrada A (0), Entrada B (0) → Salida 0
- Se toman 2 entradas Entrada 0, Entrada 1, el tercer parámetro bias tomará el valor de 1 (siempre tomara el valor de 1).
- Se generan los pesos aleatorios Wi1, Wi2 en el rango [-1,1], Wi1=0.3, Wi2=0.7, y Wib=-0.5 (peso para el valor del bias).
- Se realiza la suma ponderada de las entradas por los pesos: suma = ((0X0.3)+(0X0.7)) + (1X-0.5), resultado: suma = -0.5
- Función de activación: 1 si suma+bias >= 0 o 0 si suma+bias <= 0, en este caso se obtiene una suma de 0.5 (de acuerdo con a función de activación) la salida es 0
- Salida: Obtuvimos una salida 0 y nuestra salida esperada es 0 esta condición se cumple, entonces pasamos con los valores de las siguientes entradas.
Caso 2: Entrada A (0), Entrada B (1) → Salida 0
- Se toman 2 entradas Entrada 0, Entrada 1, el tercer parámetro bias tomará el valor de 1 (siempre tomara el valor de 1).
- Se generan nuevos pesos aleatorios Wi1, Wi2 en el rango [-1,1], Wi1=0.5, Wi2=0.1, Wib=0.9
- Se realiza la suma ponderada de las entradas por los pesos: suma = ((0X0.5)+(1X0.1)) + (1X0.9), resultado: suma = 1
- Función de activación: 1 si suma+bias >= 0 o 0 si suma+bias <= 0, en este caso se obtiene una suma de 1 (de acuerdo con a función de activación) la salida es 1
- Salida: Obtuvimos una salida 1 y nuestra salida esperada es 0 esta condición no se cumple, entonces regresamos al paso 2 y repetimos el proceso.
Regresamos al paso 2
2. Se generan nuevos pesos aleatorios Wi1, Wi2 en el rango [-1,1], Wi1=0.1, Wi2=-0.9, Wib=0.5
3. Se realiza la suma ponderada de las entradas por los pesos: suma = ((0X0.1)+(1X-0.9)) + (1X0.5), resultado: suma = -0.3
4. Función de activación: 1 si suma+bias >= 0 o 0 si suma+bias <= 0, en este caso se obtiene una suma de 0, porque -0.3 es menor que 0.
5. Salida: Obtuvimos una salida 0 y nuestra salida esperada es 0, esta condición se cumple.
Salidas actuales
Este proceso sera el mismo para los dos casos restantes, para fines prácticos resuelve los casos restantes, realizando el proceso antes visto.
Caso 3: Entrada A (1), Entrada B (0) → Salida 0
Caso 4: Entrada A (1), Entrada B (1) → Salida 1
Dudas y Comentarios.
Twitter: @ugarciacal
Facebook: UlisesGC
Referencias
- Orallo, J. H., Ferri, C. R., & Quintana, M. J. R. (2004). Introducción a la Minería de Datos.
- Mcculloch, W. S., & Pitts, W. (1990). A LOGICAL CALCULUS OF THE IDEAS IMMANENT IN NERVOUS ACTIVITY. 17.
- Soberanis, M. C. (2018, febrero 13). Inspiración biológica de las redes neuronales artificiales. Recuperado el 5 de mayo de 2019, de Medium website: https://medium.com/soldai/inspiraci%C3%B3n-biol%C3%B3gica-de-las-redes-neuronales-artificiales-9af7d7b906a
- Rosenblatt, F. (1958). The Perceptron: A Probabilistic Model for Information Storage and Organization. 65. Recuperado de http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.335.3398&rep=rep1&type=pdf