Sei sulla pagina 1di 10

ESTADO DEL ARTE VERSION FINAL 1

Algoritmos de Computación Paralela aplicados


al Aprendizaje de Máquina: una revisión del
estado del arte
Raul E. Torres, Estudiante de la Maestría en Ingeniería de Sistemas y Computación, Universidad
Nacional de Colombia

D. Hadoop 8
Abstract—The application of parallel computing to machine E. Aplicaciones en Grid Computing ................................. 8
learning techniques is a relatively young and wide field of V. Presente y futuro ................................................................. 8
research. We present in this paper a state of the art survey, VI. Conclusiones .................................................................... 8
identifying the associate concepts and related work in the domain, Apéndice ....................................................................................... 9
that shows, in contrast to monolithic learners, a significant
Referencias ................................................................................. 10
increase in execution speed of the algorithms and in the capacity
to handle big data sets. Finally we conclude that the parallel Contexto Problema
approach highly improves Machine learning techniques. I. INTRODUCCIÓN
Según [22] ante la complejidad de los algoritmos de aprendizaje
Index terms—distributed learning, machine learning, meta- y la gran cantidad de datos que manejan, se hace necesario
learning, parallel computing aprovechar la propiedades de robustez, tolerancia a fallos,
escalabilidad y velocidad de ejecución que ofrece la
Resumen—La computación paralela aplicada a las técnicas de computación en paralelo, disponible gracias al rápido desarrollo
aprendizaje de máquina es relativamente un área joven y con un en hardware de los últimos años: altas velocidades de las redes
campo amplio, susceptible de investigación. Se presenta en este de datos, máquinas con procesadores múltiples y procesadores
artículo el estado del arte, identificando los conceptos asociados al con múltiples núcleos, para citar algunos ejemplos; para tal
tema y los trabajos realizados, que muestran, en comparación con efecto se deben identificar las diferentes clasificaciones que se
aprendices monolíticos, un aumento significativo en la velocidad
dan en el paralelismo y más específicamente aquellas
de ejecución de los algoritmos y en la capacidad de manejar
grandes conjuntos de datos. Se concluye que el enfoque paralelo aproximaciones que se ajustan a las propiedades de
mejora en gran medida las técnicas de Aprendizaje maquinal. concurrencia en los algoritmos de Aprendizaje de Máquina. La
figura 1 muestra el mapa conceptual de este estado del arte; en
Palabras clave—aprendizaje de máquina, aprendizaje la sección II se desarrollan conceptos como los tipos y
distribuido, computación paralela, meta-aprendizaje clasificaciones del paralelismo, así como también las
plataformas de programación más utilizadas y los objetivos de
Objetivos
INDICE Nota: Falta la motivación estas estrategias. En la sección III y IV se profundiza en los
estudios realizados en cada tipo de aprendizaje y sus
I. Introducción........................................................................... 1 aplicaciones. Finalmente, en la sección V se proyecta el trabajo
II. Paralelismo y aprendizaje de máquina ................................... 1 futuro que se puede desarrollar en el área y en la VI se emiten
A. Motivación ................................................................... 2 las conclusiones obtenidas. Para una mayor comprensión de las
B. Marco Teórico ............................................................... 2 relaciones entre los conceptos se incluye en el apéndice un
C. El problema del aprendizaje de máquina paralelo ...... 5 diagrama más detallado del mapa conceptual.
Estructura del Paper
III. Aproximación a los trabajos realizados en el área ............. 5
IV. Aplicaciones de computación paralela en aprendizaje…... II. PARALELISMO Y APRENDIZAJE DE MÁQUINA
maquinal ..................................................................... 7
A. NCV 7 Antes de abordar los trabajos realizados en este dominio
B. Weka-Parallel................................................................ 7 de las ciencias de la computación, es indispensable hacer un
C. Hardware autoconfigurable.......................................... 7 recorrido por los conceptos que se han construido a su
alrededor, lo que permitirá al lector obtener una mejor
comprensión de la necesidad imperante de desarrollar
Este trabajo fue creado como parte del Seminario de Investigación I de la algoritmos de aprendizaje de máquina en paralelo.
Maestría en Ingeniería de Sistemas y Computación de la Universidad
Nacional de Colombia, en diciembre de 2008.
Raul Ernesto Torres es Ingeniero de Sistemas de la Universidad de Nariño
y actualmente trabaja en el Departamento de Sistemas de Riesgo de Fractura
S.A (e-mail: raultorrescarvajal@gmail.com)
ESTADO DEL ARTE VERSION FINAL 2

A. Motivación continuación. Dichos conceptos han sido aplicados


