Hardlim y Hardlims en Matlab, aplicado a la detección de obstáculos por medio de un robot Hardlim and Hardlims in Matlab, applied to obstacle detection by a robot

October 6, 2017 | Autor: Eduardo Cartuche | Categoría: Neural Networks, Matlab, Network, Learning, Model
Share Embed


Descripción

Hardlim y Hardlims en Matlab, aplicado a la detecci´on de obst´aculos por medio de un robot Hardlim and Hardlims in Matlab, applied to obstacle detection by a robot E. Cartuche, R. Granda, and H. Paz

Resumen- Las redes neuronales tienen la capacidad ´ unica de aprender de alguna fuente de informaci´on integrada en su entorno. En 1958 el psic´ologo Frank Ronsenblant desarroll´o un modelo simple de neurona basado en el modelo de McCulloch y Pitts y el aprendizaje en una regla basada en la correcci´on de errores; este modelo fue llamado Perceptr´on. Las funciones de transferencia aplicables a un perceptr´on, hardlim y hardlims crean neuronas que clasifican las entradas en dos categor´ıas; se utilizan en problemas linealmente separables, como se ver´a en un ejemplo del mundo real, cuya soluci´on ha sido implementada en el lenguaje de alto nivel Matlab. Palabras clave- Neurona, red, red neuronal, modelo, perceptron, aprendizaje, hardlim, hardlims, Matlab Abstract—Neural networks have the unique ability to learn from some source of information embedded in their environment. In 1958 the psychologist Frank Ronsenblant developed a simple model neuron based on the model of McCulloch and Pitts and learning in a rule-based error correction; This model was called Perceptron. Transfer functions applicable to a perceptron, hardlim and hardlims, creates neurons that classify the inputs into two categories, they are used on linearly separable problems, as will be seen in an example of the real world, the solution has been implemented in high-level language Matlab.

el estado del arte. La secci´on IV establece las conclusiones a las cuales se ha llegado una vez finalizado el caso de estudio. La secci´on V corresponde a la revisi´on bibliogr´afica. II. E STADO DEL A RTE A. Neurona Biol´ogica Una neurona es el elemento fundamental del sistema nervioso, en esta c´elula se puede distinguir un cuerpo o soma donde se cumplen la mayor parte de las funciones de nutrici´on y una serie de arborizaciones que se conocen como dendritas que le permite tener contacto con otras neuronas para intercambiar informaci´on, as´ı mismo, las dendritas receptan informaci´on del exterior. Del soma sale tambi´en una fibra u´ nica, que recibe el nombre de ax´on; por lo com´un va de una a otra zona del sistema nervioso o sale a la periferia, en donde puede inervar distintas a´ reas de la piel, de los o´ rganos del cuerpo o diferentes estructuras musculares. La figura 1 muestra la estructura de una neurona bi´ologica.

Index Terms—Neuron, network, neural networks, model, Perceptron, learning, hardlim, hadlims, Matlab

´ I. I NTRODUCCI ON

E

l presente art´ıculo trata sobre las redes neuronales artificiales aplicadas a problemas de la vida real, haciendo uso exclusivo de las funciones de transferencia Hardlim y Hardlims, implementadas en el lenguaje de programaci´on Matlab; especificamente para resolver el problema de la detecci´on de obst´aculos por medio de un robot, que ser´a resuelto haciendo uso de una red de tipo Perceptr´on. El art´ıculo esta estructurado de forma tal que se ha tratado de abarcar la mayor parte de contenidos referentes a las redes neuronales: La seccion I comprende la parte introductoria del trabajo que se ha realizado. La secci´on II corresponde al estado del arte acerca de las redes neuronales y sus funciones. La secci´on III comprende al caso de estudio, caso pr´actico donde se aplica E. Cartuche, Universidad Nacional de Loja, Loja, Ecuador, [email protected] R. Granda, Universidad Nacional de Loja, Loja, Ecuador, [email protected] H. Paz, Universidad Nacional de Loja, Loja, Ecuador, [email protected]

Figura 1. Neurona Biol´ogica

La interacci´on entre las neuronas recibe el nombre de sin´apsis y se realiza de varias maneras, dependiendo de las membranas que se ponen en contacto pero lo com´un es el contacto entre el ax´on y las dendritas. Las sin´apsis son unidireccionales y el hecho de que sean excitadoras o inhibidoras se determina biol´ogicamente a trav´es del aprendizaje. B. Neurona Artificial Existen varias formas de nombrar una neurona artificial, es conocida como nodo, neuronodo, celda, unidad o elemento de procesamiento (PE); En la figura 2 se observa un PE en forma general y su similitud con una neurona biol´ogica. De la observaci´on detallada del proceso biol´ogico se han hallado los siguientes an´alogos con el sistema artificial: • Las entradas Xi representan las se˜ nales que provienen de otras neuronas y que son capturadas por las dendritas.

