O documento propõe uma abordagem híbrida CPU-GPU para construção de árvore de decisão visando classificar grandes quantidades de conteúdo multimídia de forma mais rápida. A abordagem implementa parcialmente o algoritmo ID3 na GPU para acelerar os cálculos intensivos e reduzir o tempo de execução em comparação com implementações somente CPU ou GPU. Os resultados experimentais mostraram que a abordagem híbrida é de 1.4 a 2.5 vezes mais rápida do que somente GPU e de 8.9 a 10.
Palestra big data_e_mineracao_dedados_5agosto13-versaoslideshare
Defesa de Artigo: "A hybrid construction of a decision tree for multimedia contents"
1. Apresentação de Artigo
A hybrid construction of a decision
tree for multimedia contents
Universidade Federal do Pará
Instituto de Tecnologia
Programa de Pós-Graduação em Engenharia Elétrica
Equipe:
Andrew Edberg
Rodrigo Lisbôa
Professores:
Dr. Ádamo Santana
Disciplina:
Inteligência Computacional
2. Dados do Artigo
• Título Original:
– A hybrid construction of a decision tree for multimedia contents.
• Título em Português:
– A construção de uma árvore de decisão híbrida para conteúdos
multimídia.
• Autores:
– Aziz Nasridinov, Sun-Young Ihm e Young-Ho Park
(South Korea).
• Revista (publicação em July 2013):
– Springer Science+Business Media New York 2013.
• Qualis CAPES:
– A2 (Interdisciplinar), B1 (Engenharias III) e B2 (Ciência da
Computação e Engenharias IV).
2
5. 1. Introdução
• O rápido desenvolvimento da Internet e o crescimento
da disponibilidade da largura de banda, resultam na
crescente disponibilidade de conteúdos multimídia.
– No Youtube, Flickr, Instagram e Facebook, tramitam milhões de
vídeos, imagens e áudio, etc.
• Isto leva à necessidade de uma melhor classificação e
manutenção dos arquivos, devido a grande quantidade
de tramitação dos conteúdos multimídia.
– Técnicas de mineração de dados podem ser aplicadas para
facilitar esta tarefa.
5
6. 1. Introdução
• Mineração de Dados¹:
– Processo de extração de conhecimentos significativos.
– Uma quantidade de dados é analisada.
¹Jin R, Yang G, Agrawal G (2005) Shared memory parallelization of data mining algorithms: techniques,
programming interface, and performance. IEEE Trans Knowl Data Eng 17(1):71–89. 6
Figura. Figura representando o processo de KDD (Knowledge Discovery in Databases).
?Classificação
8. 2. Problema
• Classificação²:
– Prediz um item de uma classe.
• O valor o valor de uma classe, dado um conjunto de dados, é
previsto com base nos valores dos seus outros atributos.
• Técnicas de classificação ajudam na construção de
ferramentas apoio à decisão, facilitando a análise da
quantidade de conteúdos multimídia.
• Para resolver o problema, é utilizado DT³ (Decision Tree),
por ser um mecanismo um popular para classificar dados.
²Chui FCF, Bindoff I, Williams R (2009) Applying feature extraction for classification problems. J Signal Process
Image Process Pattern Recogn 2(1):1–16.
³Basak J, Krishnapuram R (2005) Interpretable hierarchical clustering by constructing an un supervised decision
tree. IEEE Trans Knowl Data Eng 17(1):121–132. 8
10. 3. Como o problema é tratado?
• A contribuição do trabalho é dupla:
1. Propõem-se, a priori, uma abordagem para a construção
de uma DT.
• A DT proposta ajudará na descoberta de padrões,
associações, anomalias, estruturas e eventos em grande
quantidade de conteúdos multimídia.
2. Visando acelerar o desempenho da DT, é proposta uma
abordagem híbrida (CPU-GPU) para a construção da DT
na GPU.
• A abordagem sugerida não só acelera computação, mas
também considera a potência e o consumo de energia da
GPU.
10
12. 4. Abordagem proposta
• Arquitetura Compute Unified Device Architecture e GPU:
12
Figura. Arquitetura simplificada das GPUs NVIDIA com suporte à CUDA.
Figura. GPU – Acesso à memória.
Núcleo CUDA:
SP: Processadores Compartilhados
13. 4. Abordagem proposta
• CPU versus GPU:
13
Figura. Comparação de acesso à memória - CPU e GPU.
14. 4. Abordagem proposta
• Construção da DT híbrida, para conteúdo multimídia:
– Aplicou-se o algoritmo ID3:
• Solução de classificação dos dados utilizados para o
aprendizado de árvore de decisão.
• Abordagem top-down.
• Usa o ganho de informação para selecionar o atributo de
teste.
– Calcula-se, usando a entropia.
• O algoritmo ID3 termina quando cada subconjunto é
classificado.
– Implementou-se, na GPU, apenas as partes da DT que
precisam de maior processamento.
• Visando reduzir o tempo de execução do algoritmo.
14
15. 4. Abordagem proposta
• Construção paralela do algoritmo de árvore de decisão:
15
Figura. Algoritmo paralelo da árvore de decisão.
D = Conjunto de entrada
A = Atributos de Saída
T = Conjunto de treinamento
17. 17
Se D tiver apenas exemplos de treinamento da mesma classe, atribui-
se um nó folha T.
18. 18
Se A não possuir atributos de saída, T é um nó folha pois representa a
classe mais frequente em D.
19. 19
Se D conter exemplos pertencentes a uma mistura de classe,
seleciona-se um único atributo para particionar D em subconjuntos.
Observação:
1. Neste caso, a chave para a construção de uma árvore de decisão é
que atribui à escolha, a fim de diversificar.
2. O objetivo é reduzir a impureza ou incerteza em dados.
20. 20
Ocorre a redução da impureza ou da incerteza dos dados, o máximo
possível.
21. 21
Observação:
1. Se fizermos atributo Ai, com valores de v, a raiz da árvore atual D,
será particionada em v subconjuntos (Ex.: D1, D2, ..., DV).
2. A entropia esperada de Ai é usada como a raiz, calculada por:
Ação processada na GPU.
Onde:
Pr(cj): probabilidade da classe
de cj no conjunto de dados D.
22. 22
É selecionado o atributo com o maior ganho em galho.
Em seguida, divide-se a árvore (atual).
23. 23
Se o ganho não reduzir significativamente a impureza, é feito de T um
nó folha, por representar a classe mais frequente em D.
24. 24
Senão, se o ganho for capaz de reduzir a impureza, T passa a ser um
nó de decisão.
25. 25
Se o atributos dos subconjuntos não estiverem vazios, então cria-se
um nó ramo (borda) para o nó folha.
Ação processada na GPU.
26. 26
Se não forem selecionados nó folhas, repete-se as linhas 1-27.
27. 27
As informações da GPU são enviadas à CPU, e
posteriormente a memória é liberada.
29. 5. Resultados e discussões
• Plataforma de software:
– Microsoft Windows 7;
– CUDA versão 5.0.
• Plataforma de hardware:
– CPU Intel Core i2 e 2 GB de RAM DDR3.
29
30. 5. Resultados e discussões
• O algoritmo foi avaliado, experimentalmente, em uma
GPU com 48 núcleos CUDA.
30
Figura. Características da placa gráfica Geforce GT220.
32. 5. Resultados e discussões
• O desempenho foi checado baseando-se:
– Na implementação sequencial, e;
– Na implementação GPU-CPU.
• O algoritmo híbrido foi comparado com as ferramentas:
– Weka (implementado somente para CPU), e;
– CUDA-RF (implementado somente para GPU).
32
33. 5. Resultados e discussões
• Resultados:
33
Figura. Comparação do tempo de execução.
34. 5. Resultados e discussões
• Resultados:
34
Figura. Comparação do consumo de energia.
36. 6. Conclusões
• O tempo de execução do algoritmo ID3 híbrido, é
significativamente reduzido, quando comparado com os
algoritmos ID3 do Weka e CUDA-RF.
• A abordagem híbrida proposta explora o paralelismo da
“divisão e conquista” do ID3 em dois níveis:
– Externo: construção da árvore de nó por nó (top-down),
forma recursiva, e;
– Interno: classificação de registros de dados dentro de um
único nó.
• A abordagem híbrida CPU-GPU possui um menor
processamento.
36
37. 6. Conclusões
• Os resultados experimentais demonstraram que uma
aplicação híbrida:
– É 1.4 a 2.5 vezes mais rápida do que a implementação
baseada somente na GPU.
– E é 8.9 a 10.5 vezes mais rápida do que baseado em
processador aplicação sequencial.
• A solução proposta é uma Green IT:
– Pois não acelera, somente, a construção da DT através da
computação da GPU, mas também, considera a potência
e consumo de energia da GPU.
37
39. Análise Crítica
“ A abordagem CPU-GPU híbrida para a
construção da árvore de decisão em
GPU pode ser considerado como uma
solução razoável para categorizar e
manter grandes quantidades de
conteúdo multimídia”.
39
40. Análise Crítica
• Problema de compatibilidade.
– É um quesito a ser levado em consideração, pois CUDA é
restrito à tecnologia NVIDIA e, portanto, só funciona com
GPUs fabricadas pela mesma, o que limitada a execução do
algoritmo.
• Aplicou-se somente um tipo de paralelismo, o funcional.
• A aplicação poderia ser testada também à outros tipos de
paralelismo: de objeto e/ou de dados para verificar se o
ganho permaneceria o mesmo.
• A solução poderia ser desenvolvida utilizando a OpenCL.
• Plataforma para programação paralela para ambiente
heterogêneo (roda em CPU, GPU e outros tipos de
processadores – Intel, etc.). 40
41. Apresentação de Artigo
A hybrid construction of a decision
tree for multimedia contents
Universidade Federal do Pará
Instituto de Tecnologia
Programa de Pós-Graduação em Engenharia Elétrica
Equipe:
Andrew Edberg
Rodrigo Lisbôa
Professores:
Dr. Ádamo Santana
Disciplina:
Inteligência Computacional