independiente o conjuntamente en los estudios que se
Se puede afirmar que para poder asegurar una mayor relacionan en la sección III.
precisión en las predicciones de los algoritmos de aprendizaje
es necesario que se escale el conjunto de datos. Por ejemplo, Paralelismo según la granularidad
Provost et al. [15] definen las disyunciones pequeñas (small
disjuncts) como reglas correspondientes a casos especiales que Uno de los problemas más comunes que ser debe manejar
no es posible encontrar cuando el tamaño de la muestra es en computación paralela es el tamaño del conjunto de datos; la
pequeña; si se incrementa el tamaño del conjunto de datos se granularidad hace referencia al grado de subdivisiones que se
aumenta el tiempo de ejecución del algoritmo, por lo que la hace a este conjunto de datos para que sea procesado por
computación paralela entra en juego para obtener mayores diferentes instancias; puede ser: Fina: Cuando el conjunto de
velocidades en comparación con el modelo secuencial clásico. datos se divide en un número grande de subconjuntos. Gruesa:
el conjunto de datos se divide en un número pequeño de
grupos.
B. Marco Teórico

El paralelismo en el aprendizaje de máquina se basa en


ciertos conceptos teóricos que se describen con brevedad a

Fig. 1. Mapa conceptual del estado del arte

A mayor granularidad (fina) se obtiene mayor velocidad y


balance de carga pero se los procesos de comunicación entre Paralelismo según el modo de ejecución
procesadores se aumentan. Al contrario, a menor granularidad
(gruesa) se disminuye esa sobre carga en detrimento de la Este modo de computación paralela tiene que ver con la
velocidad y el balance en la distribución de los trabajos de relación de dependencia entre los nodos de ejecución. Se
procesamiento. También se debe tener en cuenta que al dividir consideran dos modelos con sus ventajas y desventajas en el
el conjunto de datos se pueden presentar que los subconjuntos estudio realizado por Blesa et al. [3]. Modelo de ejecución
sean o no disyuntos, es decir, que un ejemplo se repita o no en independiente (Figura 2): consiste en la ejecución simultánea
varios subconjuntos. del mismo algoritmo sobre diferentes partes del conjunto de
Existe un caso de granularidad fina especializada que se datos para después seleccionar la mejor de las soluciones.
utilizó en máquinas de paralelismo masivo como la Modelo Maestro/Esclavo (o Maestro/Trabajador en [11]): el
Connection Machine [15] denominado Parallel Matching, en la maestro controla toda la ejecución y utiliza a los esclavos para
que cada elemento del conjunto de datos es asignado a un realizar determinadas tareas. La solución puede ser alguna
procesador; en caso de que el número de elementos sea mayor función de las respuestas obtenidas por cada nodo dependiente
al número de procesadores se utilizan procesadores virtuales, (Figura 4).
como lo detalla el trabajo realizado por Blelloch en [2].
ESTADO DEL ARTE VERSION FINAL 3

entre los nodos; esta aproximación minimiza el riesgo de


convergencia en óptimos locales. En los algoritmos genéticos
de granularidad fina a cada procesador le corresponde una
muestra muy pequeña de la población y dichas poblaciones
interactúan solamente con sus vecinos.
Como es evidente, la evaluación de cada individuo en la
generación actual es independiente; aparte de la reducción del
tiempo de ejecución, la ventaja de los algoritmos genéticos
paralelos sobre los secuenciales reside en su capacidad de
manejar poblaciones más grandes y de mantener su diversidad
por más tiempo.

Fig. 2. Modelo de ejecución independiente. (Tomada de [3])


Paralelismo en Redes Neuronales
Rogers et al. identifican en [17] tres tipos de estrategias
de paralelización en redes neuronales.
Paralelismo de ejemplos: Es aquel que divide el conjunto Fig. 3. Modelo de algoritmo genético (Tomada de [11])
de datos entre los procesadores (granularidad); no aprovecha
el paralelismo implícito en las redes neuronales pero es el que Meta-Aprendizaje
mejor rendimiento ofrece. Consiste en el aprendizaje basado en la información que
Paralelismo de bloque: Divide la red en bloques ofrecen diferentes algoritmos de aprendizaje (Chan et al. [5]).
disyuntos de neuronas adyacentes y asigna cada bloque a un Es una técnica que cohesiona los resultados de múltiples
procesador. Aprovecha la localidad. aprendices maquinales; esta multiplicidad permite la
Paralelismo Neuronal: Distribuye aleatoriamente las paralelización de las ejecuciones de cada uno de los agentes.
neuronas entre los procesadores. No saca partido de la Los Meta-Clasificadores citados en [26] se aplican al
localidad. aprendizaje supervisado. Este método combina los resultados
de clasificadores entrenados independientemente con el fin de
Algoritmos Genéticos Paralelos crear un clasificador general para el conjunto de datos de
En términos generales, Grefenstette [11] y Thompson et entrenamiento (Figuras 5 y 6). Cabe recordar que en el
al. [21] establecen los algoritmos genéticos como técnicas de aprendizaje supervisado se considera que el conjunto de datos
búsqueda adaptativas capaces de imitar la evolución natural tanto de ejemplo como de prueba se encuentran clasificados
sobre poblaciones de soluciones que se evalúan correctamente.
periódicamente y de las cuales se escogen las mejores para En aprendizaje no supervisado su utilizan los Meta-
combinarse y pasar a las siguientes generaciones (Figura 3). Categorizadores. En la categorización no existe una correcta
Se espera que al final la población se homogenice en una clasificación de los datos, por lo que diferentes algoritmos de
solución óptima (convergencia). aprendizaje aplicados al conjunto de datos no van a generar la
Estos Algoritmos Genéticos constituyen un ejemplo de misma categoría.
paralelización inherente a su naturaleza basada en la El meta-aprendizaje presenta algunas limitaciones,
granularidad en aprendizaje de máquina; los algoritmos detalladas por Thompson et al [20]: la complejidad del
genéticos de granularidad gruesa son ideales para el modelo clasificador no es transparente para el humano y el árbol
de islas en que cada procesador evoluciona jerárquico no aprovechará toda la capacidad de cómputo del
independientemente su población con poca intercomunicación sistema.
ESTADO DEL ARTE VERSION FINAL 4