Las neuronas son tolerantes a fallos, si parte de la red no trabaja, solo dejara de funcionar la parte para que dicha neurona sea significativa; el resto tendr´a su comportamiento normal. • Las neuronas pueden reconocer patrones que no han sido aprendidos, s´olo deben tener cierto parecido con el conocimiento previo que tenga la red. 2) Desventajas de las Redes Neuronales: • Complejidad de aprendizaje para grandes tareas, cuanto m´as cosas se necesiten que aprenda una red, m´as complicado ser´a ense˜narle. • Tiempo de aprendizaje elevado. Esto depende de dos factores: primero si se incrementa la cantidad de patrones a identificar o clasificar y segundo si se requiere mayor flexibilidad o capacidad de adaptaci´on de la red neuronal para reconocer patrones que sean sumamente parecidos, se deber´a invertir mas tiempo en lograr que la red converja a valores de pesos que representan lo que se quiera ense˜nar. • No permite interpretar lo que se ha aprendido, la red por s´ı sola proporciona una salida, un n´umero, que no puede ser interpretado por ella misma, sino que se requiere de la intervenci´on del programador y de la aplicaci´on en s´ı para encontrarle un significado a la salida proporcionada. • Elevada cantidad de datos para el entrenamiento, cuanto mas flexible se requiere que sea la red neuronal, mas informaci´on tendr´a que ense˜narle para que realice de forma adecuada la identificaci´on. (Hilera 1995, Freeman 1993).



Figura 2. Neurona Artificial

Los pesos Wi son la intensidad de la sinapsis que conecta dos neuronas; tanto Xi como Wi son valores reales. • θ es la funci´ on umbral que la neurona debe sobrepasar para activarse; este proceso ocurre biol´ogicamente en el cuerpo de la c´elula. Las se˜nales de entrada a una neurona artificial X1, X2,.., Xn son variables continuas en lugar de pulsos discretos, como se presentan en una neurona biol´ogica. Cada se˜nal de entrada pasa a trav´es de una ganancia o peso, llamado peso sin´aptico o fortaleza de la conexi´on cuya funci´on es an´aloga a la de la funci´on sin´aptica de la neurona biol´ogica. Los pesos pueden ser positivos (excitatorios), o negativos (inhibitorios), el nodo sumatorio acumula todas las se˜nales de entradas multiplicadas por los pesos o ponderadas y las pasa a la salida a trav´es de una funci´on umbral o funci´on de transferencia. La entrada neta a cada unidad puede escribirse de la siguiente manera: •

D. Funci´on de Activaci´on C. Red Neuronal Las redes neuronales artificiales son sistemas que imitan esquem´aticamente la estructura neuronal del cerebro humano y buscan emular su comportamiento en lo que se refiere al aprendizaje y la extracci´on de conocimiento gen´erico a trav´es de un conjunto de datos. Una red neuronal est´a formada por un grupo interconectado de capas compuesta por una o varias matrices de pesos W; sus respectivos vectores de ganancias (bias) b, un vector de entradas p, un vector de salida a, y una o varias funciones de activaci´on. Las redes neuronales se pueden clasificar seg´un el n´umero de capas, as´ı por ejemplo la red neuronal monocapa. Es la red neuronal m´as sencilla ya que tiene una sola capa de neuronas que pondera y suma las entradas para obtener la salida. 1) Ventajas de las Redes Neuronales: • El procesado de la informaci´ on es local, es decir que al estar compuesto por unidades individuales de procesamiento dependiendo de sus entradas y pesos y de que todas las neuronas de una capa trabajan en forma paralela y proporcionan una respuesta al mismo tiempo. • Los pesos son ajustados bas´ andose en la experiencia, lo que significa que se le tiene que ense˜nar a la red lo que necesita saber antes de ponerla en funcionamiento.

La funci´on de activaci´on calcula el estado de actividad de una red formando la entrada global en un valor (estado) de activaci´on, cuyo rango normalmente va de (0 a 1) o de (–1 a 1). Esto es as´ı, porque una neurona puede estar totalmente inactiva (0 o –1) o activa (1). Existen diferentes funciones de activaci´on o de transferencia, como las funciones Limitador fuerte, Limitador fuerte sim´etrico (ambas conocidas como funciones tipo escal´on) o la funci´on de tipo Lineal. Las funciones de transferencia mas comunes se definen en la figura 4 adem´as de que muestra alg´un ejemplo de la red en la que se emplea cada funci´on y el nombre y s´ımbolo empleado en MATLAB para identificarla. 1) Funci´on Escal´on: La funci´on de activaci´on escal´on se asocia a neuronas binarias en las cuales, cuando la suma de las entradas es mayor o igual que el umbral de la neurona es 1; si es menor, la activaci´on es 0 (o -1). La figura 3 muestra la representaci´on gr´afica de la funci´on escal´on.

