• No se han encontrado resultados

REOES NEURONALES A R T I F I C I A L E S

N/A
N/A
Protected

Academic year: 2018

Share "REOES NEURONALES A R T I F I C I A L E S"

Copied!
49
0
0

Texto completo

(1)

PROYECTO DE INVESTIGACION I1

REOES

NEURONALES A R T I F I C I A L E S

ALGORITMO DE RETROPROPAGACION

PARTICIPANTES:

ARVIZU CRUZ C E L I A .

ROBLES GUTIERREZ JESUS ARTURO

ASESORA : PROFRA. MARIKO NAKANO M.

+

~3

-1

3.

(2)

SIBt

A

...

43

ANEXO 1

...

44.

(3)

Algoritmo de Retropropagación

~ " " " _ I _ _ """__"_."l ~ " .II

Varias configuraciones de redes n e x o n a ? - e s 2.3~1 si20

desarrolladas, ias cuales dependen en la mayoria &e I c s casi33 de

l a s aplicaciones específicas; estas configuraciones d i f i e r a a e;:

e : nGmero de capas de la r e d , en el n6mero d e ne:Jroms o nod.as en la zapa, en e l algoritmo utilizadc p a r a e z t r e ~ a r l a r e d , e ~ c .

1 .

La r a d qu? desarrolLamos e n e s t e trabajo rrtiZiza 21 algoritmo de 3etropropagaci6n. 3s t r a t a de una red qiie -2:~ede

realizar el reconocimiento d e tramas ccmplejas, melores

aproximaciones como s a l i z a scnque e:<ist.c3. : ~ ; i d o 2z : S

-

_ _

.S c:& c;. 2 entrada, y substituir l a realizacibn d e fxci=cs,es c e? correspondencia nc t r i v i a l e s . F'ue descrlta primeramente .p:.r WerSos, Parker, y Rummelharty HcCIe2iazii.

El algoritmo más ampliamente usado para entrena:: r e d e s neuronales, e s el algoritmo de Retfopropa,JacL6n, (Backpropagati,2c o propagación hacia atrás). En B s t e algo..-rtmo se a p l i c a a al rsd varios datos de entrenamiento, se calcul3 s l e r r o r , el cual s e define como la diferencia entre salida 1-531 ';7 ia salida dese;3da de la red.

Como se observa, el funcionamiento de 4ste algoritmo tiene poca relación con la forma de operar del c e r e b r o humano.

Se tiene reporte que recientemente el algoritmo de

Retropropagaci6n se ha empleado con bastante B x i t o en el reconocimiento de caracteres manuescritos en el sistema postal norteamericano.

Las estructuras de las redes neuronales y algoritmos de entrenamiento se dividen bdsicamente en dos grupos: un grupo se podría llamar Red Neuronal con supervisor y el otro Red Neuronal

Sin Supervisor. La red neuronal de Retropropagaci6n es

(4)

Algoritmo de RetrDpropagaci6n

._.^l.__ " _ , ~