Fig. 4. Modelo de ejecución Maestro/Esclavo. (Tomada de [8])

Agentes Múltiples
En contraste, los agentes múltiples son una alternativa al
meta-aprendizaje que descentraliza el poder de procesamiento
entre varios nodos sin dependencia jerárquica; dichos nodos se
consideran entidades activas algunas veces autónomas e
inteligentes.

Fig. 5. Meta clasificador con regla de arbitraje. (Tomada de [26]) Aprendizaje Reforzado Paralelo

Usando múltiples agentes se puede abordar el aprendizaje


reforzado de una tarea en particular como lo demuestra
Kretchmar [13]. Simultáneamente, como lo muestra la figura
7, cada agente emprende su tarea de aprendizaje sobre el
mismo problema que los demás y acelera su ganancia de
experiencia a medida que comparte información con otros
agentes.

Fig. 6. Meta clasificador con combinación. (Tomada de [26])


ESTADO DEL ARTE VERSION FINAL 5

C. El Problema del Aprendizaje de Máquina Paralelo

En la siguiente sección se revisan los más relevantes


trabajos realizados en el área, cuyo problema es posible
generalizar como la necesidad de reducir los tiempos de
ejecución de los algoritmos de aprendizaje de máquina,
aumentar la precisión de las predicciones y/o incrementar la
capacidad de manejar cantidades de información cada vez más
grandes, a través de la paralelización de todas o algunas partes
del algoritmo y la distribución total, disyunta o no disyunta de
la conjunto de datos. El objetivo: crear “aprendices
maquinales” más exitosos que “aprendan” (valga la
redundancia) cada vez más rápido.

III. APROXIMACIÓN A LOS TRABAJOS


REALIZADOS EN EL ÁREA

