redes neuronales artificiales: aplicación de la función hardlim para la clasificación de carros y...

10
1 REDES NEURONALES ARTIFICIALES: Aplicaci´ on de la funci´ on Hardlim para la clasificaci´ on de carros y la funci´ on Hardlims para la determinaci´ on de los movimientos de un robot ARTIFICIAL NEURAL NETWORKS: Application of the Hardlim function for the classification of vehicles and the Hardlims function determining the movements of a robot K. Barrionuevo and S. Pati˜ no. Tutor: H.Paz. Resumen: El presente art´ ıculo propone el uso de redes neuronales artificiales para dar soluci´ on a problemas linealmente separables como la clasificaci´ on de carros y la determinaci´ on de los movimientos de un robot, utilizando las funciones de transferencia Hardlim y Hardlims. La simulaci´ on de las redes neuronales artificiales que se proponen para dar soluci´ on a los problemas antes mencionados se encuentran desarrollados en el entorno Matlab. Palabras clave: Neuronas artificiales, funci´ on de transici´ on, entrenamiento/aprendizaje, problemas lineales. Abstract—The paper present proposes the use of artificial neural networks for solving linearly separable problems as the classification of cars and determining the movements of a robot, using the transfer functions Hardlim and Hardlims.The simulation of the artificial neural networks proposed to solve the aforementioned problems are developed in the Matlab environ- ment. Index Terms—Artificial neurons, transition function , workout/ learning,linear problems. I. I NTRODUCCI ´ ON Con el transcurso de los a˜ nos el hombre se ha caracterizado siempre por su usqueda constante de nuevas ıas para mejorar sus condiciones de vida. Estos esfuerzos le han servido para reducir trabajos en operaciones donde la fuerza y la capacidad juegan un papel principal. Los progresos K. Barrionuevo, Universidad Nacional de Loja, Loja, Ecuador, E- mail: [email protected] S. Pati˜ no, Universidad Nacional de Loja, Loja, Ecuador, E-mail: [email protected] H. Paz, Universidad Nacional de Loja, Loja, Ecuador, E-mail: [email protected] obtenidos han permitido direccionar estos esfuerzos en muchos campos, como por ejemplo la inteligencia artificial en la cual esta inmersa redes neuronales artificiales. La importancia que se le ha dado a las redes neuronales es porque con estas es capaz de emular ciertas caracter´ ısticas propios del ser humano, como capacidad de memorizar y asociar hechos. En s´ ı problemas que no son resueltos a trav´ es de un algoritmo, sino con la experiencia que se tiene, por lo cual se dice que la soluci´ on a estos problemas es la construcci´ on de sistemas capaces de reproducir esta caracter´ ıstica humana. En conclusi´ on, las redes neuronales no son as que un modelo artificial y simplificado del cerebro humano, siendo este un ejemplo para un sistema capaz de adquirir conocimiento mediante la experiencia. Una red neuronal es un nuevo sistema para el tratamiento de informaci´ on, donde la unidad b´ asica de procesamiento es la neurona. Tambi´ en sabemos que el ser humano es capaz de aprender, es decir que aquellos problemas que al principio no se puede dar una soluci´ on, pueden resolverse despu´ es de obtener informaci´ on acerca del problema, por lo tanto cuando de desarrollo una red para resolver dicho problema, se une ejemplares que ser´ an utilizados durante esta fase de entrenamiento o aprendizaje, para lo cual se da valores a los pesos de las conexiones entre las neuronas. La organizaci´ on del art´ ıculo es la siguiente: La Secci´ on II (ESTADO DEL ARTE) se documenta los conceptos acerca de la neurona artificial, red neuronal artificial y del perceptr` on.

Upload: sheyli-patino

Post on 26-Jul-2015

190 views

Category:

Education


2 download

TRANSCRIPT

Page 1: Redes Neuronales Artificiales: Aplicación de la función Hardlim para la clasificación de carros y la función Hardlims para la determinación de los movimientos de un robot

1

REDES NEURONALES ARTIFICIALES:Aplicacion de la funcion Hardlim para la

clasificacion de carros y la funcion Hardlims para ladeterminacion de los movimientos de un robot

ARTIFICIAL NEURAL NETWORKS: Applicationof the Hardlim function for the classification of

vehicles and the Hardlims function determining themovements of a robot

K. Barrionuevo and S. Patino.Tutor: H.Paz.

Resumen: El presente artıculo propone el uso de redesneuronales artificiales para dar solucion a problemaslinealmente separables como la clasificacion de carros y ladeterminacion de los movimientos de un robot, utilizando lasfunciones de transferencia Hardlim y Hardlims. La simulacionde las redes neuronales artificiales que se proponen para darsolucion a los problemas antes mencionados se encuentrandesarrollados en el entorno Matlab.

Palabras clave: Neuronas artificiales, funcion de transicion,entrenamiento/aprendizaje, problemas lineales.

Abstract—The paper present proposes the use of artificialneural networks for solving linearly separable problems asthe classification of cars and determining the movements of arobot, using the transfer functions Hardlim and Hardlims.Thesimulation of the artificial neural networks proposed to solve theaforementioned problems are developed in the Matlab environ-ment.

Index Terms—Artificial neurons, transition function , workout/learning,linear problems.

I. INTRODUCCION

Con el transcurso de los anos el hombre se ha caracterizadosiempre por su busqueda constante de nuevas vıas paramejorar sus condiciones de vida. Estos esfuerzos le hanservido para reducir trabajos en operaciones donde la fuerzay la capacidad juegan un papel principal. Los progresos

K. Barrionuevo, Universidad Nacional de Loja, Loja, Ecuador, E-mail: [email protected]

S. Patino, Universidad Nacional de Loja, Loja, Ecuador, E-mail:[email protected]

H. Paz, Universidad Nacional de Loja, Loja, Ecuador, E-mail:[email protected]

obtenidos han permitido direccionar estos esfuerzos enmuchos campos, como por ejemplo la inteligencia artificialen la cual esta inmersa redes neuronales artificiales.

La importancia que se le ha dado a las redes neuronaleses porque con estas es capaz de emular ciertas caracterısticaspropios del ser humano, como capacidad de memorizary asociar hechos. En sı problemas que no son resueltosa traves de un algoritmo, sino con la experiencia que setiene, por lo cual se dice que la solucion a estos problemases la construccion de sistemas capaces de reproducir estacaracterıstica humana.

En conclusion, las redes neuronales no son mas queun modelo artificial y simplificado del cerebro humano,siendo este un ejemplo para un sistema capaz de adquirirconocimiento mediante la experiencia. Una red neuronal esun nuevo sistema para el tratamiento de informacion, dondela unidad basica de procesamiento es la neurona.

Tambien sabemos que el ser humano es capaz de aprender,es decir que aquellos problemas que al principio no sepuede dar una solucion, pueden resolverse despues deobtener informacion acerca del problema, por lo tanto cuandode desarrollo una red para resolver dicho problema, seune ejemplares que seran utilizados durante esta fase deentrenamiento o aprendizaje, para lo cual se da valores a lospesos de las conexiones entre las neuronas.

La organizacion del artıculo es la siguiente:

La Seccion II (ESTADO DEL ARTE) se documentalos conceptos acerca de la neurona artificial, red neuronalartificial y del perceptron.

Page 2: Redes Neuronales Artificiales: Aplicación de la función Hardlim para la clasificación de carros y la función Hardlims para la determinación de los movimientos de un robot

2

La Seccion III (CASO DE ESTUDIO) se muestra el casode estudio 1 que trata de la clasificacion de carros y el casode estudio 2 que trata de la determinacion de movimientosde un robot; ademas se dan los lineamientos necesarios deambos casos de estudio.

La Seccion IV (RESULTADOS) se puede encontrar losresultados obtenidos del caso de estudio 1 y el caso deestudio 2.

La Seccion V (CONCLUSIONES) se pueden encontrar lasconclusiones generadas apartir de la informacion recopiladaen el presente artıculo.

La Seccion VI (RECOMENDACIONES) se puedeencontrar las recomendaciones que realizaron en base a laexperimentacion del estudio efectuado.

La Seccion VII (TRABAJOS FUTUROS) se puedeencontrar las futuros trabajos que se pueden realizar a partirdel estudio planteado.

II. ESTADO DEL ARTE

A. LA NEURONA ARTIFICIAL

El modelo de una neurona artificial es una imitacion delproceso de una neurona biologica. puede tambien asemejarsea un sumador hecho con un amplificador operacional tal comose ve en la Fig. 1.

Fig. 1. Amplificador operacional

Existen varias formas de nombrar una neurona artificial, esconocida como nodo, neuronodo, celda, unidad o elementode procesamiento (PE). En la Fig. 2 se observa un PE enforma general y su similitud con una neurona biologica [1]:

Fig. 2. Neurona artificial y Neurona biologica

De la observacion detallada del proceso biologico se hanhallado los siguientes analogos con el sistema artificial:

• Las entradas Xi representan las senales que provienen deotras neuronas y que son capturadas por las dendritas.

• Los pesos Wi son la intensidad de la sinapsis que conectados neuronas; tanto Xi como Wi son valores reales.

• θ es la funcion umbral que la neurona debe sobrepasarpara activarse; este proceso ocurre biologicamente en elcuerpo de la celula.

Las senales de entrada a una neurona artificial X1, X2,..,Xn son variables continuas en lugar de pulsos discretos, comose presentan en una neurona biologica. Cada senal de entradapasa a traves de una ganancia o peso, llamado peso sinapticoo fortaleza de la conexion cuya funcion es analoga a la de lafuncion sinaptica de la neurona biologica. Los pesos puedenser positivos (excitatorios), o negativos (inhibitorios), el nodosumatorio acumula todas las senales de entradas multiplicadaspor los pesos o ponderadas y las pasa a la salida a traves deuna funcion umbral o funcion de transferencia. La entrada netaa cada unidad puede escribirse como se muestra en la Fig. 3[1]:

Fig. 3. Entrada neta

Una idea clara de este proceso se muestra en la Fig. 4, endonde puede observarse el recorrido de un conjunto de senalesque entran a la red.

Page 3: Redes Neuronales Artificiales: Aplicación de la función Hardlim para la clasificación de carros y la función Hardlims para la determinación de los movimientos de un robot

3

Fig. 4. Proceso de trabajo de la red neuronal

Una vez que se ha calculado la activacion del nodo, el valorde salida equivale a la Fig. 5;

Fig. 5. Salida segun el calculo de la activacion del nodo

Donde fi representa la funcion de activacion para esaunidad, que corresponde a la funcion escogida para transfor-mar la entrada neta i en el valor de salida xi y que dependede las caracterısticas especıficas de cada red. [1]

B. RED NEURONAL ARTIFICIAL

Las RNA se definen como sistemas de mapeos no linealescuya estructura se basa en principios observados en lossistemas nerviosos de humanos y animales. Constan deun numero grande de procesadores simples ligados porconexiones con pesos. Las unidades de procesamiento sedenominan neuronas. Cada unidad recibe entradas de otrosnodos y genera una salida simple escalar que depende de lainformacion local disponible, guardada internamente o quellega a traves de las conexiones con pesos. Pueden realizarsemuchas funciones complejas dependiendo de las conexiones[2].

Las neuronas artificiales simples fueron introducidas porMcCulloch y Pitts en 1943. Una red neuronal se caracterizapor los siguientes elementos:

1) Un conjunto de unidades de procesamiento o neuronas.2) Un estado de activacion para cada unidad, equivalente a

la salida de la unidad.3) Conexiones entre las unidades, generalmente definidas

por un peso que determina el efecto de una senal deentrada en la unidad.

4) Una regla de propagacion, que determina la entradaefectiva de una unidad a partir de las entradas externas.

5) Una funcion de activacion que actualiza el nuevo nivelde activacion basandose en la entrada efectiva y laactivacion anterior.

6) Una entrada externa que corresponde a un terminodeterminado como bias para cada unidad.

7) Un metodo para reunir la informacion, correspondientea la regla del aprendizaje.

8) Un ambiente en el que el sistema va a operar, con senalesde entrada e incluso senales de error.

En muchas redes las unidades de proceso tienen la respuestacomo se muestra en la Fig. 6:

Fig. 6. Ecuacion de respuesta del proceso redes artificiales

Donde:• xk : senales de salida de otros nodos o entradas externas.• ωk : pesos de las ligas de conexion.• f(•) : funcion no lineal simple.

La funcion f puede ser sigmoidal, tangente hiperbolica,escalon, entre otras. En MATLAB se tiene diferentes funcionesde activacion como tansig, hardlim y purelin, entre otras, locual facilita las aproximaciones que se requieran hacer, emple-ando RNA. Cada unidad de proceso tiene una tarea simple:recibe la entrada de otras unidades o de fuentes externas yprocesa la informacion para obtener una salida que se propagaa otras unidades. Una red puede tener una estructura arbitraria,pero las capas que contienen estas estructuras estan definidasde acuerdo con su ubicacion en la topologıa de la red neuronal.Las entradas externas son aplicadas en la primera capa, y lassalidas se consideran la ultima capa. Las capas internas queno se observan como entradas o salidas se denominan capasocultas. Por convencion, las entradas no se consideran comocapa porque no realizan procesamiento.

La entrada total u de una unidad k es la suma de los pesos delas entradas conectadas, mas un bias θ, la ecuacion se muestraen la Fig. 7:

Fig. 7. Ecuacion: Entrada total de una unidad.

Si el peso ωj es positivo se habla de una excitacion y siel peso es negativo se considera una inhibicion de la entrada.Si consideramos a las entradas como funciones del tiempo, laexpresion anterior se convierte en la ecuacion mostrada en laFig. 8:

Fig. 8. Ecuacion: Entrada total de una unidad en funcion del tiempo.

Page 4: Redes Neuronales Artificiales: Aplicación de la función Hardlim para la clasificación de carros y la función Hardlims para la determinación de los movimientos de un robot

4

C. PERCEPTRONEn los anos 50 se dio la aparicion del modelo Perceptron,

inventado por el psicologo Frank Rosemblatt. Este modelose concibio como un sistema capaz de realizar tareas declasificacion de forma automatica. El proposito era tenerun sistema que, mediante un conjunto de ejemplos declases diferentes, fuera capaz de determinar ecuaciones delas superficies que hacıan referencia a dichas clases. Lainformacion en la cual se basaba el sistema era mediante lasclases, a esto se lo conoce como patrones, estos patroneseran quienes aportan la informacion necesaria para que elsistema construyera la superficies y ademas funcionara comoun discriminador para nuevas clases.

En si el objetivo principal era aprender, usando parte de lainformacion, de tal modo que siempre que se un patron deentrada p la salida sea la salida deseada, oses t.

1) Estructura de la red:La arquitectura de la red es muy simple. Se trata deuna estructura monocapa, en la que hay un conjuntode entradas, y una o varias salidas. Cada entrada tieneconexion con las salidas, y estas conexiones determinanla superficie de discriminacion del sistema [3].

En el ejemplo de la Fig. 9 puede emplearse dos fun-ciones de transferencia; hardlim con salidas 0 y 1 ohardlims con salidas -1 y 1; su uso depende del valor desalida que se espera para la red; sin embargo, la funcionhardlims es preferida sobre la hardlim, ya que en estaultima al tener un cero multiplicando algunos de losvalores resultantes del producto de las entradas por elvector de pesos, ocasiona que estos no se actualicen yque el aprendizaje sea mas lento.

Fig. 9. Estructura de la red.

2) Funciones de transferencia:Un modelo mas academico que facilita el estudio deuna neurona, puede visualizarse en la Fig. 10: Lasentradas a la red seran ahora presentadas en el vectorp, que para el caso de una sola neurona contienesolo un elemento, w sigue representando los pesos y

Fig. 10. Funcion de transferencia

la nueva entrada b es una ganancia que refuerza lasalida del sumador n, la cual es la salida neta de lared; la salida total esta determinada por la funcion detransferencia , la cual puede ser una funcion lineal ono lineal de n, y que es escogida dependiendo de lasespecificaciones del problema que la neurona tengaque resolver; aunque las RNA se inspiren en modelosbiologicos no existe ninguna limitacion para realizarmodificaciones en las funciones de salida, ası que seencontraran modelos artificiales que nada tienen quever con las caracterısticas del sistema biologico [1].

• Limitador fuerte (Hardlim): la Fig. 11 muestracomo esta funcion de transferencia acerca la salidade la red a cero, si el argumento de la funcion esmenor que cero y la lleva a uno si este argumentoes mayor que uno. Esta funcion crea neuronas queclasifican las entradas en dos categorıas diferentes,caracterıstica que le permite ser empleada en la redtipo Perceptron[1].

Fig. 11. Funcion de transferencia: Hardlim

El ıcono para la funcion Hardlim reemplazara a laletra f en la expresion general, cuando se utilice lafuncion Hardlim.

• Limitador Fuerte Simetrico (Hardlims): Es unamodificacion de la funcion Hardlim, como puedeverse en la Fig. 12, la que representa la funcion de

Page 5: Redes Neuronales Artificiales: Aplicación de la función Hardlim para la clasificación de carros y la función Hardlims para la determinación de los movimientos de un robot

5

transferencia Hardlims que restringe el espacio desalida a valores entre 1 y –1 [1].

Fig. 12. Funcion de transferencia: Hardlims

3) Funciones de entrenamiento:La funcion de entrenamiento de la red de retropropa-gacion BTF utilizada traingdx, es la funcion de retro-propagacion de gradiente descendente con momento ycon constante de aprendizaje adaptativa. Ademas otrafunciones son [4]:

• Trainlm: funcion de retropropagacion que actualizalos valores de peso y sesgo de acuerdo con laoptimizacion levenberg-marquardt.

• Traingd: funcion de retropropagacion, actualiza losvalores de peso y sesgo segun gradiente descen-dente.

• Trainfg: funcion de retropropagacion causi-NewtonBFGS.

• Trainbr: funcion de regularizacion bayesiana.• Trainwb: funcion de entrenamiento por pesos y

umbrales de red.4) Funciones de aprendizaje:

La funcion de aprendizaje de pesos/umbrales de propa-gacion BLF utilizada es learngdm, Es decir, la funcionde aprendizaje de gradiente descendente con momentoy pesos en umbrales. Pero tambien hay otras funciones[4]:

• Learcon: funcion de aprendizaje de conciencia deumbrales.

• Learngd: funcion de aprendizaje de gradiente de-scendente con pesos en umbrales.

• Learnp: funcion de aprendizaje del perceptron conpesos umbrales.

• Learnpn: funcion de aprendizaje normalizado conpesos umbrales.

• Learnwh: funcion de aprendizaje de windrow-hoffcon pesos en umbrales.

III. CASO DE ESTUDIO

A. CASO DE ESTUDIO 1

Mediante la funcion de activacion hardlim se pretendesolucionar el siguiente problema: Una companıa de carros

tienes la actividad de clasificar los carros que se encuentranes esta, para llevar un control detallado sobre su producto.Para ello cada carro deber pasar por un conjunto de sensoresque detecten las siguientes caracterısticas: numero de ejes,capacidad y tamano.El sensor contador de ejes sacara 0 si el carro tiene 1 y 2 ejes,1 si 3,4 o 5 ejes. El sensor de la capacidad arrogara 0 si lacapacidad es para pocos tripulantes y 1 si es para varios. Elsensor de tamano sacara 0 si es pequeno y 1 si es grande. Paraello se muestra la Fig. 13 las caracterısticas a evaluar.

Fig. 13. Caracterısticas: sensores

n = Wp+ba = hardlim(n)

En la Fig. 14 se muestra los valores de las entradas de laneurona.

Fig. 14. Entradas de la neurona

B. CASO DE ESTUDIO 2

Mediante la funcion de activacion hardlims se pretendesolucionar el siguiente problema:Se requiere que un robot semovilice en un entorno con obstaculos sin impactarse conalguno de estos. Para ello dicho robot cuenta con cuatrosensores de proximidad de obstaculos, cada uno en distintasubicaciones (norte, sur , este, oeste) que permanentementedetectan si hay obstaculos cercanos en cualquiera de lasdirecciones que eviten su movilizacion; ademas el robot tienedos motores que comandan el movimiento de sus ruedaslaterales.

Los sensores S1, S2, S3 y S4, son los que deben detectarla proximidad de un obstaculos, adoptando el valor 1 ante lapresencia del obstaculo o el valor -1 ante la no cercanıa delobstaculo. Los motores (M1, M2) adquieren un par ordenadode valores que va a determinar el movimiento a efectuar, estosvalores pueden ser:

• (-1 -1) Desplazamiento del robot hacia atras

Page 6: Redes Neuronales Artificiales: Aplicación de la función Hardlim para la clasificación de carros y la función Hardlims para la determinación de los movimientos de un robot

6

• (-1 1) Desplazamiento del robot hacia la izquierda• (1 -1) Desplazamiento del robot hacia la derecha• (1 1) Desplazamiento del robot hacia delanteEl primer elemento del par ordenado de valores es otorgado

a el Motor1 de acuerdo a el resultado del S1 y el S2, mientrasel el segundo elemento del par ordenado es otorgado al Motor2de acuerdo al resultado del S3 y S4.

IV. RESULTADOS

A. RESULTADOS CASO DE ESTUDIO 1

De acuerdo al problema a solucionar se ha utilizado elmodelo perceptron ya que es un problema simple, pudiendo serentrenada con patrones de cualesquier dimension en la entraday proporcionando la salida en datos binarios. El modelo deperceptron que se propone tiene una capa de entrada y unacapa de salida, cuya arquitectura se puede observar en la Fig.15:

Fig. 15. Arquitectura de la red neuronal-Caso estudio 1

La red esta estructurada por 8 patrones, mismos que semuestran en la tabla I, dependiendo de los resultados que envıalos sensores se conocera el tipo de vehıculo.

Num. Ejes Capacidad Tamano Salida1 0 0 02 0 1 03 1 0 14 1 1 15 0 0 12 0 1 03 1 0 15 1 1 1

TABLE IMATRIZ DE ENTRADA-CASO DE ESTUDO 1

Los estados de lectura de los sensores en el caso de elnumero de ejes se trabajo con numeros de entre [1,5] y deoperacion de la clasificadora estan designados con 0 y 1, ysegun la salida del problema a resolver es conveniente trabajarcon la funcion de transferencia hardlim.

Para que existe la clasificacion de los carros se ha planteado2 matrices; matriz SC(contiene los datos de los sensores), y lamatriz TC(salidas esperadas segun los datos de los sensores).Con los datos necesarios, se creo un Programa en MATLABtipo Script, llamado “ClasificacionCarro”, cuyo codigo setranscribe a modo de ilustracion:

%Clasificacion tipo de carro%Las variables a utilizarse para el entrenamiento son:%Entradas en los sensores estan en la matriz SC% Ejes: 1y2=pequeno, ¿3=grande

%SC= Capacidad: 0=pocos, 1=muchos% Tamano: 0= pequeno, 1=grandeclcclearSC=[1 2 3 4 5 2 3 5;0 0 1 1 0 0 1 1; 0 1 0 1 0 1 0 1];

%Las salidas estan en la matriz TC:TC=[0 0 1 1 1 0 1 1];

%Mediante una grafica de presenta la ubicacion de loscarros de acuerdo a los valores censadosplotpv(SC,TC)

%Se determina la variacion o rango que tendra el perceptronde acuerdo al valor de las entradasvariacion=[1 5; 0 1; 0 1];

%Se crea una red tipo Perceptron con funcion de transfer-encia hardlims, dos neuronas en la salida% Sintaxis% NET = NEWP(PR,S,TF,LF) , crea un perceptron donde:% PR - Rx2 matriz de valores maximos y mınimos para losR elementos de entrada.% S - Numero de neuronas.% TF - Funcion de transferencias, que por defectoes’‘hardlim’.% LF - Funcion de aprendizaje, que por defecto es ‘learnp’.car=newp(variacion,1,’hardlim’);

% Cantidad de Epocascar.trainParam.epochs=1000;

%Intervalo de visualizacion de los resultadoscar.trainParam.show=5;

%Aprendizaje de la red%Como parametros recibe la red, las entradas y las salidascar=train(car,SC,TC);

%Simulacion de la red se almacena en una matriz control%Se verifica luego las salidas deseadas y se las compara conla simulacion:simulacion= sim(car,SC);simulacionSP

La ejecucion de este codigo a traves de MATLAB, arrojacomo resultado la salida de la red para este patron deentrenamiento:TC = 0 0 1 1 1 0 1 1simulacion = 0 0 1 1 1 0 1 1

Como se puede observar en los resultados de la ejecucion,existe la similitud de la salida “simulacion” con la matriz TC,es decir que la salida de la red es igual a la salida deseadadel patron de entrenamiento; esto nos permite verificar que elperceptron aprendio correctamente el patron.

Para la comprension de la simulacion de la clasificacion delos carros se desarrollo un pequeno programa que se componede dos archivos ClasificacionCarro.m y ClasificacionCarro.fig

Page 7: Redes Neuronales Artificiales: Aplicación de la función Hardlim para la clasificación de carros y la función Hardlims para la determinación de los movimientos de un robot

7

y se ha disenado mediante el GUIDE de MATLAB [6].

En el cual se realizaron pruebas con otros valoresde entrada, los resultados se muestran en la Fig. 16 acontinuacion:

Fig. 16. Ingreso de valor de sensores C.E1

Las entradas de los sensores indican que el tipo de carro esun AUTO, debido a que el sensor NumEjes detecta numerosde 1 o 2, el sensor capacidad detecta valor de 0 o 1 y elsensor tamano detecta valores de 0 o 1, en este caso la salidasera 0, el cual indica que es un auto.

Las entradas de los sensores indican que el tipo decarro es un CAMION, debido a que el sensor NumEjesdetecta numeros de 3,4 o 5, el sensor capacidad detectavalor de 0 o 1 y el sensor tamano detecta valores de 0 o1, en este caso la salida sera 1, el cual indica que es un camion.

Es importante destacar, que en el caso que los tres sensoresenvıan valor de 0(detectan que no existe ningun tipo decarro), la salida que me genera es un valor (0) el cual indicaun carro de tipo AUTO,pero esto es incorrecto debido a queno deberıa generar ningun tipo de clasificacion, por lo cualel modelo que se propone para dar solucion al problema delCaso de Estudio1 establece que debe haber algun carro paraque exista clasificacon. Para ello se enviamos un mensaje deNO HAY CARRO A CLASIFICAR cuando se reciba unavalor de 0 en todos los sensores pero esto solo como salidadidactica; este caso se puede ver en la Fig. 17:

Fig. 17. Error: si ingresa valores erroreos en los sensores C.E1

B. RESULTADOS CASO DE ESTUDIO 2

Este caso de estudio puede ser solucionada con una redde tipo Perceptron, ya que puede ser entrenada con patronesde cualquier dimension en la entrada y en la salida con datosbinarios, por la simplicidad del problema este tipo de red es lamas adecuada. El modelo de perceptron que se propone tieneuna capa de entrada y una capas de salida, cuya arquitecturase puede observar en la Fig. 18:

Fig. 18. Arquitectura de la red neuronal-Caso estudio 2

A la red se le presentaran 8 patrones los cuales se muestranen la tabla II, para los cuales dependiendo de las lecturas de lossensores se le dira al robot que hacer especıficamente y luegose probara la red con otros casos restantes para comprobar lacapacidad de generalizacion de la red neuronal ante un patronnunca antes visto

S1 S2 S3 S4 M1 M2-1 -1 -1 -1 1 1-1 1 -1 1 1 11 -1 1 -1 -1 -11 -1 -1 -1 -1 -11 1 -1 -1 -1 11 1 1 -1 1 -11 1 -1 1 -1 1-1 1 -1 1 1 1

TABLE IIMATRIZ DE ENTRADA-CASO DE ESTUDO 2

Page 8: Redes Neuronales Artificiales: Aplicación de la función Hardlim para la clasificación de carros y la función Hardlims para la determinación de los movimientos de un robot

8

Los estados de lecturas de los sensores y de operacionde los motores fueron designados con 1 y –1, puesto quepara la convergencia del proceso de entrenamiento resulta masventajosos propagar valores de 1 y –1 que de 1 y 0.

Debido a la naturaleza de la salida y de la entrada de lared, la funcion de transferencia apropiada es hardlims, la cualtrabaja con valores bipolares.

Para que el robot realice el movimiento indicado por losmotores, se debe armar la matriz PS (que contiene los datosde los sensores), y la matriz M (las salidas esperada acuerdoa los datos de los sensores).

Con todos estos datos necesarios, se creo un Programaen MATLAB tipo Script, llamado “MovimientosRobot”, cuyocodigo se transcribe a modo de ilustracion.

% ***********************% MovimientosRobot% ***********************% Se definen las variables requeridas para el entrenamiento% Las entradas estan dadas por el valor de los sensores sonalmacenados en la matriz SP% Sens1% Sens2% Sens3% Sens4SP=[ -1 -1 1 1 1 1 1 -1 ; -1 1 -1 1 1 1 1 1 ; -1 -1 1 1 -1 1-1 -1; -1 1 -1 1 -1 -1 1 1];

% Las salidas estan almacenadas en la matriz que generanlos motores% M1% M2M= [ 1 1 -1 1 -1 1 -1 1 ;1 1 -1 1 1 -1 1 1 ] ;

%Se crea una red tipo Perceptron con funcion detransferencia hardlims, dos neuronas en la salida% Sintaxis% NET=NEWP(PR,S,TF,LF) , crea un perceptron donde:% PR= Rx2 matriz de valores maximos y mınimos para losR elementos de entrada.% S=Numero de neuronas.% TF=Funcion de transferencias, que por defecto es’‘hardlim’.% LF=Funcion de aprendizaje, que por defecto es ‘learnp’.% La funcion de transferencia en nuestro caso es HARDLIMS.

net=newp([-1 1;-1 1;-1 1;-1 1],2,’hardlims’);

% Cantidad de Epocasnet.trainParam.epochs=1000;

%Intervalo de visualizacion de los resultadosnet.trainParam.show=5;

%Aprendizaje de la red%Como parametros recibe la red, las entradas y las salidasnet=train(net,SP,M);

%Simulacion de la red se almacena en una matriz control%Se verifica luego las salidas deseadas y se las compara con

la tabla “control”:control = sim(net,SP);controlSP

La ejecucion de este codigo a traves de MATLAB, arrojacomo resultado la salida de la red para este patron de entre-namiento: >MovimientosRobot

M =1 1 -1 1 -1 1 -1 1 1 1 -1 1 1 -1 1 1control =1 1 -1 1 -1 1 -1 1 1 1 -1 1 1 -1 1 1

Como se puede observar en los resultados de la ejecucion,existe la similitud de la salida “control” con la matriz M, esdecir que la salida de la red es igual a la salida deseada delpatron de entrenamiento; esto nos permite verificar que elperceptron aprendio correctamente el patron.

Para la comprension de la simulacion de los movimientosde un robot se desarrollo un pequeno programa que secompone de dos archivos InterfazRobot.m y InterfazRobot.figy se ha disenado mediante el GUIDE de MATLAB [6].

En el cual se realizaron pruebas con otros valores de entrada,los resultados se muestran a continuacion en la Fig. 19:

Fig. 19. Ingreso de valores a los sensores C.E2

Las entradas de los sensores indican que el movimientoa efectuar sera hacia ADELANTE, debido a que el S1 nodetecta obstaculo por lo que envıa un valor -1, el S2 detectaobstaculo por se envia un valor 1, el S3 tambien detectaobstaculo por lo tanto envıa 1 y el S4 detecta obstaculo por

Page 9: Redes Neuronales Artificiales: Aplicación de la función Hardlim para la clasificación de carros y la función Hardlims para la determinación de los movimientos de un robot

9

ello tambien se envia un 1. Generando como salida en elMotor1 un valor 1 y en el Motor2 un valor 2, por lo tantoel par ordenado de valores es (1,1) lo que indica que elmovimiento sera hacia ADELANTE.

Es importante destacar, que en el caso que los cuatrosensores envıan valor de 1(detectan obstaculos en todas lasdirecciones), la salida que me genera en el Motor1 y Mo-tor2 son los valores(1,1) el cual indica un movimiento ha-cia ADELANTE,pero esto es incorrecto debido a que nodeberıa generar ningun tipo de movimiento pero el modeloque se propone para dar solucion al problema del Caso deEstudio2 establece que el robot tiene que realizar algun tipode movimiento. Para ello solo enviamos un mensaje de NOEFECTUAR MOVIMIENTO cuando se reciba una valor de1 en todos los sensores pero esto solo como salida didactica;este caso se puede ver en la Fig. 20:

Fig. 20. Error: si ingresa valores erroneos en los sensores C.E2

V. CONCLUSIONES

• Para resolver casos de estudio como los presentados enel presente artıculo se puede utilizar una red neuronal detipo perceptron debido a que las entrada y las salida sondatos binarios.

• Matlab es una herramienta muy potente para la creaciony simulacion de redes neuronales artificiales que nospermiten dar solucion a diferentes tipos de problemasgracias a las funciones que nos brinda.

• Las funciones hardlim y hardlims nos permiten resolverproblemas linealmente separables

• La funcion hardlims es preferida sobre la hardlim, yaque el tener un cero multiplicando algunos de los valoresresultantes del producto de las entradas por el vector delos pesos, ocasionan que estos no se actualicen y que elaprendizaje sea mas lento.

VI. RECOMENDACIONES

• Para resolver cualquier tipo de problema se puede utilizarredes neuronales artificiales.

• Utilizar Matlab para la simulacion de redes neuronalesde cualquier tipo.

• Utilizar las funciones hardlim y hardlims cuando setengan entradas y salidas con dos valores diferentes enproblemas linealmente separable.

• Entender bien el tipo de problema a solucionar para poderaplicar la o las funciones adecuadas.

VII. TRABAJOS FUTUROS

El presente trabajo puede servir como punto de partida paragenerar trabajos futuros sobre la aplicacion de las funcioneshardlim y hardlims para dar soluciones a otros problemaslinealmente separables.

Se tiene previsto utilizar otra funciones de transferencia(purelin, poslin) para resolver problemas que son linealmenteseparables, con el fin de determinar la eficiencia de cada unade estas funciones frente a los casos de estudio presentadosen este artıculo.

REFERENCIAS[1] Fernando Tanco . INTRODUCCION A LAS REDES NEURONALES

ARTIFICIALES. UNIVERSIDAD TECNOLOGICA NACIONALFACULTAD REGIONAL BUENOS AIRES; [En linea] link:http://www.secyt.frba.utn.edu.ar/gia/RNA.pdf, consulta realizada 30-Oct-2014.

[2] P. Ponce Cruz; ”Redes neuronales artificiales”, en Inteligencia artificialcon aplicaciones a la ingenierıa publicado por: Alfaomega; Editorial:Mexico, 2011, pp: 198-199.

[3] P. Isasi Vinuela, I. M. Galvan Leon; ”Primeros modeloscomputacionales”, en Redes neuronales artificiales un enfoque practicopublicado por: Pearson Prentice Hall; Editorial: Ribera del Loira, 2828042 MADRID (Espana), 2004, pp: 26-27.

[4] I.F. Suarez Barcena; ”Materiales y metodos”, en Utilidad diagnosticadaen la glucoma del analisis de las fibras retinianas mediante polarimetrıalaser asociado a la autoperimetrıa y a sistemas de inteligencia artificial(Redes neuronales) publicado por: Coleccion Vitor; Editorial: Salamanca,Espana, 2011, pp: 103-104.

[5] A E. Hossian, G. E. Monte, V. Olivera; ”Analisis del comportamientode robots moviles autonomos en base a RNA”, en Unenfoque desde el paradigama relativo publicado por: UniversidaTecnologica Nacional; Facultad Reqional Neuquen; [En linea] link:http://www.unilibre.edu.co/revistaavances/avances-8-2/r8-2 art3.pdf,consulta realizada: 30-Oct-2014

[6] El codigo de los casos de estudio, se lo puede encontrar en lsiguiente enlace;[En linea] link: https://github.com/KarinaBarrionuevo/Redes-Neuronales-Artificiales-Funciones-Hardlim-Hardlims/tree/e5898a6b7ca424cbafcab378bc4c2edd1f79379c

Page 10: Redes Neuronales Artificiales: Aplicación de la función Hardlim para la clasificación de carros y la función Hardlims para la determinación de los movimientos de un robot

10

Karina Barrionuevo

Estudiante de la Carrera de Ingenierıa en Sistemas de laUniversidad Nacional de Loja, Provincia de Loja, Ciudad Loja,Ecuador, 2014.

Sheimy Patino

Estudiante de la Carrera de Ingenierıa en Sistemas de laUniversidad Nacional de Loja, Provincia de Loja, Ciudad Loja,Ecuador, 2014.