Tendencias de Desarrollo del Software Guía 20 – Redes Neuronales 76 Red Perceptrón El Perceptrón es un tipo de red neuronal artificial desarrollado por Frank Rosenblatt, también puede entenderse como perceptrón la neurona artificial y unidad básica de inferencia en forma de discriminador lineal, que constituye este modelo de red neuronal artificial, esto debido a que el perceptrón puede usarse como neurona dentro de un perceptrón más grande u otro tipo de red neuronal artificial. El concepto más básico que permite comenzar a entender un perceptrón es asociarlo a un sensor, ya sea de temperatura, humedad, nivel de líquidos, grado de acidez, coloración, densidad, etc. Es, en esencia, un dispositivo que, dada la presencia de uno o varios fenómenos de entrada, permite representarlo(s) mediante una señal de salida fácilmente reconocible Perceptrón monocapa El Perceptrón, al constar de una sola capa de entrada y otra de salida con una única neurona, tiene una capacidad de representación bastante limitada, este modelo sólo es capaz de discriminar patrones muy sencillos, patrones linealmente separables, el caso más conocido es la imposibilidad del Perceptrón de representar la función OR EXCLUSIVA. Perceptrón multicapa Un Perceptrón multicapa es una red con alimentación hacia delante, compuesta de varias capas de neuronas entre la entrada y la salida de la misma, esta red permite establecer regiones de decisión mucho más complejas que las de dos semiplanos, como lo hace el Perceptrón de un solo nivel. Red Backpropagation La propagación hacia atrás de errores o retropropagación (del inglés backpropagation) es un algoritmo de aprendizaje supervisado que se usa para entrenar redes neuronales artificiales. El algoritmo emplea un ciclo propagación – adaptación de dos fases. Una vez que se ha aplicado un patrón a la entrada de la red como estímulo, este se propaga desde la primera capa a través de las capas superiores de la red, hasta generar una salida. La señal de salida se compara con la salida deseada y se calcula una señal de error para cada una de las salidas. Mapas de Kohonen o LAM Un mapa auto-organizado es un tipo de red neuronal artificial que es entrenada usando aprendizaje no supervisado. Los mapas auto-organizados son diferentes de otras redes neurales artificiales, en el sentido que estos usan una función de vecindad para preservar las propiedades topológicas del espacio de entrada. El modelo fue descrito por primera vez como una red neural artificial por el profesor finlandés Teuvo Kohonen, debido a lo cual en ocasiones son llamadas redes o mapas de Kohonen. www.dariolara.com Guía 20 – Redes Neuronales Tendencias de Desarrollo del Software 73 Toplogía de una red Una idea clara del proceso que genera una red neuronal artificial se muestra en la siguiente figura, en donde puede observarse el recorrido de un conjunto de señales que entran a la red. Red monocapa Típicamente una neurona tiene más de una entrada; en la siguiente figura se observa una neurona con R entradas; las entradas individuales p1,p2,...,pR son multiplicadas por los pesos correspondientes w1,1, w1,2,...w1,R pertenecientes a la matriz de pesos W. Red multicapa Las redes multicapa son más poderosas que las redes de una sola capa. Por ejemplo, una red de dos capas que tenga una función sigmoidal en la primera capa y una función lineal en la segunda, puede ser entrenada para aproximar muchas funciones de forma aceptable, una red de una sola capa no podría hacer esto. www.dariolara.com Tendencias de Desarrollo del Software Guía 20 – Redes Neuronales 74 Clasificacion de las RNA según topología En general las redes neuronales se pueden clasificar de diversas maneras, según su topología, forma de aprendizaje (supervisado o no supervisado), tipos de funciones de activación, valores de entrada (binarios o continuos); un resumen de esta clasificación se observa en la siguiente figura. Red Hamming La red de Hamming es uno de los ejemplo más simples de aprendizaje competitivo, a pesar de ello su estructura es un poco compleja ya que emplea el concepto de capas recurrentes en su segunda capa y aunque hoy en día en redes de aprendizaje competitivo se ha simplificado este concepto con el uso de funciones de activación más sencillas. La red de Hamming representa uno de los primeros avances en este tipo de aprendizaje, convirtiéndola en un modelo obligado de referencia dentro de las redes de aprendizaje competitivo. Las neuronas en la capa de salida de esta red compiten unas con otras para determinar la ganadora, la cual índica el patrón prototipo más representativo en la entrada de la red. Esta red consiste en dos capas; la primera capa realiza la correlación entre el vector de entrada y los vectores prototipo, la segunda capa realiza la competición para determinar cual de los vectores prototipo está más cercano al vector de entrada. Red Hopfield Una red de Hopfield es una forma de red neuronal artificial recurrente inventada por John Hopfield. Las redes de Hopfield se usan como sistemas de Memoria asociativa con unidades binarias: existe realimentación entre las neuronas. De esta forma, al introducir un patrón de entrada, la información se propaga hacia adelante y hacia atrás, produciéndose una dinámica. www.dariolara.com Guía 20 – Redes Neuronales Tendencias de Desarrollo del Software 75 En algún momento, la evolución se detendrá en algún estado estable. En otros casos, es posible que la red no se detenga nunca. Las redes recurrentes deben cumplir tres objetivos: 1. Dado cualquier estado inicial, deben converger siempre a un estado estable. 2. El dominio de atracción de cada estado estable debe estar perfectamente delimitado y cumplir algún criterio de métrica (por ejemplo, que el estado final sea el más cercano al inicial). 3. Debe poder tener cualquier número de estados estables. La red de Hopfield fue diseñada en 1982. Red Binaria Art ART son las siglas en inglés de Teoría de la Resonancia Adaptativa (Adaptive Resonance Theory), desarrollada por Stephen Grossberg y Gail Carpenter. Es un modelo de red neuronal artificial que basa su funcionamiento en la manera en que el cerebro procesa información y que describe una serie de modelos de redes neuronales que utilizando métodos de aprendizaje supervisado y no supervisado abordan problemas tales como el reconocimiento y la predicción de patrones. Diagrama de flujo de una red ART www.dariolara.com Tendencias de Desarrollo del Software Guía 20 – Redes Neuronales Guía 20 – Redes Neuronales Tendencias de Desarrollo del Software Bibliografía • Redes Neuronales Artificiales. Fundamentos, Modelos y Aplicaciones. José Ramón Hilera Gonzalez y Victor José Martínez Hernando. • Tutorial Redes Neuronales. Universidad Tecnológica de Pereira – Facultad de Ingeniería Eléctrica. • Redes Neuronales. Algoritmos, Aplicaciones y Técnicas de Programación. James A. Freeman y David M. Skapura. • Neural Networks. A Comprehensive Foundation. Simon Haykin. • Pattern Recognition Using Neural Networks. Theory and Algorithms for Engineers and Scientists. Carl G. Looney. • Neural Network Toolbox. For Use with MATLAB®. User’s Guide Version 4. Howard Demuth and Mark Beale. (PDF). www.dariolara.com www.dariolara.com