Fig. 7. Aprendizaje reforzado con agentes parelelos. La experiencia Tomando prestado el concepto de agentes múltiples de la
propia (elipse gruesa) y la compartida (elipse delgada) se inteligencia artificial, se han realizado algunas investigaciones
almacenan en variables diferentes. (Tomada de [13]) acerca de su posible paralelización, debido a la independencia
innata de cada agente.
Validación Cruzada en Paralelo Por ejemplo, Megank et al. en [14] proponen un
Es una metodología para medir el éxito de un algoritmo algoritmo que induce el aprendizaje en Modelos Causales de
de aprendizaje de máquina, que divide el conjunto de datos en agentes múltiples. Se asume que la información se encuentra
varios segmentos, ejecuta la labor de aprendizaje en paralelo distribuida entre varias máquinas y en cada máquina existe un
en algunos de ellos y utiliza el resto para evaluar la estrategia agente con sus propias reglas de aprendizaje locales. El
[4] [8]. algoritmo se desarrolla entonces en cuatro fases: 1)
Aprendizaje local: las reglas se aplican sin considerar el
API’S de programación más comunes ámbito global 2) Negociación: si es permitido, se computan las
reglas entre dos nodos y la perspectiva se acercaría un poco
La plataforma sobre la cual se ejecutan las más a la forma global 3) Post-procesamiento: toda regla del
implementaciones es también de vital importancia a la hora de ámbito local que no se vea repetida en todos los nodos se
realizar un estudio en este dominio del conocimiento. Muchos elimina. Por ende, el esquema final diferirá en gran medida
de estos estudios en aprendizaje de máquina en paralelo se han cada esquema local 4) Direccionamiento: la direccionalidad de
desarrollado bajo MPI (Message Passing Interface), como los las reglas se mantiene. Lastimosamente este estudio carece de
realizados por Wooley et al. [26] y Sommer et al. [8]. MPI usa datos experimentales.
un modelo de memoria distribuida y un sistema de comunicación En [22] se aplica una versión paralelizada de algoritmos
a través de mensajes que se envían las máquinas cuando
de agentes múltiples de aprendizaje de máquina al problema
requieren los datos. Detalles de esta implementación se pueden
de asignación de tareas (JAP). Los experimentos demuestran
encontrar en [1], [10] y [12].
que este enfoque acelera el encuentro con el óptimo y es más
Por otro lado encontramos a PVM (Parallel Virtual
preciso que una búsqueda aleatoria, pero no se puede asegurar
Machine), que se erige como un entorno de programación
si el óptimo encontrado es global o local. Se da pie para más
cuyo objetivo es la emulación de una sola máquina en paralelo
investigaciones al respecto.
con un conjunto de máquinas de cómputo de diferentes
En otra dirección, aunque la concurrencia es inherente en
características a través de un red (ver [19]). En este estudio no
los algoritmos genéticos, los investigadores se enfrentan a
se encontraron aplicaciones de Aprendizaje de Máquina bajo
problemas complejos; por un lado Thompson et al. en [21]
esta plataforma.
presentan la estrategia de paralelizar un algoritmo genético de
Recientemente, MapReduce se ha constituído en una
granularidad fina para reconocimiento de rostros y holografía
herramienta de software para el abordaje de problemas de
laser; las recombinaciones se hicieron entre individuos del
computación que implica el manejo de cantidades grandes de
vecindario cercano pues experimentos con recombinación
información en un entorno paralelo usando clusters de
entre toda la población arrojaron resultados muy pobres. A
computadores [9], desarrollada por Google. Existe una
pesar de los esfuerzos, los resultados no son totalmente
implementación de software libre basada en Java y soportada
asertivos, pues las tasas de clasificación en algunos casos no
por Apache Group denominada Hadoop en la cual es posible
superan el 60% de éxito. Grefenstette [11] utiliza un algoritmo
implementar algoritmos de aprendizaje de máquina de acuerdo
genético paralelo de granularidad gruesa con el modelo de
al patrón de procesamiento: aprendizaje de una sola pasada,
ejecución Maestro/Esclavo para evaluar estrategias o un
aprendizaje iterativo y aprendizaje basado en consultas.
conjunto de reglas; la experimentación se hizo sobre dos
problemas de optimización para robots: El Gato y el Ratón,
ESTADO DEL ARTE VERSION FINAL 6

