2 research outputs found

    Paralelización eficiente en métodos de núcleo

    Get PDF
    Los métodos de núcleo son técnicas muy utilizadas en el área de aprendizaje automático debido a que son capaces de obtener buenos resultados en un gran número de tareas reales. El principal motivo de su éxito es que permiten crear soluciones no lineales de forma muy sencilla, transformando el espacio de entrada en un espacio de alta dimensionalidad donde los productos escalares se obtienen utilizando una función de núcleo. Entre las técnicas más extendidas tenemos por un lado las Máquinas de Vectores Soporte (SVMs), que funcionan muy bien en problemas de clasificación, y por otro lado los Procesos Gaussianos (GPs), muy utilizados en problemas de regresión. Los métodos de núcleo siempre han te nido dos puntos débiles que limitan su aplicación práctica. En primer lugar está el coste computacional asociado a entrenar este tipo de algoritmos, que es O(n3) siendo n el número de datos que contiene el conjunto de entrenamiento, este problema de escalabilidad reduce mucho su campo de actuación. El segundo problema está asociado a que sean métodos no paramétricos, en los métodos de núcleo la complejidad de los modelos se ajusta automáticamente y no viene prefijada de antemano. Esta capacidad de autoajuste hizo muy populares este tipo de técnicas pero cuando se trabaja con volúmenes de datos grandes se obtienen modelos demasiado complejos que son muy lentos para procesar nuevas muestras. En los últimos años una serie de factores como la redes sociales, el comercio electrónico, los dispositivos móviles y la colaboración utilizando las nuevas tecnologías han hecho que las bases de datos se hayan incrementado enormemente y que se haya pasado de la problemática de no tener suficientes datos para solucionar una tarea al problema completamente opuesto de tener tal volumen de datos que resulte muy costoso y complicado procesarlos. Si al hecho de que actualmente se disponga de bases de datos mucho más grandes le unimos la problemática que tienen los métodos de núcleo en cuanto a coste computacional y escalabilidad, nos encontramos con que este tipo de técnicas ha visto muy reducido su campo de acción. Afortunadamente también han surgido líneas de investigación que permiten enfrentarnos a este tipo de problemas como son la paralelización y las aproximaciones semi-paramétricas. Por un lado, el número de núcleos de procesamiento en los ordenadores se ha incrementado considerablemente dando lugar a nueva líneas de investigación para adaptar técnicas clásicas de aprendizaje automático a un nuevo escenario de paralelización en el que múltiples recursos trabajan de forma simultánea bajo el principio de que los problemas pueden dividirse en tareas más pequeñas que pueden resolverse al mismo tiempo. Por otro lado, las soluciones semi-paramétricas son aproximaciones que fijan de antemano la complejidad de los modelos que se obtienen y evitan el problema de obtener soluciones demasiado lentas a la hora de evaluar nuevas muestras. Este tipo de soluciones pueden además reducir el coste computacional del entrenamiento para evitar que escale de forma cúbica con el número de muestras. En esta Tesis se hace uso de estas líneas y se presentan nuevos algoritmos paralelos para entornos multiprocesador y multinúcleo de versiones tanto completas como semiparamétricas de diferentes métodos de núcleo. En primer lugar, se presenta un nuevo esquema de paralelización que se beneficia de la formulación matricial de los métodos de núcleo y propone unos criterios de diseño tanto de bajo como de alto nivel de las operaciones que se llevan a cabo en este tipo de algoritmos y permiten una implementación paralela eficiente. Para demostrar la utilidad de estas técnicas y con el objeto de aunar las dos principales líneas de investigación en lo referente escalabilidad de métodos de núcleo, se ha realizado una implementación de SVMs semi-paramétricas y GPs tanto completos como semi-paramétricos. Los resultados obtenidos al utilizar como referencia otras soluciones existentes demuestran la utilidad y eficiencia de estas técnicas. En segundo lugar y tras analizar las limitaciones del modelo propuesto anteriormente, que hacía uso de una resolución de sistemas lineales paralela utilizando una inversión por bloques, se ha propuesto un nuevo esquema basado en una factorización de Cholesky paralela que mejora la estabilidad numérica y es más eficiente computacionalmente. Con este nuevo esquema se ha realizado una implementación de SVMs tanto completas como semiparamétricas y los resultados obtenidos han mostrado su superioridad respecto al modelo anterior. Como añadido, también se han muestran otros aportes que se corresponden a resultados y premios obtenidos en competiciones de aprendizaje automático gracias a los conocimientos sobre paralelización adquiridos con este trabajo. El trabajo finaliza con una revisión de las aportaciones realizadas y sugerencias de nuevas líneas de investigación abiertas.Kernel methods are very popular techniques in the Machine Learning area because they can produce highly competitive results in many practical tasks. The main reason of this success is their ability of creating non linear solutions very easily, transforming the input data space onto a high dimensional space where inner products between projected vectors can be computed using a kernel function. Among the most extended techniques we have Support Vector Machines (SVMs), that performing very well in classification problems, and Gaussian Processes (GPs), that are widely used in regression problems. Kernel methods have two main weaknesses that limit their practical application. The first one is the computational cost associated with their training procedure, which is O(n3) being n the number of samples in the training set. Due to this scalability problem, the run time obtaining the models is too high when working with large scale data and the field of action of this family of algorithms is reduced. The second problem is associated to their non parametric nature. In kernel methods the complexity of the models is not preset in advance, the machine size depends on the training set size. This ability made them very popular, but the resulting models are often very slow processing new samples when the training set contains a high number of samples. In recent years, a number of factors including social networks, electronic commerce, movie devices and collaboration using the new technologies have led to a huge increase in the dataset's size. We have gone from the problem of not having enough data to solve a task to the opposite problem of having so many data that is very costly and complicated to process them. If, to the fact that currently there are much larger datasets, we add the problem that kernel methods have about computational cost and scalability, we find that the field of action of these techniques has been drastically reduced. Fortunately, new research lines such as parallel architectures and semi-parametric approximations of the models have also emerged to allow us to face this kind of problems. On the one hand, the number of processing cores in computers has increased significantly, giving rise to new research lines to adapt classical machine learning techniques to a new parallel scenario in which multiple processing resources work simultaneously following the principle that problems can be divided in smaller subtasks that can be done at the same time. On the other hand, semi-parametric solutions are approximations that fix the complexity of the resulting models in advance and thanks to them the problem of obtaining a solution too slow to process new samples is avoided. Using these approximations we can also reduce the computational cost and the run time of the training procedure. This PhD Thesis make use of these research lines and presents new parallel algorithms for multicore and multiprocessor systems of non parametric and semi parametric versions of different kernel methods algorithms. First of all, we show a new parallel schema that takes advantage of the matrix formulation to solve kernel methods. This schema proposes some low and high level design criteria to achieve an efficient parallelization when implementing the procedures that are carried out to solve this kind of algorithms. With the aim of showing the usefulness of these techniques and to join the different research lines related with the scalability, some algorithms have been implemented: a semi-parametric version of SVMs and two GPs solvers (a semi-parametric one and a full non parametric version). Results obtained when benchmarking these algorithms evidence the usefulness and efficiency of these techniques. Secondly and after analyzing the main limits of the previous model, that made use of a parallel block matrix inverse to solve linear systems, a new schema based on a parallel Cholesky factorization has been proposed. This new architecture improves the numerical stability and it is more computationally efficient. Using this schema, we have implemented two algorithms, a full and a semi-parametric SVM, and the results show the superiority over the previous model. In addition, we show some indirect contributions that correspond to results and prizes obtained in machine learning competitions thanks to the knowledge about parallelization arising from this work. This document concludes describing the main contributions and some suggestions about new research lines that emerge from this work.Programa Oficial de Doctorado en Multimedia y ComunicacionesPresidente: Inmaculada Mora Jiménez.- Secretario: Jerónimo Arenas García.- Vocal: Rubén Casado Tejedo
    corecore