Figura 3. Funci´on Escal´on

2) Diferentes Funciones y sus representaciones: La figura 4 hace referencia a las diferentes funciones de transferencia utilizadas para el entrenamiento de redes neuronales artificiales. El icono para la funci´on Hardlim reemplazar´a a la letra f en la expresi´on general, cuando se utilice la funci´on Hardlim Una variante de esta funci´on puede verse en la figura 7, la que

Figura 6. Funci´on Limitador Fuerte

representa la funci´on de transferencia Hardlims que restringe el espacio de salida a valores entre 1 y –1. Figura 4. Tipos de funciones

E. Funci´on de Transferencia El modelo mas simple lo podemos observar en la figura 5. Las entradas a la red ser´an ahora presentadas en el vector

Figura 7. Funci´on Hardlims Figura 5. Funci´on de Transferencia

p, que para el caso de una sola neurona contiene s´olo un elemento, w sigue representando los pesos y la nueva entrada b es una ganancia que refuerza la salida del sumador n, la cual es la salida neta de la red; la salida total est´a determinada por la funci´on de transferencia, la cual puede ser una funci´on lineal o no lineal de n, y que es escogida dependiendo de las especificaciones del problema que la neurona tenga que resolver. 1) Limitador fuerte (Hardlim): La figura 6, muestra como e´ sta funci´on de transferencia acerca la salida de la red a cero, si el argumento de la funci´on es menor que cero y la lleva a uno si este argumento es mayor que uno. Esta funci´on crea neuronas que clasifican las entradas en dos categor´ıas diferentes, caracter´ıstica que le permite ser empleada en la red tipo Perceptr´on.