donde el gato debe mantener a su objetivo (ratón) dentro de su poder manejar cantidades grandes de datos que una sola
campo de visión sin invadir el campo de visión de su presa; el máquina sería incapaz de direccionar. Las pruebas realizadas
otro problema es el de la lucha por recursos donde dos robots arrojan una mejora significativa en el tiempo de procesamiento
compiten por ellos con funciones de energía intrínsecas a medida que el conjunto de datos aumenta. Igualmente en
diferentes. A diferencia del estudio de Thompson, este tuvo [20] los autores realizan experimentaciones con varios
éxito al obtener una aumento de velocidad de hasta 10 veces repositorios de datos para aprendizaje de máquina tomados de
con respecto a un algoritmo secuencial. la UCI. Dicha experimentación consiste en dividir el conjunto
Cambiando de ámbito, en las redes neuronales, en [17] se de datos entre varios procesadores y analizar los resultados.
evalúan los tres tipos de estrategias de paralelización. Para tal Los resultados muestran que sí existe una disminución en la
efecto, se utiliza una red neuronal en un equipo con 16 precisión de la predicción.
procesadores y se evalúan los costos desde la perspectiva del A pesar de la simplicidad de los algoritmos de
modelo Bulk de paralelismo sincrónico. Las aprendizaje reforzado, no se han realizado muchos trabajos al
experimentaciones arrojan que el paralelismo de ejemplares respecto. En [13] Huang et al. definen un modelo matemático
minimiza el tiempo por instrucción requerido, debido a que simple para mejorar el aprendizaje basado en el refuerzo
requiere menos intercomunicación entre procesadores; le sigue usando varios agentes paralelos que comparten sus
el paralelismo por bloques y en último lugar aparece el experiencias después de cada intento; una de las dificultades
paralelismo neuronal. que se presentan es que la combinación de la experiencia
Anteriormente, Blelloch también había adelantado un puede conllevar a resultados erróneos. Lo solucionan
trabajo de investigación cuya pretensión original era la de manteniendo separadas las valoraciones de experiencia propias
aprovechar el paralelismo fino que ofrecía la Connection del agente y las de los demás. Para demostrarlo utilizan el
Machine [2] y demostrar el incremento de la velocidad de problema de los múltiples bandidos armados (n-arm bandit);
aprendizaje; se implementó un algoritmo que le permitiera a la la experimentación demuestra que un sólo agente aprende
máquina aprender la pronunciación de palabras en inglés. Los menos que varios, pues sólo puede disponer de su propia
resultados arrojaron que dicho algoritmo en este tipo de experiencia (Figura 8).
hardware superaba en velocidad de aprendizaje hasta en un
40% a la Cray 2, uno de los supercomputadores de aquellos
días (1987). Tres años más tarde en otro estudio [6], Cook et
al. demuestran en la misma Connection Machine que la
paralelización del cálculo de las salidas y el reacomodamiento
de los pesos en el algoritmo del Perceptrón, reduce
enormemente el tiempo necesario para aprender.
Otro de los problema frecuentemente abordado es el del
escalamiento del conjunto de datos. En [15] Provost et al.
evidencian que la paralelización de los procesos de
aprendizaje inductivo es absolutamente necesaria cuando el
conjunto de datos debe ser grande (del orden de los 100.000 y
más), y aseveran que entre más grande este conjunto, más
precisa es la predicción; lógicamente una sola máquina no
podría procesar rápidamente estos datos por lo que se propone
la paralelización de una parte del algoritmo. Debido a que la
división del conjunto de datos entre los procesadores lleva a
una disminución en la precisión, se desecha esta aproximación.
Si se dividen las reglas, significaría que cada procesador debe Fig. 8. Resultados del uso de varios agentes paralelos de
cargar todo el conjunto de datos y las limitaciones de memoria aprendizaje reforzado en la tarea de los Múltiples Bandidos
en cada equipo bloquearían el proceso. Se opta por paralelizar Armados. El eje X representa el número de intentos y Y representa el
las funciones de comparación de los datos con el conjunto de porcentaje de acciones óptimas en cada intento (Tomada de [13])
datos de entrenamiento, debido a que este es un proceso
intuitivamente paralelizable. Se usan dos conjuntos de datos: Otro caso de éxito se evidencia en el estudio [24]
uno artificial y otro correspondiente a una base de datos del realizado por Wolpert et al., que propone un algoritmo
sistema de salud de los Estados unidos. Los resultados arrojan combinado de aprendizaje reforzado y templado simulado
que esta paralelización supera notablemente a la ejecución cuyas experimentaciones claramente demuestran cómo este
secuencial. En otro estudio diferente ([16]) se muestra cómo algoritmo supera al de juegos por equipo en la precisión de la
se puede mejorar el rendimiento de un algoritmo de predicción. Dichas experimentaciones consisten en la
aprendizaje de máquina cuando de divide el conjunto de datos resolución del problema de las constelaciones de satélites en
entre varios equipos de cómputo y se establecen reglas de las que cada satélite dispone de una cantidad específica de
cooperación entre los mismos para generar una predicción almacenamiento y un ancho de banda de transmisión de datos
global; una de las ventajas reside en que los requerimientos de a otro satélite; la Tierra actúa como satélite con capacidad de
máquina no son exigentes; otra consiste en la capacidad de almacenamiento infinita; cada grupo de información enviada
ESTADO DEL ARTE VERSION FINAL 7

tiene un nivel de importancia y el objetivo es minimizar la cuando NCV corre en un solo procesador, muestra un
cantidad de datos importantes que se pierde. rendimiento menor a Weka debido al sobrecosto de usar
Explorando las investigaciones en Meta-aprendizaje en mensajes MPI en un entorno no paralelo (No hay nada que
paralelo se encontraron trabajos como el de Chan et al. [5] paralelizar).
donde se propone una metodología para abordar el
aprendizaje supervisado de manera que sea posible obtener
resultados de diferentes estrategias corriendo en varios agentes
(Meta-clasificadores); para el procesamiento paralelo utiliza la
estrategia "Divide y Vencerás", que fracciona el conjunto de
datos entre los nodos. Se crea un árbol de árbitros que son
quienes evalúan desde las hojas hasta la raíz el éxito de las
estrategias utilizadas en cada nodo; los resultados muestran
que se logra una reducción significativa del tiempo de
ejecución acompañada de una reducción estadísticamente
insignificante de la precisión de las predicciones. También se
descubre que la división excesiva del conjunto de datos
conlleva a una disminución alarmante de la precisión, debido a
que cada aprendiz se queda con menos datos de entrenamiento
y su información estadística es menos confiable. Wooley et al. Fig. 9. Reducción en tiempo de ejecución obtenida con NCV al
aumentar el número de nodos esclavos (Tomada de [8])
[26] agregan al trabajo de Chan las definiciones de Meta-
categorizadores para aprendizaje no supervisado, pero centra
sus esfuerzos en detallar las características que permiten que B. Weka-Parallel [4]
MPI sea la plataforma ideal para ejecutar aprendizaje en Es una modificación hecha también en el Carleton
paralelo en un cluster de computadores pero la carencia de College al software Weka, comúnmente utilizado en
datos experimentales hace de este estudio un acercamiento Aprendizaje de Máquina para validación cruzada de datos; la
esencialmente teórico. diferencia con Weka reside en su capacidad de ejecutar
Como se ha visto, la paralelización en aprendizaje operaciones en paralelo al dividir el conjunto de datos en
maquinal, aunque estudiada, requiere de mayor cantidad de subconjuntos independientes; se aplican los mismos principios
esfuerzos por parte de la comunidad investigativa para utilizados en NCV, sin embargo, presenta ventajas sobre éste
solventar los problemas experimentados en la disminución de último, debido a que fue desarrollado en Java, lo que permite
la precisión predictiva. su ejecución sobre cualquier plataforma y sin la necesidad de
disponer de un cluster de computadoras: simplemente se
IV. APLICACIONES DE COMPUTACIÓN PARALELA ejecuta una copia del programa sobre las máquinas de la red y
EN APRENDIZAJE MAQUINAL se especifica en un archivo de configuración las direcciones de
cada equipo. Además, cada nodo corre una misma versión del
Los resultados obtenidos en los estudios anteriores han algoritmo, sin necesidad de implementar las tres funciones
llevado al desarrollo de varias aplicaciones de software, nombradas en el literal anterior.
enfocadas principalmente en la medición del éxito de los Al igual que NCV, los resultados demuestran una
algoritmos de aprendizaje. reducción significativa en el tiempo de procesamiento de los
datos a medida que se adicionan más máquinas al arreglo.
A. NCV (N-Fold Cross Validator) [8] C. Hardware Autoconfigurable