E s t e estudio se basará en teoria y aplicación de l a s redes neurozaies artificiales; específicamente e n la realizztcion de ana r e d :it>i1rczal ~ n t r ; n a d a ;isa;:(?c~ e l algoritino < e Retropropagaci6n, para una aplicaci6n especifica como el reconocimiento de objetos,

específicamente nos basaremos en el reconocimiento de figuras

geométricas, como S O R :

- Una linea horizontal - Una linea vertical

- Una cruz! formada por las dos lineas antes mencionadas.

- Un triángulo - Un cuadrado - Un hexágono

Se trata de hacer que una computadora pueda realizar un reconocimiento de una cierta figura, a pesar de estar incompleta o con un cierto porcen,taje de ruido. Ver fig.1 y 2 .

I

I

I

I

I

I

I

I

I

I

I

I

I

1

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

Figura de entrenamiento Figura Capturada Comparaci6n.

L a red reconoce la figura a pesar de contener un porcentaje

de ruido asociandole la linea vertical como respuesta al

reconocimiento.

Pig.1.

(5)

Algcritmo de Retropropagacidn

”” ”

Figura Captada Respuesta de su aprendizaje

La red es capaz de reconocer una figura a pesar de que este incompleta.

F i g . 2.

Una red neuronal, se somete a un cierto entrenamiento

(m6todo de aprendizaje), en nuestro caso el entrenamiento es

realizado por Retropropagaci6n; una vez que la red aprende

ciertas figuras dadas como ejemplo, es decir se entrena, y sabe

cuales son similares, se encuentra una lista para reconocer

cualquier otra figura que se la presente (aún con c i e r t a distorción). Ver fig. 3 .

(6)

Figura Proporcionada a la red

para su reconocimiento

Comparaci6n de la red.

Resultado del reconocimiento de la red.

Fig. 3

(7)

- Reconocimiento de c a r a c t e r e s m a n u e s . z ~ i t o s para la sutomatizacibn d e c i e r t a s f u n c i o n e s d e l o s sistemas postal, bancario, etc.

-

Reconocimiento de firmas para el apoyo de s i s t e m a s d@ seguridad.

- Reconocimiento de huellas digitales, combinando redes neuronales con otras técnicas de reconocimiento de imdgenes para sistemas de seguridad.

(8)

Una de las grandes v a n t a l a s di3 una red c e u o n a l , es sil capacidad de lograr un e x z e i e n t e reconocimiento de se;;i,al.cs, 2 pesar de que en e s t a s pueda existir r u i d c , a d e m d s , debido 3 s a naturaleza paralela, reduce e l tiernpcl r e q u e r i d o por LIR proces.xcisr secuencial para determinar un cierto resultado; tarnbi&r?, reclac=. a l tiempo de desarrollo de. un sistema debido a que cxent-a c o n ? a capacidad de aprender el algoritmo correcto sin que alguien d e b a deducirlo con anterioridad.

Uno de los principales problemas al que nos enfrentamos, e s la naturaleza secuencial del computador, el cual nos C D ~ S G : ~ E demasiado tiempo, a l pensar en Llna aplirlaci6n con un exter:so número de entradas o al intentar correlacionar t o d a s i.as prisib2.e~ permutaciones de una trama compleja.

Esta red nos ayuda. a resolver estes p r o b l e m a s porque e s

capaz de examinar todos los puntos de una imagen ( 2 i x e L e s tomadss como de una matriz de entrada), en paralelo y deduce si son parecidos a un patron dado, correlaciGnan t o d a s Las posibilidades permutaciones de la entrada, siendo capaces de ignorar el ruido.

(9)

La ;?rinera capa llamada Capa de Entrada, s e enctlentza

ferna2:a p o r una s e r i e de nodos q;ie se szcargan de r e c i L i r lca

aqui un nodo extra llamado bias, el c u a l siempre tiene un v a l o r de 1; estzs nodos se encuentran conectados con l o s nodcs de l a segunda capa llamada C a p a Oculta, en e s t a capa tambiQn incluimos un nodo extra como en la anterior, y se conectan como se muestra e n :a fig. 4 . Los nodos de la segunda capa son concatenados a l a '

t e r c e r a capa, llamada Capa de Salida, la cual contendrd el

resultado del reconocimiento; en esta capa son comparadas la

salida deseada y la obtenida por la red, dependiendo de la diferencia entre estas, se obtiene un error, el cual se compara con un error previamente conocido y aceptable, de acuerdo con un cierta criterio personal.

; i d L 3 S -c..- l.2 red debe aprender o reconocer en su caso, ~itilizamos

Si e l rango de diferencia entre los errores no es aceptable

se determina,la dirección y la cantidad en que debe cambiar los

pesos, propagAndose esta señal hacia I C s nodos de las capas antericres que contribuyen relativamente al error total, con lo cual se modifican los pesos que conectan los nodos de la red y se

vuelve a propagar la señal hacia adelante, hasta completar la

entrada total y obtener un error aceptable. Esto se conoce como ciclo de Propagación

-

Adaptaci6n de dos fases.

(10)

Algoritmo de Retro2ropagaciCn

I

_

"

"

"

""

-

""

Fig. 4 .

(11)

De e s t a forma la red puede c l a s i f i c a r entradas- que fueran o

no usadas para su entrenamiento.

(12)

. . . . I"-:

1,2,3,4

8,11,15,18 les corresponde la figura numero 4

2 2 , 2 3 , 2 4 , 2 5 . que pertenece a un cuadrado.

Pig. 5.

Tomado d e l libro "Redes Neuronales, Algoritmos,

(13)

Entradas Correspondencia Correcta ( rJr,ocida

>

. . .

. .

.

.

.

.

. . . I . . . . . . .

I

I

I

I

"

Fig. 6 .

1

P u e d e verificarse en e i libro de "Redes Neuronales

Aigoritmos, Aplicaciones y técnicas de programación", James A .

Freeman / David M. Skapura., p . 3 8 .

(14)

Entradas

. .

Correspondencia

Correcta

F i g . 7 .

(15)

An6lisis Para la Capa de Entrada.

Las correspondencias correctas s e asocian como vactcrss ( x l # y l ) , (x2,y2),

. . .

(xn,yl), tal que cumple Y = P(x).

io primero que realizamos e s intrzducir los puntos de

entrada en un vector d e entrada, llamado X.

x

= (xl,x2,

...

xn)

Para lograr e l reconocimiento d e cierta entrada de datos en un tablero, p o r ej: d e .?x7, ccmo se,muestra en la fig,. 8 , por

sirnple iLspecci6n podemos ver que necesitamos

un

vector de 4 9

entradas.

F i g . 8 .

Tablero para captura de entradas d e la red. Para distinguir

entrada se enumeran los cuadros del tablero de izquierda a

derecha.

(16)

Aksza ~ u e s t r a r e d se encuentra constituida de la forma

C.E c.0

c.s

(17)
(18)

Funciones U t i l i z a d a s .

Este procedimiento inicializa la matriz, apa5.mdo tcdas 51;s entradas, io cual se r e a l i z o poniendo a -1 t o d a s e s t a s S T K : Z ~ ~ S y

también l a salida deseada tomacia corno l a variable <t. h2ends i = Número de f i g u r a d e prueba.

j = Número de nodo d e l a red.

Comienza.

Para ( todas l a s entradas d e matriz

1

h a z

Para ( todas las s a l i d a s de la m a t r i z ) h a z

x[i][jl = -1.0;

d[il[jl = 0.0;

(19)

.:&e k s c e r rota: La srime-a entrada da e s t c s v e c t c r e s e s

e l nodo b i a s , y p o r i a a n t e s mencignado, t i e n e un v a l o r siempr-e

valor a encendido.

Linea Horizontal.

X C O l C O l = 1 X[OlC9l = 1

x[0]C101 = 1

x[ll[O] = 1

x[l][22] = l,X[11[23] = 1,x[11[241 =1,XCllC251 = 1 ,

x[2][0] = 1.0;

x[2][22] = l.O,X[2][23] = 1.o,x[21C241 =l.O,X[21C251 = 1.0; xi2][26] = 1.0,~[2][27] = 1.0,X[21[281 ~ 1 . 0 ;

(20)

Algoritmo d e Retropropagaci6n

-

-

I_

~ [ 4 1 [ 3 4 1 = 1.0;~[4][35] = 1.0;

x[5j[3] = 1.0;

x[5][40] = 1.0;

x[S1[36] = 1 . 0 ; ~ [ 5 ] [ 3 7 ] = l.O;x[5][38j = 1.0;~[5][39] = 1.0;

x[6][0] = 1.0;

~ [ 6 ] [ 4 7 ] = 1.0;~[6][48] = 1.0;~[6][49] = 1.0;

x[7][0] = 1.0;

X[7][16] = 1.0;~[7:[17] = 1.0;~[7][:8] = 1.0;~['7][19] = 1.0; x[7][20! = 1.0;

x[8l[Ol = 1.0;

~ [ 8 1 [ 6 ] = 1.0;~[8][7] = 1.0;

x[91[01 = 1.0;

~ [ 9 ] [ 8 1 = l.O;x[9][9] = l.O;x[9][10] = 1.0;

X[ll][Ol = 1.0;

(21)
(22)
(23)

- . - - .

__

.

denotar la segunda figura.

CRUZ

X'i29][0] =1.0;

x[291[16]= 1;

x[30][0] =1.0; x[301[41= 1; x[30][ll]= 1;

x[30][321= 1; x[30][39!= 1;

x[30][46]= I;

(24)

x[33][0]= 1.0; x[33][11]= 1;

",

x[341[0] =1.0; ~ [ 3 4 ] [ 1 8 ] = 1;

X[341[241= 1;~[2][25]= 1;~[2][26]= 1; x[34][32]= 1;

x[35][0]= 1.0; x[351[191= 1; x[35][26]= 1;

x[35][31]= 1;x[2][32]=l;x[2][33]= l;x[2][34]= 1;x[2][35]= 1; x[35][40] = 1;

x[35][47]= 1;

(25)

Algoritmo de Retropropagaci6n

". ~ ,_

"_""

x[3&i[Ol= 1.0;

x[37][26] = 1; x[371[33]= 1;

x[38][0!= 1 . 0 ; x[38][24]= 1;

x[38][38]= 1;

x[38][30]= l;x[2][3~]=1;xC21[32]= 1;

En todas estas figuras la sali.2a deseada está dada por d[i][3] = 1; puesto que se trata del tercer nodo encendido, para denotar la tercera figura.

CUADRADO.

x[39][01= 1.0;

x[39][1]= l;x[39][2]= l;x[39][31= 1;x[39][41= 1;.x[39][51

= 1;~[39][6]=.1;~[39][7]= 1 ; x[39][8]= l;x[39][14]= 1;

~[39][22]= l;x[391[28]= 1;

~[39][36]= 1;~[39][42]= 1 ;

~[39![43]= 1;~[39][44]= 1;~[39][45]= 1;~[393[461= 1;

~[39][47]= l;x[39][48]= 1;~[391[49]= 1; x[39][15]= l;x[39][211=1;

x[39][29]= 1;x[391[35]= 1;

(26)

x[441[01= 1.0;

x[441[10]= l;x[44][14]= 1; xC441[1?]= 1;x[44][21]= 1;

x[441[241= l;x[44][28j= 1;

xC44][31]= l;x[44][32]= 1;x[44][33]=1; x[44][34]=1;

~ [ 4 4 1 [ 3 s i = 1 ;

X[441[31= 2;XL441[41= 1;~[44][5]= 1;~[44][6]= l;x[44][7]= 1;

xC451[01= 1.0;

~ [ 4 5 1 [ 1 7 ] = l;x[45][18]= 1;x[45][19]= 1; ~[45][24]= 1;~[45][26]= 1;

x[451[31]= l;x[45][32]= l;x[451[33]= 1;

(27)
(28)

x[55][0]= 1.0;

x[55][4]= l;x[55][5]= :;x[55]:6]= l ; X : 5 5 ] [ 7 ] = 1 ;

~ [ 5 5 1 [ 1 1 1 = 1 ; ~ [ 5 5 1 [ 1 4 1 = 1; ~ [ 5 5 ] [ 1 8 ] = l;x[55]i21]= 1;

~ [ 5 5 ] [ 2 5 ] = l;x[55][26]= l;x[551[27]= I; x[55][28j= 1 ;

En todas e s t a s figuras la salida dgseada est& dada por

d[i][3] = 1; puesto que s e t r a t a d e l cuarto nodo encendido, ?ara denotar la cuarta figura.

(29)

s,571;4:-

-

1.0;

x[69![91= 1 ;

~ 1 6 0 1 [ 1 5 ] = 1;~[60][16]= 1;

(30)

x[641[0]= 1.0;

~ [ 6 4 1 [ 1 1 = 1 ; ~ [ 6 4 1 [ 2 ] = 1 ; ~ [ 6 4 ] [ 3 ] = l;x[64][4]= 1; x[641[81= 1; ~ [ 6 4 1 [ 1 0 ] = 1;

~ [ 6 4 1 [ 1 5 ] = 1 ; ~ [ 6 4 ] [ 1 6 ] = 1; ~ [ 6 4 1 [ 2 2 1 = 1;

x[651[0]= 1.0;

x[65][17]= 1;

~ [ 6 5 1 [ 2 4 1 = 1 ; ~ [ 6 5 1 [ 2 5 ] = 1; x[65][31]= 1;

~ [ 6 6 1 [ 0 1 = 1.0; x[66][31]= 1;

~[661[371= 1;~[66][38]= 1;~[66][39]= 1;

~ [ 6 7 1 [ 0 ] = 1.0; ~ [ 6 7 1 [ 3 1 ] = 1;

~ [ 6 7 1 [ 3 7 ] = 1; x[67][39]= 1;

~i6~~~431=1;~[67][44]=1;x[67][45]=1;x[67][46]=1;x[67][47]=1;

(31)

xC70][0]= 1.0;

x[70][1]= l;x[70![2]= l;x[70][3]= 1;x[70][4]= 1;~[70][51=1; :x[70][6]= i;x[70][7]= 1;

x[701[13]= 1;

x[701[9]= 1;

x[70][17]= 1; x[70][19]= 1;

x[701[25]= 1;

En todas e.stas figuras la salida deseada est6 dada por d[i][4] = 1; puesto que se trata del quinto nodo encendido, para denotar l a quinta figura.

(32)
(33)

x 1 7 5

l ; x [

;::y5

x t 7 5

7

i

1

[ 2 1

7 't J i; 1 - i - - 1

-

J.

x[78][0]= 1;

x[78][8]= 1; x[?8![11]= 1;

~ [ 7 8 ] [ 1 5 ] = 1 ; x[781[181= 1;

~ [ 7 8 1 [ 2 ] = i;x[?8][3]= 1 ;

~ [ 7 8 ] [ 2 3 ] = ' 1 ; ~ [ 7 8 ] [ 2 4 ] = 1;

(34)

~ [ 8 0 1 [ 2 5 ] = 1;

xt80![32]= 1 ;

En todas estas figuras l a salida deseada está dada por d[j1[51 = 1; p u e s t o que se trata del sexto nodo encendido, para denotar la s e x t a figura.

(35)

L a entrada que l l e g a a l a capa oculta s e c a l c u l a p o r la f6rmula siguiente:

donde:

X j

-

valor d e l j-simo nocb de entrada

Wij - valor del peso d e l j-sino nodo de entrada hacia el i-simo nodo de l a capa oculta.

La función utilizada para este calculo e s el sig.:

CalculaEntradaCapa2() /*(oculta)

* /

f o r ( i=l; i<Num- Capa2; i++)

c

{

zz[i]=O.O /*inicializa*/

for(j=O;j<Num-Capal;j++)

z z [ i ] + = x [ n u m ~ e n t J [ j l * W l [ j J ~ i l ; 1

1

La salida de los nodos de la capa oculta se obtiene al aplicar una cierta funcidn F , que se describir& mas adelante. entonces obtenemos:

(36)

s;l l z f 7 1 m " A v s i g m c i d e o logística. En este trabajo

11 i ~ s a z ~ x m s , , p o r . ; ~ e l a s unidades de salida son binarias, y esta

fur,ziGr, Limita la salida y e s casi Siestable pero tambi6n es

d e r i v a 5 l e .

Los v a l o r e s d e las unidades d e salida podrán variar en dos estados, ics cuales son: encendido y apagado, se realiza una

funcién d e aproximación puesto que la f u x i 6 n sigmoide limita de

O a 1 (Ver f i g 11). Se usara una aproximaci6n de 0.1 y 0 . 9 .

F i g . 10. Funci6n Sifrnoide.

(37)

donde :

W'ki

-

es el & e s o prcveniente del i-6skmo nodo de la

capa o c u l t a con el k-ésimo ncdo d e la capa d e salida.

Zi

-

la salida d e l i-ésimo nodo d e l a capa o c u l t a .

(38)

ii

Donde F es l a función es la ya d e s c r i ? : ~ .

Los pesos dados inicialmente a la r e d , son m a pri.nsr3

aprcxirnación e irán cambiando c o n f o r m s e entrena l a r e d , :rasra lograr un conjunto d e pesos que sir-vsc ' p a r a r e a l i z a r e l reconocimiento deseado pero a diferencia d e c:ros m 6 t o d c s . z-3 influye el que nuestra primera aproximación s e a buena c; mala, aunque e s t o s pesos deben ser FequelSss y aleatcrics.'

1

Tomado del libro "Redes Neuronales, Algoritmos, APlicacioneS Y técnicas d e programaci6nl1, James A . Freeman/David M. Skapura.

(39)

s""i alir. ( t i 3 z ( 1 ) j ;

for(i=@; i<Num..-Ca?al; i++)

for(j=O; jcNum"Capa2; j + + )

W t i ! [ j j = 2 . O * r a n d ( ) i : f i o a t ) M A X I " l . o ;

for(i=0; icNum-Capa2; i++)

for(j=O; j<Num--Capa3; j++)

W2CiIíjl=2.0*rand()/(float)MAXINT-l.O;

E l error básicamente s e calcula realizando la diferencia entre la salida deseada y la salida obtenida por la red, paro en éste trabajo tenemos seis nodos en la capa de salida, por lo cual el error seria el siguiefite para cada unid2.l de salida:

donde :

p - hace referencia al p-ésimo vector de entrenamiento.

k

-

hace referencia al k-ésima unidad de salida

dpk- e s el valor de salida deseado

ypk- es la salida obtenida a partir de la k-ésima unidad.

(40)

Es l a ecuación que utilizamos para actualizar l o s pesos d e

l a capa de salida.

Ahora p a r a la actualizacibn de los pesos de la capa oculta. Realizamos un procedimiento semejante (Ver anexo 3 ) .

En esta parte es donde se da la retropropagacih, puesto que para realizar la m o d i f i c a c i h de l o s pesas de la capa o c u l t a se, propaga hacia atras los errores de la capa de salida.

Si renombramos, llegamos a una ec. similar a la de l a modificaci6n d e pesos d e l a capa de salida.

(41)
(42)
(43)
(44)
(45)

A N E X O

(46)

Por

al valor

calculos

l o tanta l a magnitud del

cambio

de

peso

es

proporcional

del

gradiente negativo.Cabe

hacer

mencionar que para los

anteriores

se

realizan tomando

l a

magnitud.

(47)
(48)

Entonces

el

g r a d i e n t e

de

Ep con r e s p e c t o a

los

pesos

( ; l i s t a

capa

oculta

es:

(49)

Figure

Figura de  entrenamiento  Figura Capturada  Comparaci6n.
Figura  Captada  Respuesta de su aprendizaje
Figura Proporcionada a  la red

Referencias

Documento similar

El Celler Noucentista de Vila-seca és un edifici bastit entre els anys 1919 i 1920, i el seu autor n’és l’arquitecte Pere Domènech i Roura, fill de l’il·lustre arquitecte

Aunque no sea del todo cierta la afirmación de que la situación ge- neral de sumisión en que el administrado se encuentra es fundamento exclusivo de la policía' (pues esta

Castillo, Juan Julián Merelo Guervós, Antonio Miguel Mora, Juan Luís Jiménez Laredo, Maribel García Arenas A Distributed Ser- vice Oriented Framework for Metaheuristics Using a

de este año., rhabian procedido- baxo las reglas establecidas en la instrucción al nombramiento de los Diputados que jéfi nombre y representa­. ción de este reyno

En caso de que en el futuro existan más fondos relevantes gestionados por la administradora, el reglamento establece que las inversiones deben realizarse considerando un análisis de

El cuerpo femenino debía proyectarse en escena sin pretender serlo, al menos no como se había representado en la danza hasta el momento: dirigido por y hacia la mirada masculina

En consecuencia, hemos recorrido un camino l i d e r a n d o l a c o n f o r m a c i ó n d e r e d e s colaborativas solidarias en los territorios en los que

Volviendo a la jurisprudencia del Tribunal de Justicia, conviene recor- dar que, con el tiempo, este órgano se vio en la necesidad de determinar si los actos de los Estados