Historia de las Redes Neuronales: Neurocomputación y Redes Neuronales
Resumen
En este ensayo se pretende que la persona que lo lea se introduzca en las redes neuronales artificiales. Se va a dar una introducción de cómo están configuradas dichas redes y como han ido evolucionando a lo largo de la historia. Como aprenden y ejecutan los patrones que son introducidos en ellas, para que sirven y en nuestra vida en que están introducidas ya que puede parecer que no afectan en nada, pero están ayudando a que avance más rápido la resolución de algunos problemas.
Introducción
Las redes neuronales están basadas en el modelo biológico de la red neuronal humana. Esta red está compuesta por neuronas, son células que componen el sistema nervioso, están conectadas con otras que se mandan señales, donde se crea un proceso en el que se intercambian energía y química. La conexione entre neuronas pueden ser excitante e inhibidora. Las neuronas están compuestas por: dentritas, ramificación de la neurona que recibe estímulos externos; axón, extensión igual de fina que un hilo por la que se trasmiten impulsos nerviosos a otras neuronas; sinapsis, conecta el axón de la neurona con la dentrita de otra neurona que este cerca a través de neurotransmisores; soma, es el núcleo de la neurona. Varias investigaciones afirman que cada ser humano tiene distinta red neuronal, por lo que es más complicado poder reproducirlas para darles a las redes neuronales artificiales aleatoriedad.
Las redes neuronales artificiales (RNA) están compuestas por nodos que tienen la información de las entradas y las salidas almacenadas de dichos nodos, la topología de la red nos dice como están conectados los nodos de la red entre sí, si es una red completa o está en capas, etc y por último el algoritmo de aprendizaje da el peso de los nodos que están conectados.
Las RNA están diseñadas para resolver problemas complejos, a través de métodos de aprendizaje, esto se asemeja un poco a como aprenden los humanos.
Historia de las redes neuronales
- Años 40-50-60
Alan Turing, fue el primero que estudio el cerebro humano como una forma de computación. Pero la primera RNA nace en 1943 de la mano de Warren McCulloch que era un siquiatra y Walter Pitis que era un matemático, es conocida como las células de McCulloch-Pitis. El modelo era muy sencillo, las neuronas tenían un funcionamiento siempre donde solo tenía dos estados que podían ser apagado 0 o encendido 1, sus sinapsis y umbrales se quedan fijos y tiene una función de activación escalonada. Aunque es un modelo muy sencillo, si se conectan varias neuronas de estas, se tendría un fuerte dispositivo computacional, ya que tiene un valor universal computacional.
El perceptrón simple fue creado por Rosenblatt en 1958, está formado por dos capas, una de entrada y otra de salida, no son lineales y tienen también función de activación de tipo escalón o escalonado. Este modelo es capaz de realizar y determinan a qué clases pertenecen patrones y algunos ejemplos de entrenamiento de forma automática, gracias a que su aprendizaje hace que determine los pesos de las neuronas automáticamente. Tiene su propia regla de aprendizaje, como se verá más adelante.
La Adaline es una RNA creada en 1960 por Widrow y Hoff. Es muy parecida al perceptrón simple, la diferencia es que la Adaline tiene un componente llamado bias, que proporciona libertad al modelo. Esta hace una suma lineal de las entradas y la salida genera una función umbral para esta suma lineal. La salida de la Adaline puede tomar los valores ± 1, mientras que el Perceptrón solo puede tomar los valores 0 y 1. Tiene también su propio método de aprendizaje, este se basa básicamente en aprender patrones.
- Años 80
Las Neuronas Sigmoides aparecen en los años 80 tienen parecido con la Adaline y Perceptrón simple, esto es que por la entrada se puedan introducir números reales y no solo 0 y 1. Estas fueron las primeras que aprendieron por sí solas. Gracias a este modelo de RNA se definió la función sigmoide.
El algoritmo de RNA Backpropagation, fue creado en 1974 por Paul Werbos y en 1982-86 presentaron un modelo mejorado de este algoritmo. Es una RNA multicapa suele tener tres o más capas. La primera capa es la de entrada y recibe información del exterior, esta capa no realiza ninguna operación, la capa intermedia esta interconectada con la primera capa o capa exterior y la superior que es la que saca la información, siempre la respuesta al problema planteado. Su aprendizaje es supervisado se le da un patrón que tiene una entrada y una salida este va ajustando los pesos para que el error de salida sea el de menor rango, más adelante se detallara como funciona este aprendizaje y sus fases.
El Perceptrón Multicapa nace en los años 80, está formado por varias capas, una de entrada y otra de salida siempre y luego puede tener capas intermedias. Este modelo fue creado para mejorar los fallos del Perceptrón Simple. Dependiendo de cómo estén conectadas las capas son un tipo de red distinta. Red con conexión hacia delante, esto quiere decir, que las conexiones solo van hacia adelante y no pueden retroceder hacia atrás. O red de conexión hacia atrás, esto quiere decir, que las capas pueden estar conectadas tanto hacia adelante como hacia atrás y la información puede avanzar o retroceder. Este modelo también tiene su propio método de aprendizaje.
El modelo de contrapropagación fue descubierto por Hecht-Nielsen en 1987. Combina dos redes la de Kohonen y la de Oustar. La red de Kohonen fue presentada en 1982, tiene un parecido en su funcionamiento al del cerebro humano. La red de Oustar fue presentada en 1983 era un modelo más estable. El modelo de contrapropagación fue diseñado para que diera una salida más rápida de agrupamiento del problema.
- Años 2000-presente
El modelo Generative Adversarial Networks fue propuesto en 2014, tiene dos partes una el Generador que es por donde entra la información y un Discriminador que es por donde sale la información, ambas partes aprenden a la vez. Su principal aplicación es diferenciar los datos que son reales y cuales son artificiales y además generar imágenes realistas.
Aprendizaje
La RNA tiene pesos donde esta almacenado el conocimiento de las conexiones de las neuronas. El aprendizaje consiste en ajustar dichos pesos a base de entrenamiento. Existen muchos criterios para modificar los pesos a esto se llama reglas de aprendizajes. Las dos principales son: el aprendizaje supervisado y el aprendizaje no supervisado.
El aprendizaje supervisado: está supervisado por agente externo a la red, como puede ser un maestro o un supervisor. A la red se le dan un conjunto de patrones para la entrada y la salida que se espera, a partir de ahí la red va ajustando los pesos, compara la salida dada con la deseada y crea una señal de error.
Este modelo de aprendizaje a su ves se puede dividir en:
- Aprendizaje por corrección de error: los pesos de ajustan debido al error que hay entre la salida y la salida esperada.
- Aprendizaje por refuerzo: este método es más lento y consiste en no proporcionar en ningún momento durante el entrenamiento de la red la salida esperada, lo que se hace es que se da una señal de refuerzo si la salida se aproxima a la señal deseada y a partir de esta señal se van ajustando los pesos por medio de un mecanismo de probabilidad.
- Aprendizaje estocástico: se hacen cambios aleatorios de los pesos de la red y se evalúan los resultados con los valores de la salida deseada, a parte se evalúa la energía de la red que es con lo que se va a comparar para ver si se aproxima o no a lo deseado. Esto es que si la energía disminuye es que esta cerca de la salida esperada y se cambian los pesos, pero si la energía no disminuye esto es que no se acerca a lo esperado y por tanto los valores de los pesos no varían.
- Algoritmo de Backpropagation o retropropagación: este algoritmo tiene dos fases. En primer lugar, propagación hacia adelante, esta fase es activada cuando la entrada recibe un patrón, los pesos toman el valor de la entrada y calculan la salida de la primera capa después las demás capas llevaran a cabo la fase de propagación hacia delante e irán dando las salidas de las demás capas que tenga el modelo de RNA. En segundo lugar, después de haber superado la primera fase comienza la fase de propagación hacia atrás, se van a ir ajustando los pesos desde la capa de la salida, esta es fácil de ajusta ya que se tiene la salida deseda, pasando por todas las capas intermedias, estos pesos son más difíciles de ajustar ya que no se saben las salidas de las capas intermedias, que tenga el modelo de RNA hasta la capa de entrada.
El aprendizaje no supervisado: es totalmente diferente al anterior. La diferencia es que en este caso no se le da a la salida los patrones esperados relacionados con la entrada, sino que la red debe de determinar que salida es la correcta a base de hacer comparaciones entre las distintas salidas y ver qué características y comportamientos siguen, comparándolo también con el patrón proporcionado a la entrada.
Este modelo de aprendizaje a su vez se puede dividir en dos:
- Aprendizaje hebbiano: está basado a partir de la neurona biológica humana, fue descubierto en 1949 por Hebb, que dice que si dos neuronas tienen el mismo estado síncronamente (activa o inactiva), el peso de dicha conexión aumenta y si tienen el mismo estado, pero asíncronamente el peso no varía.
- Aprendizaje competitivo y comparativo: si el patrón que se le pasa a la entrada pertenece a un grupo que ya ha sido reconocido anteriormente por la red, los pesos se ajustarán directamente a este grupo, pero si por el contrario el patrón no pertenece a ningún grupo reconocido los pesos deberán de ser ajustados para dar la salida más precisa.
El algoritmo de aprendizaje del perceptrón simple fue presentado por Rosenblatt en 1962, este hizo que los pesos se ajustaran directamente al darle un patrón. Pertenece al grupo de aprendizaje por corrección de errores. Esto se basa, como anteriormente ya se ha comentado, en ajustar los pesos en función del error que se crea al comparar la salida con la salida deseada. Se utiliza principalmente para el reconocimiento de patrones.
La actualización de pesos que se produce en la Adaline es considerar este problema como un problema de optimización, que va a medir el rendimiento del modelo y los pesos, debido a los patrones de aprendizajes se va a llegar a la forma óptima del patrón de salida.
Aplicaciones de las redes neuronales
- Las redes neuronales artificiales tienen aplicaciones en varios campos científicos y también en la vida cotidiana.
- En el campo de las matemáticas, los algoritmos de aprendizaje al final solo son fórmulas de optimización.
- En el campo de biología y neurofisiología para poder reproducir partes del sistema nervioso del ser humano, también para controlar los movimientos del cuerpo y de los ojos.
- En el campo de la ingeniería para la reconstrucción de imágenes digitales, para implementar circuitos electrónicos e implementaciones ópticas.
- En el campo de empleabilidad y empresas para hacer una criba en la que se buscan a unos empleados con unas características especiales y para ver los ingresos de la empresa.
- Para la predicción del tiempo, a través de los pesos de la salida.
- En medicina sobre todo en radiografías u otro tipo de lector de rayos X, comparan dicha prueba con otras realizadas anteriormente para ver su similitud o su diferencia.
- Los militares las utilizan para detectar bombas, para clasificar las señales que da el radar o para crear armas inteligentes.
- En el campo de la psicología y psiquiatría, para dar un diagnóstico, ven los patrones que tiene el paciente y lo asocian con dicho diagnóstico que ya ha sido aprendido antes por la red neuronal artificial.
- También se aplican a las comunicaciones humanas con máquinas a través del reconocimiento de voz.
Conclusiones
Las conclusiones que se pueden sacar de este trabajo es que a lo largo de los años se han ido perfeccionando los modelos de redes neuronales artificiales, para que puedan ser más precisas para dar una salida exacta al problema planteado. Cada modelo de RNA tiene un algoritmo de aprendizaje ya que no todos disponen de la misma composición y estructura ya que algunos solo tienen una capa y otros pueden disponer de varias.
Cada método o algoritmo de aprendizaje esta diseñado y basado para una tarea en especifica de las redes neuronales artificiales, ya que no se utilizan para lo mismo unas están diseñadas para el reconocimiento de patrones y otras para las distintas aplicaciones mencionadas en el apartado anterior.
Es un tema muy amplio en el que a día de hoy todavía se sigue investigando y buscando la perfección en los modelos para que sean más eficaces y rápidos en sus tareas.
Bibliografía
- Isasi, P. y Galván, I.M. (2004). Redes de Neuronas Artificiales Un Enfoque Practico. Madrid, España: Pearson Prentice Hall.
- Fausett,L. (1994). Fundamentals of Neural Networks. Prentice Hall.
- Na8. (12 de Septiembre de 2018). Breve historia de las redes neuronales artificiales. Recuperado de: https://www.aprendemachinelearning.com/breve-historia-de-las-redes-neuronales-artificiales/
- Pini, R., Gómez, A. y de Abajo, N. (2001). Introducción a la inteligencia artificial: sistemas expertos, redes neuronales artificiales y computación evolutiva. Oviedo, España.
- Hernández, G.J., Gloria, L. y Fernando, L. Fundamentos de neurocomputacion. Colombia. Rescatado de: file:///C:/Users/USUARIO/Downloads/Dialnet-FundamentosDeNeurocomputacion-4902771.pdf
- Matich, D.J. (Marzo de 2001). Redes Neuronales: Conceptos Básicos y Aplicaciones. Yucatán. Recuperado de: file:///C:/Users/USUARIO/Downloads/matich-redesneuronales.pdf
- Basogain, X. Redes neuronales artificiales y sus aplicaciones. Bilbao, España. Recuperado de: https://ocw.ehu.eus/pluginfile.php/9047/mod_resource/content/1/redes_neuro/contenidos/pdf/libro-del-curso.pdf
- Palmer, A. y Montaño, J.J. ¿Qué son las redes neuronales artificiales? Aplicaciones realizadas en el ámbito de las adicciones. Islas Baleares, España. Recuperado de: http://www.disi.unal.edu.co/~lctorress/RedNeu/LiRna001.pdf
- Larrañaga, P. Inza, I. y Moujahid, A. (20 de Julio de 2015). Tema 8. Redes Neuronales. País Vasco, España. Recuperado de: https://www.researchgate.net/profile/Pedro_Larranaga2/publication/268291232_Tema_8_Redes_Neuronales/links/55b7b5c408ae9289a08c0c68.pdf
- Romero, L.A. y Calonge, T. Redes Neuronales y Reconocimiento de Patrones. Salamanca y Valladolid, España. Recuperado de: https://gredos.usal.es/bitstream/handle/10366/21694/DIA_Redes_neuronales.pdf?sequence=1&isAllowed=y
- Flórez, R., Fernández, J.M. y Oleiros, J.M. (2008). Las redes neuronales artificiales: fundamentos teóricos y aplicaciones prácticas. La Coruña, España: Netbiblo.
- Taberes,H., Branch, J. y Valencia, J. (Septiembre de 2006). Generación dinámica de la topología de una red neuronal artificial del tipo perceptron multicapa. Medellín, Colombia. Recopilado de: https://www.redalyc.org/pdf/430/43003814.pdf
- Ortiz, J.E. (1998). Una mirada a la neurocomputación artificial. Colombia. Rescatado de: https://repositorio.unal.edu.co/bitstream/handle/unal/38820/26879-94155-1-PB.pdf?sequence=1&isAllowed=y
- Galán, H. y Martínez, A. Inteligencia artificial. Redes neuronales y aplicaciones. Madrid, España. Recuperado de: http://www.it.uc3m.es/jvillena/irc/practicas/10-11/06mem.pdf
- Wikipedia: Red neuronal artificial. (14 de Octubre de 2020). Recuperado de: https://es.wikipedia.org/wiki/Red_neuronal_artificial
- Lanzarini,L., Corbalán,L., Massa,G.O., Hasperue,W. y Vinuesa,H. Sistemas Inteligentes basados en Neurocomputación. Recuperado de: http://sedici.unlp.edu.ar/bitstream/handle/10915/20326/Documento_completo.pdf?sequence=1&isAllowed=y#:~:text=Redes%20Neuronales%2C%20Algoritmos%20Evolutivos%2C%20Adaptaci%C3%B3n.&text=La%20Neurocomputaci%C3%B3n%20es%20la%20rama,Neuronales%20y%20los%20Algoritmos%20Evolutivos
- Tipos de modelos de Redes Neuronales. (2 de Noviembre de 2020) Recuperado de: http://www.civ.cl/academico/aedil/asignaturas/redes_neuronales_a_nivel_micro/tiposdemodelosderedesneuronales.htm
- Gallo,R. (12 de Enero de 2015). Neuronas artificiales en la vida cotidiana. Recuperado de:http://colision-de-ideas.blogspot.com/2015/01/neuronas-artificiales-en-la-vida.html?m=1
- Real Academia Española. (2001). Diccionario de la lengua española (22.ªed.). Consultado en: https://www.rae.es/rae.html
- Graupe,D. (2007). Principles of artificial neural networks. Singapore: World Scientific.