Esta es una librería de programación en C++ De manera particular, en [23] los autores encuentran una
perteneciente al Carleton College; se ejecuta sobre un cluster aplicación práctica del aprendizaje de máquina en la
de computadores basado en MPI y permite validar el éxito de tecnología del hardware autoconfigurable, definido como
los algoritmos de aprendizaje maquinal a través de la aquel que puede administrar sus recursos de manera inteligente
validación cruzada repetida en paralelo usando el modelo de acuerdo a las condiciones del entorno. Estos autores hacen
Maestro-Esclavo; la valoración final la hace el nodo maestro. experimentaciones en una red de computadores que simula
No requiere que el modelo secuencial del algoritmo se este tipo de hardware; utilizan una aplicación web para realizar
modifique para el paralelismo, lo que hace más fácil el trabajo el test que mide del número de WIPS (Interacciones Web por
de programación; son tres las únicas funciones que el segundo). Recolectan un número suficiente de datos para crear
programador debe cambiar para que su algoritmo funcione en un conjunto de ellos que se convierte en el conjunto de
paralelo: función para el algoritmo de entrenamiento, función entrenamiento; luego ingresan este conjunto en la aplicación
para el algoritmo de pruebas y función para destrucción de Weka analizan sus resultados. El algoritmo Jrip es utilizado
reglas (liberación de memoria). Las pruebas comparan el para aprender la mejor configuración y el M5D es usado para
rendimiento con varios procesadores y con Weka como aprender los beneficios de cambiar de configuración;
aplicación no paralela. Se evidencia una mejora sustancial a evidentemente es necesario llevar este trabajo al hardware
medida que se aumentan estaciones paralelas (figura 9); configurable real.
ESTADO DEL ARTE VERSION FINAL 8

D. Hadoop[9] experimentales que las aprovechen (este estudio solo se limita


a proponer una variante de MPI – MPI Shell- para aprendizaje
Estos autores utilizan la implementación Open Source de de máquina en clusters de computadores).
la estrategia MapReduce de Google: Hadoop, para ejecutar Cybenko et al. [7] plantean un modelo para aplicaciones
algoritmos de aprendizaje de máquina según su el modo de en Grid Computing pero no se presentan datos experimentales,
procesamiento visto en la sección II de este artículo y por lo que sería interesante que se desarrolle un prototipo de
demostrar que esta arquitectura es adecuada para tal fin. Los arquitectura que haga usos de las ideas planteadas en ese
resultados se comparan con una implementación genérica y estudio. Un estudio muy reciente realizado por Wolpert et al.
serial del algoritmo. Descubren que en muchos casos la [25] predice la posibilidad de mejorar el tiempo de ejecución
paralelización conlleva un costo adicional debido a la de las máquinas de soporte vectorial a través de la división del
comunicación entre las máquinas pero que va desapareciendo conjunto de datos entre varios procesadores; sin embargo no
a medida que se aumentan más máquinas al ambiente de se presentan datos de experimentación. Sería interesante poder
procesamiento. continuar con esta línea de investigación, pues estos
algoritmos son caros computacionalmente y requieren de
E. Aplicaciones en Grid Computing[7] optimización.
No podían quedarse por fuera del alcance de estas
Debido al innegable auge de la "Grid computing", se hace técnicas los sistemas de información; los CIS (sistemas de
necesario buscar una estrategia que supere el simple uso de información cooperativos) pueden aprovecharlas debido a su
palabras claves y ontologías cuando un cliente solicita un carácter dinámico [18]. El aprendizaje de máquina se debe
servicio a la infraestructura. Estos autores por tanto proponen enfocar en los siguientes aspectos: a) Extracción de semánticas
la aplicación de algoritmos de Aprendizaje de Máquina para b) Coordinación y colaboración c) Abstracción y estructura.
mejorar la asignación de los recursos; presentan un modelo Las técnicas que se pueden utilizar son las siguientes: a)
teórico usando aprendizaje PAC (Probablemente y Clustering para la clasificación de información b) Aprendizaje
Aproximadamente Correcto), que permite reducir el número pasivo para entrenar nuevos miembros c) Aprendizaje activo
de ejemplos. Así el cliente evalúa a su proveedor de servicio para aprender de los nuevos miembros d) Aprendizaje sin
dependiendo del número consecutivo de veces en que su supervisión para aprender los flujos de trabajo sin intervenir
predicción fue correcta. Si hay una incorrecta, el cliente en ellos e) Aprendizaje supervisado que permita que un
procede a evaluar otro proveedor. Se complementa esta miembro le suministre información a uno nuevo para acelerar
propuesta con el uso de agentes móviles que se trasladan de su integración al sistema f) Aprendizaje reforzado para
máquina a máquina (proveedor por proveedor) y regresando al premiar las acciones que generen mayor optimización. Este
final al lado del cliente, lo que reduce la congestión del tráfico tipo de agentes inteligentes minimizan la necesidad
en la red. comunicación y por ende el ancho de banda se optimiza.

