Implementaci´ on Paralela del Algoritmo Backpropagation en un Cluster de Computadoras Marcelo Alfonso, Carlos Kavka, Marcela Printista Departamento de Inform ´ atica, Universidad Nacional de San Luis San Luis, 5700, Argentina email: malfo,ckavka,[email protected]Abstract En la actualidad existe una gran diversidad de arquitecturas paralelas, en donde se han definido muchos modelos de implementaci ´ on del algoritmo de entrenamiento de redes neuronales backpropagation o propa- gaci´ on hacia atr´ as. La obtenci ´ on de una buena performance depende b´ asicamente del modelo de imple- mentaci´ on y la arquitectura paralela disponible. El presente trabajo consiste en la definici ´ on de un modelo de implementaci ´ on del algoritmo de backpropa- gation en un ambiente de programaci´ on paralela y su implementaci ´ on utilizando un cluster de computadoras conectadas entre s´ ı. Esta implementaci ´ on permite ser utilizada, no necesariamente en una arquitectura paralela especifica en donde la comunicaci ´ on no introduce un overhead, como ocurre en la utilizaci´ on de un clustrer de estaciuones de trabajo. De esta forma la implementaci ´ on realizada permite no solo, mejoras en la performance del algoritmo de entrenamiento sino que ademas mediante la utilizaci ´ on de un par´ ametro que se utiliza para determinar que un cambio en un peso de entrenamiento superior a debe ser considerado, en otro caso no. Keywords: red neuronal, backpropagation, paralelismo. 1 INTRODUCCI ´ ON El algoritmo backpropagation es uno de los algoritmos mas usados para el entrenamiento de redes neuronales. El proceso de aprendizaje para ciertos problemas puede llegar a ser muy costoso en cuanto al tiempo de computaci´ on, que puede estar en el orden de d´ ıas o semanas. En algunos casos, esperar este tiempo para que la red neuronal sea capaz de aprender, es inaceptable. Por ello el algo- ritmo de entrenamiento podria ser particionado en procesos de aprendizaje mas f´ aciles de resolver e implementarlos en arquitecturas de computaci ´ on paralela. Los modelos de implementaci ´ on paralela de backpropagation mas utilizados se dividen en dos categorias: basado en la red y modelo basado en patrones de entrenamiento . El modelo basado en la red, particiona la red neuronal en diferentes procesadores. Cada procesador posee un subconjunto de unidades y pesos y es responsable de procesar esos componentes. El modelo basado en patrones de entrenamiento, los patrones de entrenamiento son particionados entre los diferentes procesadores. Estas implementaciones paralelas son llevadas a cabo en arquitecturas paralelas de proposito general. Muy pocas implementaciones consideran la utilizaci´ on de redes de estaciones de trabajo. En este trabajo realizamos una implementaci ´ on paralela del algoritmo backpropagation utilizando un cluster de estaciones de trabajo interconectadas entre si. 1424
12
Embed
Implementacion´ Paralela del Algoritmo Backpropagation en ...
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Implementacion Paralela del Algoritmo BackpropagationenunCluster deComputadoras
Mar celoAlf onso,Carlos Kavka, Mar celaPrintistaDepartamentodeInformatica,UniversidadNacionaldeSanLuis
En la actualidadexiste unagrandiversidadde arquitecturasparalelas,en dondesehandefinidomuchosmodelosde implementacion del algoritmo de entrenamientode redesneuronalesbackpropagationo propa-gacion hacia atras. La obtencion de una buenaperformancedependebasicamentedel modelo de imple-mentacion y la arquitecturaparaleladisponible.
El presentetrabajoconsisteenla definiciondeun modelodeimplementaciondel algoritmodebackpropa-gationen un ambientede programacion paralelay su implementacion utilizandoun clusterde computadorasconectadasentresı.
De estaforma la implementacion realizadapermiteno solo,mejorasen la performancedel algoritmodeentrenamientosinoqueademasmediantela utilizaciondeunparametro� queseutiliza paradeterminarqueuncambioenunpesodeentrenamientosuperiora � debeserconsiderado,enotrocasono.
El algoritmobackpropagationesuno de los algoritmosmasusadosparael entrenamientode redesneuronales.El procesode aprendizajeparaciertosproblemaspuedellegar a ser muy costosoencuantoal tiempodecomputacion,quepuedeestarenel ordendedıaso semanas.En algunoscasos,esperarestetiempoparaquela redneuronalseacapazdeaprender, esinaceptable.Porello el algo-ritmo deentrenamientopodriaserparticionadoenprocesosdeaprendizajemasfacilesderesolver eimplementarlosenarquitecturasdecomputacionparalela.
Los modelosde implementacion paralelade backpropagationmasutilizadossedividen en doscategorias: basadoen la redy modelobasadoen patronesdeentrenamiento. El modelobasadoenla red,particionala redneuronalendiferentesprocesadores.Cadaprocesadorposeeun subconjuntodeunidadesy pesosy esresponsabledeprocesaresoscomponentes.El modelobasadoenpatronesdeentrenamiento,los patronesdeentrenamientosonparticionadosentrelosdiferentesprocesadores.Estasimplementacionesparalelassonllevadasacaboenarquitecturasparalelasdepropositogeneral.Muy pocasimplementacionesconsideranla utilizacion de redesde estacionesde trabajo. En estetrabajorealizamosunaimplementacionparaleladel algoritmobackpropagationutilizandoun clusterdeestacionesdetrabajointerconectadasentresi.
1424
2 EL ALGORITMO BACKPROPAGATION
El algoritmo backpropagationes el mecanismode entrenamientoque se utiliza paraque una redneuronaldel tipo perceptrondemultiplescapasaprendaun problemadeterminado[3]. La Figura 1muestraunarepresentaciongraficadeunPerceptrondemultiplescapas.
......
......
......
1 32
1 2
W
Oo o o
o
X X XX
Y Y Y YS
E321
sW
Figura1: El Perceptron demultiplescapas
En una red de estetipo existe unacapade entradacon E neuronas,unacapade salidacon Sneuronasy al menosunacapaocultaconO neuronasinternas.
El algoritmode entrenamientobackpropagation,tienedosfases,unahaciadelante(fordward)yotra haciaatras(backward).Durantela primerafaseel patron de entradaespresentadoa la red ypropagadoa travesde lascapashastallegar a la capadesalida. Obtenidoslos valoresdesalidadela red, seinicia la segundafase,comparandoseestosvalorescon la salidaesperadaparaobtenerelerror. Seajustanlos pesosde la ultima capaproporcionalmenteal error. Sepasaa la capaanteriorconunaretropropagacion del error, ajustandolos pesosy continuandoconesteprocesohastallegara la primercapa.De estamanerasevanmodificadolos pesosdelasconexionesdela redparacadapatron deaprendizajedel problema,del queconocıamossuvalor deentraday la salidadeseadaquedeberıagenerarla redantedichopatron.
La tecnicabackpropagationrequiereel usodeneuronascuyafuncion deactivacionseacontinua.En general,la funcionutilizadaesdel tipo sigmoidal.
El algoritmodeaprendizajeseejecutaunnumerodeterminadodeveces(comunmentedenomina-do epocas),endondeencadaunasetomantodoslos patronesdeentrenamiento.
3 IMPLEMENT ACIONES PARALELAS DEL ALGORITMO DE BACKPRO-PAGATION
Estemodeloescomunmentellamadoparalelismode datosporqueseparticionael conjuntode pa-tronesdeentrenamientoy no la red. Cadaprocesadorposeeunacopialocal de la red formadaporun conjuntodepesos,la cualesentrenadaconun subconjuntodepatrones,actualizandolos corres-pondientespesos.Unavezquecadaprocesadoractualizo los pesosparael subconjuntodepatronesasignado,estosvaloressonglobalmentecoleccionadosy sedeberealizarunaactualizacion globalde los pesos,paramantenersuconsistencia;generalmenteserealizaal finalizar la ejecucion deunaepoca.En la Figura 2 vemoscomopuedenesta particionadolos patronesdeentrenamientos.
......
......
......
......
......
......
......
......
......
......
Patrones de Entrenamiento
Figura2: Paralelismoenlos patronesentrenamiento
3.2 Modelo basadoen la redneuronal
Consisteendistribuir la red(subconjuntodepesos)entrelos procesadores.De acuerdoa la distribu-ciondelos pesostenemosdistintosmodelos.
3.2.1 Pipeline
La distribuciondepesosestal quecadaprocesadorevaluaunacapa.Cadaprocesador(PE� ) recibeunmensajedel procesador(PE����� ) queprocesala capaanterior. Lo interesantedeestemodeloesqueelprocesador(PE����� ) procesael patron(A) y le envıa la informacional procesador(PE� ) el cualcontinuaprocesandoel patron(A), concurrentementePE����� puedeprocesarel patron siguiente.Esdecir queestemetodorealizaunpipelinea nivel delpasoForwardy el pasoBackward.(verFigura 3).
......
......
......
Figura3: Paralelismopipeline
3.2.2 SlicingVertical
Lospesosquellegana unaunidadocultay unadesalidasonmapeadosenunprocesador(verFigura4). Cadaprocesadoralmacenasolamentelospesosdelasneuronasquele sonasignadas,comunmenteunaneuronaocultay unadesalida.El procesoenunaneuronaocultaconsisteencomputarel valorque corresponday lo envıa a los demas procesadoresy luego continuacalculandoel valor de laneuronadesalidaasignada.Secalculael errordela capaocultabasadoenel erroren la salida.Para
1426
la actualizaciondelospesossedebenutilizar metodosparamantenerlaconsistenciadelosdatos.Sielnumerodeneuronasocultaso desalidassuperala cantidaddeprocesadores,cadaunoprocesara masdeunaneuronaocultay/o desalida.
......
......
......
......
......
......
......
......
......
......
Figura4: ParalelismoSlicingvertical
3.2.3 ParalelismoSynapse
La distribuciondepesosestal quecadaprocesadorcalculaunasumaparcialdeunaneuronadesalida(ver Figura 5). La computacion esde granulomasfino queen el Slicing vertical. Los resultadosparcialesdecadaprocesadordebenserenviadosatodoslosdemasprocesadoresmedianteunbrodcastantesquela proximacapapuedaserprocesada.La ventajaesqueel errordela capaocultapuedeserevaluadasin necesitarningunacomunicacionentrelos procesadores.
......
......
......
......
......
......
......
......
......
......
Figura5: ParalelismoSynapse
4 IMPLEMENT ACION REALIZAD A
La implementacionalgoritmorealizadaesunacombinaciondel paralelismobasadoenla redy para-lelismobasadoenel conjuntodeentrenamiento.
Porun ladotenemoslos procesadoresquecomputanel pasoforwarddel algoritmoparticionandoel conjuntosdepatronesdeentrenamiento;dondela cantidaddeparticionesdependede la cantidaddeprocesadoresconestafuncionalidad.
En la Figura7, podemosobservar la particiondetareasy la reddeinterconexion.
1427
......
......
......
......
......
......
......
......
......
......
......
......
......
......
......
......
......
Red
Procesadores forward
Procesadores backward
Figura7: Particion detareas
Parapoderllevar a caboel control y administracion del procesode entrenamientoseutiliza unprocesadorquecumplela funcion de arbitro, esel encargado,entreotrascosas,de dar el puntodepartidadelentrenamientoy lo detienecuandola redaprendeo ejecutael numerodeepocasprevistas.
En lassiguientesseccionessedescribeconmayorclaridadla estructuradelmodelo.
4.1 Arbitr o
El arbitro es el encargadode todaslas tareasde inicializacion y de preparacion de la red paralaejecucion del procesodeentrenamiento,comoası tambienesel encargadodedecidir la finalizacion.Suprincipalactividadesrecibir lasactualizacionesdepesosy calcularel errorunavezpor epoca.
Al comenzarla ejecucion, esteprocesadorlee la red inicial. Una vez realizadoesto,forma unmensajecon los pesosdelasunidadesocultasy desalidas,lo envıa utilizandoun broadcasta todoslosdemasprocesadores.Unavezquetodoslosprocesadoresrecibieronel mensaje,secalculael errorinicial y apartir deestemomentoestantodoslosprocesadoreslistosparainiciar el entrenamientodela red. A partir deestemomentoel arbitrova manteniendounacopiaactualizadadelos pesosdelasunidadesocultasy los pesosde la unidadesdesalida,mediantela recepcion y el procesamientodelos mensajedeactualizacion provenientesde los procesadoresbackward.Tambien en los mensajesrecibidosvienecomodatoel numerodeepocaqueseestaejecutandoenesemomento,lo cualpermitesabercuandounaepocafinalizay poderenesemomentorealizarel calculodel error, determinareltiempoqueha transcurridohastaesemomentoy la cantidadde pesosquesemodificaronen dichaepoca.Ademas,si el numerodeepocasejecutadasesmayoral numerodeepocasprevistas,sedebefinalizar el entrenamientode la red. Lo mismoocurrecuandoel error calculadoesmenoral erroraceptable,lo cual nos esta indicandoque la red aprendio. Para finalizar el entrenamiento,todoslos procesadoresdebenconocerestadecision. El arbitro logra esteefectomedianteel envıo de unmensajea todoslosprocesadoresconla ordendefinalizacion.
4.2 Forward
Cadaprocesadortomaun subconjuntodepatronesdeentrada(la cantidaddepatronesparacadaunoesigualal numerototal depatronesdividido por la cantidaddeprocesadoresdeestetipo).
1428
Realizanel pasoforward del algoritmo de backpropagationpropiamentedicho, calculandoelvalor de activacion de las unidadesocultas,de las unidadesde saliday el deltade las unidadesdesalida; luego envıa informacion a los procesadoresbackwardpor cadapatron que procesan.Losprocesadoresdebenteneractualizadoslospesos,lo cualselograa travesdela recepciondemensajesquesonenviadaspor losprocesadoresbackward.
Suejecucion sedetieneal recibir unmensajeprovenientedel arbitroconla ordendeterminar.La cantidaddeprocesadoresdeestetipo sepasacomoparametroy esta determinadapor el tipo
de problemaa resolver, la cantidadde patronesde entrenamientoy ası tambien,por la cantidaddeprocesadoresquesedispongaparala ejecucion.
4.3 Backward
Cadaprocesadortiene un subconjuntode la red, formadopor todos los pesosasociadoscon lasunidadesocultasquele correspondea cadauno.
El procesoparaestetipo de procesadoresconsisteen recibir informacion de los procesadoresforward,parapoderrealizarel pasobackwarddel algoritmodebackpropagationpropiamentedicho,el cual consisteen calcularel valor de los deltasde las unidadesocultasy obtenerel nuevo valorde todoslos pesosasociadoscon las unidadesocultasquecorresponden.Luego envıa las nuevasactualizacionesa losprocesadoresforwardy al arbitro.
Estemensajeesenviadoporel procesadorqueactuacomoarbitroa todoslosprocesadoresy contienela informacionnecesariaparapoderentrenarla red.Estemensajepermitesincronizartodoslosproce-sadores,porquehastaquetodoslos procesadoresrecibanel mensajeno puedenseguir ejecutandolasiguienteinstruccion. El mensajeesenviadounaunicavezal comenzarla ejecucion, esde tamanofijo y contienela siguienteinformacion: los pesosdelasunidadesocultasy lospesosdelasunidadesdesalidas.
1429
El tamanodel mensajeestadadopor:
����� ��������������������������������� � �!�
donde,�
esla cantidaddeunidadesdeentrada,�
esla cantidaddeunidadesocultas,�
esla cantidaddeunidadesdesaliday
����� �"�!�esel tamanoqueocupacadadatodel mensaje
4.4.2 Mensajedeentrenamiento
Estemensajeesenviadoporel procesadorquerealizael pasoforward alosprocesadoresquerealizanel pasobackward con los resultadosdehaberejecutadoestepaso.Seenvıa por cadapatron queseprocesay tienetamano fijo paracadared. Contienela siguienteinformacion: el numerode epocasejecutadas,los valoresde salidade las unidadesocultas,los erroresde las unidadesde saliday elnumeroqueidentificael patron.
El tamanodel mensajeestadadopor:
�#�$�%&�'�(�)�*�,+��-�.����� � �/�
donde,�
esla cantidaddeunidadesocultas,�
esla cantidaddeunidadesdesaliday�#�0�1�"�!�
eseltamanoqueocupacadadatodelmensaje
Estemensajetantoenel envıo comoen la recepcion, el tipo esno bloqueante,debidoa quelosprocesosdebenademasestarcontinuamentechequeandoqueel arbitrono hayapedidofinalizar. Esdecir, quepuedeocurrir queel arbitro pidaquesedetengael entrenamiento.Peropor otro lado elprocesoforwarddebe,ademas,chequearsi existenmensajede actualizacion, en cuyo casodeberıaactualizarlospesos.En cambioel procesobackwardnopuedenhacerotracosahastaqueel mensajerealmentefue recibido.
4.4.3 Mensajedeactualizacion
Estemensajeesenviadoporel procesadorquerealizael pasobackward alosprocesadoresquereali-zanel pasoforward y al arbitr oconlospesosquesemodificaronenunvalorsuperioral parametro2 .Contienela siguienteinformacion: el numerodeepocasejecutadas,los pesosquedeberanseractua-lizadosconsuscorrespondientesvalores(peso3 nuevo valor peso3 . . . peso4 nuevo valor peso4 ).
La particularidaddeestemensajeesqueesdetamanovariable,queestara dadopor:
1Seagregaun -1 al final delmensajeparaindicarel fin delmismo
1430
4.4.4 Mensajedefinalizacion
Estemensajeesenviadopor el procesadorqueesarbitroa todoslos procesadoresconel mensajedefinalizacion. Seenvıa unaunicavez antesde terminarla ejecucion, esde tamano fijo (1). El envıodel mismosehacemedianteunaiteracion enviandoun mensajea cadaprocesadorcon un mensajedefinalizacion del entrenamiento.La recepcion encadaunodelos procesadoresserealizamedianteunarecepcion no bloqueante,quefue iniciadaal comienzodel entrenamientoy queahorapodra serfinalizaday deesemododetenerla ejecuciondetodoslosprocesos.
5 EL PARAMETR O N
La implementacion al ser realizadasobreun cluster formadopor estacionesde trabajo,en dondeel tiempo de comunicacion influye considerablementeen la performancedel algoritmo [7] [5], sedecidio introducirunparametrodenominado2 [1] 2, el cualpermitecontrolarel tamanoy/o el numerodelos mensajes,quesonenviadosdesdelos procesadoresbackwarda los procesadoresforwardy alarbitro.Enestosmensajessolo setransmitela actualizaciondelospesoscuyocambiofuesuperioralvalordel 2 . Al poderdisminuirel tamanodelosmensajesseproduceunadisminucionenel overheadproducidoal enviar dichomensaje.
En la seccionResultadosobtenidos,semuestraclaramenteel impactoqueproduceel 2 , encuantoal tiempodeejecucion del entrenamientoal variarsuvalor, sin perjudicarla calidaddel aprendizajedela red.
El problemadel reconocimientoderostros,consisteenpoder, apartirdeunconjuntodeimagenesdelos rostrosdepersonas,identificar:unao variaspersonas,el estadodeanimoenqueseencuentra,si tieneanteojoso no, si tienebigoteo no.
En nuestrocasoseuso un conjuntode40 imagenesde tamano 94 por 100pixels,enescalasdegrises,correspondientea los rostrosde6 personasdistintasendondecadaunaesta: conanteojososin ellos,triste,feliz, enojadoo enexpresion neutra.En la Figura6 semuestralas imagenesdeunadelaspersonas.
(a) (b) (c) (d) (e) (f) (g)
Figura9: Imagenesdeunapersonaconalgunasde los poseso caracterısticasqueposee:(a) conanteojosyenojado,(b) sin anteojosy feliz, (c) conanteojosy feliz, (d) sin anteojosy neutral,(e) conanteojosy neutral,(f) sinanteojosy triste,y (g) conanteojosy triste.
El objetivo consisteenquela redseacapazdeidentificarcadaunadelaspersonas.El conjuntodeentrenamientoconsistedeimagenesy la salidaconsistedeunindicadordeaquepersonacorresponde.
2Estaideafue presentadaenel CACIC 2000
1431
Seesperaqueunavez finalizadoel entrenamientola red retornadaseacapasde identificara las 6personas,sin importarel estadodeanimoy si usao no anteojos.
La red tomacomoentradascadaunode los 9400pixelsde la imagen,cuyovalor estadadoporla intensidaden la escaladegrises.Estosvaloresestanentre0(negro) y 255(blanco),los cualessonllevadoal rango[0,1] dividiendoel valorpor 255.
El numerodeunidadesocultasfuedefinidoen20y comosalidaseutilizan 6 unidades,lascualestomanel valor1 enla posicion quecorrespondea la personaidentificaday 0 enlasdemas.
La cantidaddepesosconla quecuentala redestadadapor la siguienteexpresion:O A=BDCFEPCQ � O BD:=<?KF8L@%8;CR� O EF6TSVUW<�8;CX�/�Y� O CF8LUZ>7@%8;CR� O EF6TSVUW<�8;CX�
O AVBDCPEFC( �7[M\%]X](�^+_]��`�a�cb)�^+X]%�O A=BDCFEFCd egf_fheg+_]
Esteesla cantidaddepesosqueel algoritmodebeactualizar, hastalograrquela redminimiceelerrory obtenerası el aprendizajedela redparalos patronesdeentradasdados.
En la totalidadde las ejecucionesla redaprendeen unaepocacomprendidaentrela 140y 160,conlo cualsedecidio paramostrarlos resultadosdetenertodaslasejecucionescuandoalcanzamoslaepoca150;parapodercompararmasclaramentelasgraficasobtenidas.
En lasseccionessiguientesserealizael analisisdela ejecucionescondistintosparametrosejecu-tandoenformasecuencialy paralelacon7 procesadores.
El objetivo es,por un ladomostrarlos beneficiosdeutilizar el parametro2 teniendoencuentalaperformancedela implementacionparalelay, por otro lado,poderdecirquela implementacionpara-lela mejorala implementacion tradicionaldel algoritmodeaprendizajebackpropagationenterminosdetiempodeejecucion. Entodaslasejecucionessetomaron5 semillasseleccionadasaleatoriamenteparaquesepuedancompararentresı lasdistintasejecucionestomandolos mismospesosiniciales.
6.1 Ejecucion Secuencial
En estaseccion seanalizala implementacion secuencialrealizadadel problemautilizandoel factordeactualizacion epsilon( 2 ). Estoseutiliza paraprobarquesi solo actualizamoslos pesoscuandoelcambioa introducir superael valor del epsilon,no seintroduceoverheadal entrenamientoy quelared aprendeen todoslos casos.A continuacion semuestranlas graficasdel errorparacadaunadelastrestiposdeejecuciones,mostrandoel mınimo,maximoy promediodel errorproducidoencadaepoca.
La Figura10 muestrael errorqueseprodujodetalladopor epocasparael tipo de ejecucion se-
(a)0
5
10
15
20
0 20 40 60 80 100 120 140
Err
ori
Epocas
epsilon 0.00
(b)0
5
10
15
20
0 20 40 60 80 100 120 140
Err
ori
Epocas
epsilon 0.05
(c)0
5
10
15
20
0 20 40 60 80 100 120 140
Err
ori
Epocas
epsilon 0.10
Figura10: Secuencial.Errorpor epocaspara � de: (a)0.00,(b)0.05y (c)0.10
Comoeradeesperarlas tresgraficastienenun comportamientosimilar. Ya queal usaro no elepsilon( 2 ) no variaensi el codigoa ejecutar. Conun valor de 2 igual a 0 por cadapatron sedebenasignara todoslospesosel nuevo valordelmismo.Mientrasqueparaun 2 distintode0 solo sedebenasignara los cambiosa lospesosquefueronmodificadosenuncambiomayoral del 2 .
Podemosafirmarque la variacion del parametroepsilon( 2 ), no afectani la performance,ni lacalidaddel entrenamientode la red, lo cual demuestraqueunared neuronaldel tipo backpropaga-tion, puedeser entrenadautilizandoun algoritmo tradicionalde entrenamientoo introduciendolautilizaciondelparametro2 .
6.2 Ejecucion paralela
En estaseccion seanalizala implementacion paralelarealizadadel problemautilizandoel factordeactualizacion epsilon( 2 ). En lasejecucionessecuencialessevio queeraposibleutilizar dichofactor,sin ningunimpactoen la performance.Su objetivo primordial, esreduciren numeroy tamano losmensajesdeactualizacion quesonenviadospor los procesadoresbackwarda los demas;influyendodirectamenteenla disminucionenel tiempodecomunicacion.
El valor del error en la epoca150esde 0.076350.Ademassemuestrael tiempode entrenamientonecesariopor cadaepoca,utilizadasparaanalizarla performance,conel valoresdel epsilon( 2 ) iguala 0.10. Semuestrael tiempomınimo, el maximoy el promedio,transcurridodurantela ejecucion,por cadauna de las epocas. El tiempo transcurridoduranteel entrenamientofue de 428.976746segundos,aproximadamente7 minutos. Esto nos estaindicandoque el tiempo de entrenamientodisminuyoconsiderablementeconrespectoa la implementacionsecuencial
La Figura13 muestrala cantidaddepesosmodificadosporcadaepocas,parael tipo deejecucion
muchacomunicacion, la cualesta directamenterelacionadoconel tiempoy tamanoutilizadopor losmensajes.
Paraminimizar el efectode la disminucion de performanceproducidapor la comunicacion, seaplico uncambiomuy importanteal algoritmodeentrenamientobackpropagation,el cualconsisteenactualizarunicamentelospesosquesuperanunciertovalor( 2 ), permitiendodisminuirla cantidady eltamanodelos mensajes.En losalgoritmostradicionales,aun los cambiosmaspequenosenlospesosimplicansuinmediataactualizacion.
Sehalogradoreducirel overheaddecomunicacion deformatal queno senecesitaunamaquinapuramenteparalela,sino que el algoritmo puedeproducir una mejorasignificativa de tiemposdeentrenamientoaun usandoun clusterdeestacionesdetrabajoconectadasa travesdeunareddearealocal. Esimportantedestacarqueenlosexperimentosrealizados,nosetenıacontroltotal del cluster,sinoquela ejecucion denuestrosalgoritmosdebıa competirconalgoritmosdeotrosusuarios.Aunası, fue posibleobservar la mejoraenlos tiemposdeejecuciondelos algoritmosdeentrenamiento.
La implementacion propuestapermitemostrarqueen el entrenamiento,no esnecesarioenviartodosloscambiosqueseproducenenlospesosdela red;sino,quesoloenviandolos quesuperanunciertovalor ( 2 ) selograquela redaprenda.
La disminucionenel overheaddecomunicacionpermitequeestealgoritmopuedaserimplemen-tadoendiversasarquitecturaparalela,condiferentesmodelosdeconexion.
REFERENCIAS
[1] M. Alfonso,C. Kavka,andM. Printista.A low communicationoverheadparallelimplementationof theback-propagationalgorithm.AnalesdelVI CACIC, Octubre2000.
[2] T. Michell. MachineLearning. CarnegieMellon University, 1996.
[3] M. Minsky andS.Papert.Perceptrons. MIT Press,1969.
[4] P. Pacheco.Parallel Programmingwith MPI. MorganKaufmannPublishers,Inc., 1997.
[5] D. CullerR. Martin, A.M. VahdatandT. Anderson.Effectsof communicationlatency, overheadandbandwidthin a clusterarchitecture.TechnicalReport94720,1996.
[6] N. Sundarajanand P. Saratchandran. Parallel Architectures for Artificial Neural Network:ParadigmasandImpementation. Institutoof ElectricalandElectronicsEngineers,1998.