F. Funci´on de Aprendizaje El aprendizaje consiste en la modificaci´on del conocimiento inducido por la interacci´on con el entorno y como resultado de experiencias conducen al establecimiento de nuevos modelos de respuesta a est´ımulos externos (Hilera y Mart`ınez 1995). Esta es una de las caracter´ısticas m´as importantes de las RNA, ya que esto les brinda la flexibilidad y adaptabilidad ante diferentes problemas que a pesar de contar con caracter´ısticas comunes tambi´en se diferencian en a´ mbitos cruciales. Gracias al aprendizaje, la RNA puede auto-organizarse y cambiar su estructura hasta conseguir un algoritmo de ejecuci´on. El aprendizaje consiste en hacer cambios en los pesos de las conexiones entre las neuronas de la red hasta conseguir la respuesta deseada de la red y el entrenamiento es el procedimiento por el cual la red aprende; mientras que el aprendizaje es externo, el entrenamiento es interno. El aprendizaje puede ser, supervisado, no supervisado y por reforzamiento.

1) Aprendizaje supervisado: En el aprendizaje supervisado, se presenta una entrada a la capa de entrada junto con una respuesta deseada para la capa de salida, el proceso de aprendizaje se basa en la comparaci´on entre la salida que calcul´o la red y la respuesta deseada, generando un error, el error se utiliza para cambiar los par´ametros de la red (pesos) de modo que resulte un mejor rendimiento. 2) Aprendizaje no supervisado: Las redes neuronales artificiales con aprendizaje no supervisado son aquellas que no necesitan un asesor externo para realizar su aprendizaje. La red no recibe informaci´on por parte del entorno que le indique si la salida generada en respuesta a una entrada es o no correcta. El aprendizaje no supervisado consiste en que la red descubra por s´ı misma caracter´ısticas, regularidades, correlaciones o categor´ıa en los datos de entrada y se obtengan de forma codificada en la salida. En algunos casos, la salida representa el grado de similitud entre la informaci´on que se le est´a presentado en la entrada y la que se le ha mostrado en el pasado. En otro caso podr´a realizar un clustering o establecimiento de categor´ıas, indicando con la salida de la red a qu´e categor´ıa pertenece la informaci´on presentada como entrada, siendo la propia red quien deba encontrar las categor´ıas apropiadas a partir de correlaciones en las entradas presentadas. III. C ASO DE E STUDIO Las funciones hardlim y hardlims, como se ha visto anteriormente, se utilizan en perceptrones de una sola capa, por lo que son u´ tiles en la resoluci´on de problemas linealmente separables. Un ejemplo pr´actico y sencillo se puede dar en la: “Detecci´on de Obst´aculos por medio de un Robot”. Se cuenta con un robot con cuatro sensores de proximidad en distintas ubicaciones que permanentemente detectan si hay objetos que se encuentren a una distancia superior o inferior a la preestablecida, con base en esto se decide si dar marcha adelante o atr´as a cada uno de los dos motores que posee; en las lecturas de los sensores podr´ıan darse 16 posibles combinaciones y para cada combinaci´on cada uno de los dos motores podr´ıa dar marcha adelante o marcha atr´as. Cuando los sensores detectan un objeto que se encuentra a distancia inferior a la predeterminada, se dir´a que el objeto se encuentra cerca y esto se representa por medio de un 1 y cuando se detecte un objeto a una distancia mayor a la predeterminada se dir´a que el objeto est´a lejos lo cual se indica con un -1; dependiendo de estas lecturas los motores podr´an dar marcha adelante, lo que se representa por un 1 o dar marcha atr´as con un -1. A. ¿Por qu´e elegir este tipo de red? Este tipo de problema generalmente es resuelto suministr´andole al robot una base de datos que contiene todas las posibles situaciones que se podr´ıan presentar y sus respectivas soluciones, en este caso se necesitar´ıa almacenar las respuestas para ambos motores ante las 16 posibles combinaciones en las lecturas de los sensores,

Figura 8. Comportamiento del robot

cuando el n´umero de variables de entrada y el n´umero de salidas es mucho mayor, la cantidad de datos necesarios para especificar cada posible situaci´on crece indefinidamente, debido a esto se requerir´ıan dispositivos con gran capacidad de almacenamiento; en contraste, una red neuronal puede entrenarse con un n´umero representativo de patrones y aprender el comportamiento del sistema utilizando dispositivos de menos capacidad de almacenamiento y costo. Una red tipo Perceptr´on puede ser entrenada con patrones de cualquier dimensi´on en la entrada y en la salida con datos binarios, por la simplicidad del problema este tipo de red es la mas adecuada. Para garantizar que el problema puede ser resuelto por una red neuronal tipo Perceptr´on se debe comprobar que los patrones de entrenamiento son linealmente separables, para esto se deben plantear las desigualdades generadas por cada patr´on de entrenamiento, en este caso cada patr´on de cuatro dimensiones generara dos desigualdades (una por cada salida), estas desigualdades no deben contradecirse, si esto ocurriera el problema no podr´ıa ser resuelto por una red tipo Perceptr´on de una sola capa y deber´a buscarse otro tipo de soluci´on. Debido a la naturaleza bipolar de la salida, la funci´on de transferencia a utilizar es hardlims.

B. Entrenamiento de la red A la red se le presentaran 7 patrones para los cuales dependiendo de las lecturas de los sensores se le dir´a al robot que hacer espec´ıficamente y luego se probar´a la red con los casos restantes para comprobar la capacidad de generalizaci´on de la red neuronal ante un patr´on nunca antes visto Los estados de lecturas de los sensores y de operaci´on de los motores fueron designados con 1 y –1, puesto que para la convergencia del proceso de entrenamiento resulta m´as ventajosos propagar valores de 1 y –1 que de 1 y 0. Debido a la naturaleza de la salida y de la entrada de la red, la funci´on de transferencia apropiada es hardlims, la cual trabaja con valores bipolares. Se crear´a una red de 4 entradas con una neurona tipo Perceptr´on para cada salida, teniendo as´ı una salida bidimensional, los pesos iniciales aleatorios de la red se muestran a continuaci´on: El siguiente c´odigo crea una red tipo Perceptr´on con funci´on de transferencia hardlims, dos neuronas en la salida, utiliza como patrones de entrenamiento las lecturas de los cuatro sensores almacenados en p y como patrones objetivo o salidas

Figura 9. Pesos iniciales

IV. C ONCLUSIONES deseadas las acciones de ambos motores almacenados en el vector t.

Figura 10. C´odigo Matlab

De la ejecuci´on del c´odigo en matlab obtenemos la representacion de nuestra red perceptr´on la misma que nos indica la cantidad de entradas, el numero de capas y las salidas de la red.

Figura 11. Representaci´on de la Red

Los pesos finales de la red que satisfacen todos los patrones de entrada y salida son:

Figura 12. Pesos Finales

La red fue simulada para la totalidad de combinaciones posibles de entrada para comprobar que no exista error en el aprendizaje de los patrones de entrenamiento y para observar su capacidad de generalizaci´on en los casos restantes.

Una vez realizada la revisi´on del estado del arte de las redes neuronales y realizado el caso pr´actico en el presente a´ rticulo se ha llegado a las siguientes conclusiones: • La redes neuronales buscan cambiar el paradigma de procesamiento secuencial de la m´aquina de Von Neumann, por el procesamiento en paralelo de las neuronas artificiales. • La principal ventaja de las redes neuronales, ya sean biol´ogicas o artificiales, es la capacidad de respuesta, dado que dicha respuesta es el resultado global de interacci´on del sistema, en lugar de respuestas particulares por cada uno de las neuronas. • Es conveniente en las redes neuronales artificiales as´ı como en el cerebro humano, evitar el entrenamiento excesivo del sistema, ya que esto puede conllevar a respuestas err´oneas cuando cambia el entorno. • Las redes neuronales son capaces de imitar y pronosticar el funcionamiento de sistemas din´amicos sin contar con un modelo expl´ıcito, esto es muy importante al momento de clasificar datos que pueden contener errores. • Una red tipo Perceptr´ on de una sola capa es una buena soluci´on a un problema que involucre patrones linealmente separables, en el caso de contar con patrones que no son linealmente separables se tiene la alternativa de utilizar una red Perceptr´on multicapa o cambiar definitivamente de red, n´otese que una red Perceptr´on multicapa puede solucionar el problema de separabilidad lineal a medida que aumenta el n´umero de capas de la red. • En las aplicaciones desarrolladas con redes neuronales juega un papel importante la tolerancia a fallas que las caracteriza, pues en caso de fallar uno o varios sensores la red siempre producir´a una salida que en la mayor´ıa de los casos es la mas acertada, debido a que la red despu´es de un proceso de aprendizaje exitoso esta en capacidad de generalizar el comportamiento del sistema. R EFERENCES [1] T Alcaraz Romero V´ıctor Manuel. Estructura y funci`on del sistema nervioso. Recepci`on sensorial y estados del organismo 2da edici´on. Editorial El manual moderno. M`exico DF M´exico 2001 ISBN 968-895952-9. [2] Lahoz-Beltra Rafael . Bioinform´atica: Simulaci´on, vida artificial e inteligencia artificial. Ediciones D´ıaz Santos Madrid Espa˜na. 2004 ISBN 978-84-7978-645-8 [3] Flores, R. Fern´andez, J. Las Redes Neuronales Artificiales. Editorial Netbiblo. La Coru˜na, Espa˜na. 2008. ISBN 978- 84- 9745-2465 [4] APLICACIONES DE LAS REDES NEURONALES A INGENIER´IA ´ ELECTRICA, Universidad Tecnol´ogica de Pereira, Recuperado de: http: //medicinaycomplejidad.org/pdf/redes/Capitulo3.pdf [5] Tanco, F. (2003). Introducci´on a las redes neuronales artificiales. Grupo de Inteligencia Artificial. Recuperado de: http://www.secyt.frba.utn.edu. ar/gia/RNA.pdf [6] Hugo Gal´an Asensio, Alexandra Mart´ınez Bowen, Inteligencia artificial.Redes neuronales y aplicaciones, I.T.T Telem´atica Universidad Carlos III de Madrid.

[7] J.M.Gonz´alez de Durana, Introducci´on a MATLAB, Dpto. de Ingenier´ıa de Sistemas y Autom´atica EUITI e ITT, UPV-EHU VITORIA-GASTEIZ Recuperado de: http://www.araba.ehu.es/depsi/jg/imatlab.pdf [8] DE, P. O. E. T., APLICADAS, L. E. M., CHAVEZ, N. P., MAC´IAS, M. V. B. APRENDIZAJE NO SUPERVISADO Y EL ALGORITMO WAKE-SLEEP EN REDES NEURONALES. Disponible en http:// jupiter.utm.mx/∼tesis dig/11612.pdf [9] E. Cartuche, R. Granda Repositorio de c´odigo fuente del caso pr´actico. Disponible en: https://code.google.com/p/my-proyect-red-neuronal/

Eduardo Cartuche professional training for Engineering degree in Systems Engineering from Universidad Nacional de Loja, Loja, Ecuador in 2014. His current research interest in neural networks are applied to the perceptron with hardlims hardlim and functions.

Rodrigo Granda professional training for Engineering degree in Systems Engineering from Universidad Nacional de Loja, Loja, Ecuador in 2014. His current research interest in neural networks are applied to the perceptron with hardlims hardlim and functions

Lihat lebih banyak...

Comentarios

Copyright © 2017 DATOSPDF Inc.