V. TRABAJOS FUTUROS
VI. CONCLUSIONES
Sobre los cimientos construidos por estos trabajos de
investigación es posible seguir innovando y proponiendo Existe una tendencia reciente y a largo plazo hacia el
soluciones. En el ámbito de los Algoritmos Genéticos, desarrollo de hardware y software para la computación en
Thompson et al. [21] proponen aumentar la capacidad para paralelo; este fenómeno no ha sido ajeno a la comunidad
distinguir entre más de dos clasificadores en el algoritmo investigativa en aprendizaje de máquina, dada la inherente
genético paralelo de granularidad fina desarrollado; además, característica de concurrencia de muchos algoritmos. Sin
plantean la posibilidad de seguir investigando para incorporar embargo, la cantidad de trabajos en el tema no ha sido
a su modelo heurísticas basadas en probabilidad, teoría de la suficiente como para establecer un nuevo paradigma de
información y teoría clásica de la decisión con el fin de programación, bien sea por la complejidad que implica la
eliminar las fallas de la predicción de su algoritmo genético paralelización o por los costos y disponibilidades de un
paralelo. Grefenstatte [11] sugiere que se debe experimentar ambiente de computación de alto rendimiento. No obstante,
aumentando el tamaño de la población con el fin de reducir los estos estudios han demostrado una reducción notable en los
costos de sincronización entre el nodo maestro y los esclavos, tiempos de ejecución y un incremento muy significativo en la
y para aumentar la tasa de aprendizaje. Otra aproximación
capacidad de manejar grandes cantidades de datos, aunque la
poco abordada es el desarrollo de algoritmos genéticos
precisión de las predicciones no ha experimentado aumento
paralelos asíncronos, de tal manera que los nodos esclavos no
significativo, debido a que esta variable depende más del
se queden inactivos si los demás no han terminado su tarea de
modelo matemático o estadístico que plantee el investigador
evaluación. Weka-Parallel [4] y NVC [8] tratan este problema
de sincronía, pero no sobre algoritmos genéticos sino sobre que de la capacidad de cómputo del sistema. Esta evidencia
validación cruzada de datos. debe incentivar a los grupos de investigación a enfocar las
Si tal como se afirma en [26], MPI ofrece las implementaciones algorítmicas en un ambiente de
características necesarias para la implementación de potentes computación paralela, de tal manera que se aproveche al
algoritmos de meta-aprendizaje, se deberían realizar trabajos máximo este nuevo modelo de diseño de aplicaciones.
ESTADO DEL ARTE VERSION FINAL 9

APENDICE MAPA CONCEPTUAL DEL ESTADO DEL ARTE EN ALGORITMOS

DE COMPUTACION PARALELA APLICADOS AL APRENDIZAJE DE MAQUINA


ESTADO DEL ARTE VERSION FINAL 10

[22]. Weiß, G., A multiagent perspective of parallel and distributed


machine learning, Proceedings of the 2nd International Conference on
REFERENCIAS
Autonomous Agents (Agents’98), 1998, pp. 226--230
[1]. Chapman, B. Programming Models For High Performance Computing, [23]. Wildstrom, J., Stone, P., Witchel, E., Mooney, R.J. & Dahlin, M.,
University of Houston and University of Southampton, 2004 Towards self-configuring hardware for distributed computer systems,
[2]. Blelloch, G., Network learning on the Connection Machine,In In The Second International Conference on Autonomic Computing,
Proceedings of the Tenth International Joint Conference on Artificial 2005, pp. 241--249
Intelligence, 1987, pp. 323--326 [24]. Wolpert, D.H., Sill, J. & Tumer, K., Reinforcement learning in
[3]. Blesa, M.J., Hernndez, L. & Xhafa, F., Parallel Skeletons for Tabu distributed domains: Beyond team games, In Proceedings of the
Search Method, In Proceedings of International Conference on Parallel Seventeenth International Joint Conference on Artificial Intelligence,
and Distributed Systems, ICPADS '01, IEEE, 2000 2001, pp. 819--824
[4]. Celis, S. & Musicant, D.R.,Weka-parallel: machine learning in [25]. Woodsend, K. & Gondzio, J., Parallel support vector machine training,
parallel,Carleton College, CS TR, 2002, School of Mathematics, University of Edinburgh, 2007
[5]. Chan, P.K. & Stolfo, S.J.,Toward parallel and distributed learning by [26]. Wooley, B., Mosser-Wooley, D., Skjellum, A. & Bridges, S., Machine
meta-learning, In AAAI Workshop in Knowledge Discovery in Learning Using Clusters of Computers,
Databases, 1993, pp. 227—240, Proceedings of MPIDC2000 Message Passing Interface and High-
[6]. Cook, D.J. & Holder, L.B., Accelerated learning on the connection Performance Clusters Developer's and User's Conference, March 21-23,
machine, In Proceedings of the Second International IEEE Conference 2000, Cornell University, 2000
on Tools for Artificial Intelligence, San Mateo CA, 1990, pp. 448—454
[7]. Cybenko, G., Jiang, G. & Bilar, D., Machine learning applications in
grid computing, Proceedings of the annual Allerton Conference on
Communication Control and Computing, The University; 1998, 1999,
Vol. 37, pp. 348-357
[8]. Davis, B., Sommer, E. & Musicant, D.R., NCV: A Machine Learning
Development Environment for Parallel Evaluation, Carleton College
Computer Science, 2001
[9]. Gillick, D., Faria, A. & DeNero, J., MapReduce: Distributed Computing
for Machine Learning, UC Berkeley's computer science department,
2006
[10]. Graham, R.L., Woodall, T.S. & Squyres, J.M., Open MPI: A Flexible
High Performance MPI, In The 6th Annual International Conference on
Parallel Processing and Applied Mathematics, 2005
[11]. Grefenstette, J.J., Robot learning with parallel genetic algorithms on
networked computers, In Proceedings of the 1995 Summer Computer
Simulation Conference (SCSC '95,1995, pp. 352-257
[12]. Huang, C., Lawlor, O. & Kalé, L.V.,Adaptive MPI, In Proceedings of
the 16th International Workshop on Languages and Compilers for
Parallel Computing, 2003, pp. 306-322
[13]. Kretchmar, R.M., Parallel reinforcement learning, In The 6th World
Conference on Systemics, Cybernetics, and Informatics, 2002
[14]. Meganck, S., Maes, S. & M, B.,
Distributed learning of multiagent causal models, Accepted at the 2005
IEEE/WIC/ACM International Conference on Intelligent Agent
Technology (IAT’05), 2005
[15]. Provost, F.J., Aronis, J.M. & Fisher, H., Scaling up inductive learning
with massive parallelism, Machine Learning, 1996, pp. 33-46
[16]. Provost, F.J. & Hennessy, D.N., Scaling Up: Distributed Machine
Learning with Cooperation, In Proceedings of the Thirteenth National
Conference on Artificial Intelligence, AAAI Press, 1996, pp. 74-79
[17]. Rogers, R.O. & Skillicorn, D.B., Strategies for parallelizing supervised
and unsupervised learning in arti cial neural networks using the BSP
cost model, Department of Computing and Information Science,
Queen´s University Canadá, 1997
[18]. Singh, M.P. & Huhns, M.N., Challenges for machine learning in
cooperative information systems, Distributed artificial intelligence
meets machine learning, Lecture Notes in Artificial in Artificial
Intelligence, ,1997, Vol. 1221, pp. 11--24
[19]. Sunderam, V.S., PVM: A Framework for Parallel Distributed
Computing, Concurrency: Practice and Experience, 1990, Vol. 2, pp.
315-339
[20]. Thompson, S. & Bramer, M., Subsetting as an approach to distributed
learning., Artificial Intelligence Research Group, Department of
Information Science, University of Portsmouth, 1997
[21]. Thompson, S.G., Bramer, M.A. & Kalus, A., Parallel Genetic
Algorithms and Machine Learning., Artificial Intelligence Research
Group, Department of Information Science, University of Portsmouth,
UK, 1996

Potrebbero piacerti anche