UMA ABORDAGEM DE PODA PARA MÁQUINAS DE APRENDIZADO EXTREMO VIA ALGORITMOS GENÉTICOS Alisson S. C. Alencar, Ajalmar R. da Rocha Neto Departamento de Computação, Instituto Federal do Ceará (IFCE). Programa de Pós-graduação em Engenharia de Telecomunicações, Instituto Federal do Ceará (IFCE). Emails: alisson.ifce@gmail.com, ajalmar@ifce.edu.br Resumo Redes neurais de alimentação direta com uma única camada oculta podem aproximar qualquer função contínua. O algoritmo de ajuste de pesos mais comumente aplicado a esse tipo de rede é o de retropropagação do erro (error backpropagation), que se baseia no gradiente descendente, mas que possui convergência, em geral, lenta. Apesar de ser viável o ajuste de várias camadas ocultas, a maioria dos problemas do mundo real raramente precisa de mais de uma camada escondida. Este fato motivou o desenvolvimento de técnicas de aprendizado específicas para redes de alimentação direta com uma única camada, tais como as Máquinas de Aprendizado Extremo. Máquina de Aprendizado Extremo é uma técnica com menor custo temporal, mas que muitas vezes precisa de uma grande quantidade de neurônios na camada escondida. Apesar deste baixo custo temporal, para avaliação de um exemplo de teste os neurônios usados na camada oculta devem ser guardados para que seja possível realizar o mesmo mapeamento não-linear antes do processo de avaliação do padrão. Esta necessidade aumenta o custo computacional temporal, bem como em termos de armazenamento. Tal necessidade pode se tornar um fator proibitivo, principalmente em sistemas com escassos recursos computacionais. Neste trabalho propõe-se uma estratégia de poda de neurônios ocultos em redes via Computação Evolucionária, mais especificamente Algoritmos Genéticos. A proposta apresentada neste trabalho aplica técnicas de otimização multi-objetivo com o intuito de minimizar tanto a quantidade de neurônios na camada oculta quanto manter (ou até mesmo) reduzir o erro de classificação gerado pela rede. Palavras-chave, Algoritmos Genéticos, Poda. 1 Introdução Redes neurais com uma única camada oculta e alimentação direta são hoje em dia muito aplicadas a problemas de classificação de padrões e aproximação de funções. O algoritmo mais comumente utilizado para ajustar os pesos de uma rede com essa arquitetura é o de retropropagação do erro error backpropagation, que usa técnicas de otimização com base no gradiente descendente. Essa técnica apresenta sensibilidade a ocorrência de mínimos locais e possui convergência lenta. O algoritmo backpropagation também é utilizado para ajustar redes neurais com diversas camadas ocultas. Apesar de ser viável o ajuste de várias camadas ocultas, a maioria dos problemas do mundo real raramente precisa de mais de uma camada escondida (Carvalho et al., 2). Tal fato tem motivado o desenvolvimento de técnicas de aprendizado específicas para redes de alimentação direta com uma única camada (Single-hidden Layer Feedfoward Networks - SLFNs). Uma dessas técnicas são as Máquinas de Aprendizado Extremo (Extreme Learning Machine - ). Nas redes os pesos da camada escondida são determinados aleatoriamente e possuem função de ativação não-linear, enquanto os pesos da camada de saída são determinados analiticamente. Essa forma de treinamento possui fácil implementação e baixo custo temporal. A ideia básica das redes é que, com um número suficientemente grande de neurônios na camada oculta, ela será capaz de fazer um mapeamento dos dados para uma dimensão elevada em que os padrões possam ser separados por um hiperplano. No tocante aos pesos da camada oculta que são determinados aleatoriamente, não é possível ter segurança sobre quando o mapeamento dos dados de entrada estão dispostos em uma configuração mais fácil de ser aprendida pela camada de saída (A. L. B. P. Barros, 212). Com isso o projetista da rede geralmente opta por aumentar o número de neurônios escondidos para aumentar a dimensão do mapeamento da camada oculta, fazendo com que a rede seja vista por muitos autores como uma aproximação de uma rede com infinitos neurônios na camada intermediária. Este tipo de projeto aumenta significativamente a quantidade de recursos computacionais exigidos para avaliação de padrões. Além disto, nestas redes com muitos neurônios, além de possuírem maior custo espacial, são capazes de gerar superfícies muito complexas, podendo levar a rede a uma instabilidade indesejada (Abu-Mostafa et al., 212). Algumas formas de contornar o problema do excesso de neurônios da camada escondida têm sido estudadas. Dentre eles pode-se citar o trabalho apresentado em (L. D. S. Pacífico, 212) em que se busca determinar uma matriz de pesos para o mapeamento da entrada através de otimização por enxame de partículas. Já no trabalho descrito em (A. L. B. P. Barros, 212) tenta-se determinar os pesos da camada de saída através de estimadores-m (que é diferente do método tradicional dos mínimos quadrados) de tal maneira que mesmo com uma camada escondida não tão grande o comportamento
da rede seja satisfatório. Algoritmos Genéticos (AGs) são normalmente utilizados em cdos em conjunto com diversas abordagens para classificação de padrões com o intuito de otimizar ou ajustar os parâmetros do classificadores. AGs são meta-heurísticas inspiradas na evolução natural, tal como herança, mutação, seleção natural e cruzamento. Estas meta-heurísticas podem ser usadas para gerar soluções úteis em problemas de otimização e busca. Devido às características dos métodos de AG, é mais fácil de resolver alguns tipos de problemas por AGs do que por métodos matemáticos clássicos que partem do pressuposto de linearidade, diferenciabilidade, continuidade ou convexidade da função objetivo. Algoritmos Genéticos são comumente utilizados em problemas de reconhecimento de padrões para o obtenção dos parâmetros de ajuste do classificador (J. P. Silva, 213). Neste artigo propõe-se a utilização de Algoritmos Genéticos para redução da complexidade computacional dos classificadores abtidos através da poda de neurônios da camada escondida de redes do tipo SLFN. Para tal finalidade, além da modelagem de um indivíduo é proposta uma função de aptidão que visa tanto a minimização da quantidade de neurônios da camada oculta quanto a minimização do erro de classificação. A abordagem proposta foi aplicada à problemas classificação de padrões do mundo real obtidas do repositório UCI Machine Learning, a saber: patologias da coluna vertebral, câncer de mama, diabetes e haberman. Com a abordagem proposta, foi possível reduzir consideravelmente o tamanho da camada escondida (em relação a ) e ainda melhorar a acurácia obtida pelos classificadores de padrões. O restante deste trabalho está organizado da seguinte forma: na seção 2 é descrita a rede, na seção 3 é abordada a rede, enquando Algoritmos Genéticos é apresentado na seção 4. Nossa proposta é descrita em mais detalhes na seção. Na seção 6 são apresentadas os resultados obtidos para as diversas simulações computacionais realizadas e, por fim, o artigo é concluído na seção 7. 2 Tipicamente, uma rede neural Perceptron Multicamada (Multilayer Perceptron, ) é constituída de uma camada de entrada que recebe os vetores de atributos, uma ou mais camadas intermediárias, compostas por neurônios somadores com função de ativação não-linear e uma camada de saída, também composta por neurônios somadores (que podem ser lineares ou não) (Haykin, 21). Uma rede típica contém uma camada de entrada de dimensão p, uma ou mais camadas escondidas com q 1, q 2... q l neurônios e uma camada de saída com m neurônios, em que m = 2 para um problema binário. As saídas da rede no instante t, y k (t), k = 1,..., m, são calculadas da seguinte forma: [ q ] y k (t) = ϕ m ki (t)v i (t) θ k (1) i=1 p v i (t) = ϕ w ij (t)x j (t) b i (2) j=1 em que w ij é o peso sináptico ligando a j-ésima entrada ao i-ésimo neurônio da camada escondida, m ki é o peso sináptico que liga o i-ésimo neurônio da camada escondida ao k-ésimo neurônio da camada de saída. Os termos b i e θ k correspondem aos limiares (threshold) de ativação dos neurônios da camada escondida e de saída, respectivamente. A função de ativação ϕ( ) para os neurônios da camada escondida e de saída podem ser definidos com base na função logística: ϕ(u) = 1/(1+exp( u)). Os pesos e os limiares de ativação são ajustados através do algoritmo backpropagation padrão por e épocas, com uma determinada taxa de aprendizagem η. 3 A maior parte dos problemas do mundo real pode ser resolvida com uma rede com apenas uma camada escondida (Carvalho et al., 2). Máquina de Aprendizado Extremo que utilizam apenas uma camada escondida é uma rede neural de alimentação direta com uma única camada oculta proposta em (Huang et al., 26). Para uma rede com p unidades de entrada, q neurônios escondidos e m saídas, a i-ésima saída no passo k, é dado por o i (k) = m T i z(k), (3) em que m i R q, i {1,..., C}, é o vetor de pesos conectando os neurônios escondidos ao i-ésimo neurônio de saída, e z(k) R q é o vetor de saída para os neurônios escondidos ao se apresentar um determinado padrão de entrada a(k) R p. O vetor z(k) é definido como z(k) = [f(w T 1 a(k) + b 1 ),..., f(w T q a(k) + b q )] T, (4) em que b l é o bias do l-ésimo neurônio oculto, w l R p é o vetor de pesos do l-ésimo neurônio escondido e f( ) é a função de ativação sigmoidal. Considere Z = [z(1) z(2) z(n)] como uma matriz q N cuja as N colunas são vetores de saída z(k) R q, k = 1,..., N da camada oculta, em que N é o número de padrões de entrada disponíveis para treinamento. Similarmente, considere D = [d(1) d(2) d(n)] como uma matriz C N cuja a k-ésima coluna é o vetor desejado d(k) R C associado ao padrão de treinamento a(k), k = 1,..., N. Finalmente, considere M = [m 1 m 2 m C ] como uma matriz q C,
cuja i-ésima coluna é o vetor de pesos m i R q, i = 1,..., C. Assim, estas três matrizes estão relacionadas por um mapeamento linear D = M T Z, em que as matrizes D e Z são conhecidas, enquanto a matriz de pesos D é desconhecida. Apesar disto, a matriz de pesos M pode ser facilmente calculada através da pseudo-inverse como segue ( ) M = ZZ T 1 ZD T. () Assumindo que o número de neurônios de saída é igual ao número de classes, o índice da classe i para um novo padrão de entrada é dado pela seguinte regra de decisão: em que o i Eq. (3). i = arg max {o i}, (6) i=1,...,c é calculado como apresentado na 4 Algoritmos Genéticos Algoritmos Genéticos são um método de busca meta-heurístico inspirado na evolução natural, em que são considerados variados conceitos, tais como: herança, mutação, seleção natural e cruzamento. Esta meta-heurística pode ser usada para gerar soluções úteis para otimização e problemas de busca. Devido às características dos métodos de AG, é mais fácil resolver alguns tipos de problemas por AG do que por outros métodos matemáticos que partem do pressuposto da linearidade, diferenciabilidade, continuidade ou convexidade da função objetivo (J. P. Silva, 213). Em Algoritmos Genéticos, uma população de indivíduos candidatos (ou soluções) para um problema de otimização é evoluída em direção a melhores soluções por seleção natural, ou seja, uma função de aptidão. Nesta população, cada indivíduo tem um conjunto de genes (vector gene), denominado cromossoma, que pode ser alterado por mutação ou combinado geração após geração com outro cromossoma para construir novos indivíduos por processos de reprodução que utilizam cruzamento. A forma mais comum de representar soluções é em formato binário, ou seja, cadeias de s e 1s. A primeira população (conjunto de soluções) é gerada de forma aleatória que evolui em ciclos, normalmente chamados de gerações. O valor da função de aptidão para cada indivíduo indica quão boa é a solução. O valor de avaliação é calculado depois da decodificação do cromossomo (indivíduo), e a melhor solução para problema a ser resolvido é, portanto, aquela que possui o maior valor para a função de aptidão. Este valor é usado para guiar o processo de reprodução, em que os indivíduos com alto valor de aptidão têm maior probabilidade de distribuir os seus genes na nova população a ser obtida por meio de um processo reprodução. O método da roleta é a implementação padrão utilizado no processo de seleção natural de Algoritmos Genéticos. Após o processo de seleção, os indivíduos selecionados são usados como entrada para outros operadores genéticos: cruzamento e mutação. O operador de cruzamento combina duas cadeias de cromossomos, normalmente por crossover, enquanto a mutação modifica alguns bits em um único cromossomo. Proposta: Algoritmos Genéticos para redes () é uma nova abordagem que visa utilizar metaheurísticas para reduzir a dimensionalidade da camada escondida e o erro de classificação de redes SLFNs. Esta proposta tem como finalidade permitir a obtenção de classificadores que estejam adequados a trabalhar em plataformas com recursos computacionais escassos, tal como em sistemas embarcados. Neste contexto, uma abordagem multi-objetiva (posteriormente transformada, para fins de uso com AGs, em monoobjetivo) se faz adequada uma vez que se deseja que a capacidade de generalização seja mantida (ou mesmo elevada) ao passo em que também se reduz o número de neurônios da camada oculta de uma rede SLFN. A função de adaptação leva em consideração que os genes que são configurados em um representam os neurônios que devem ser mantidos para compor a camada oculta, enquanto os genes configurados para zero são aqueles podados. Assim, na proposta deste trabalho, cada indivíduo tem tantos neurônios ocultos quantos forem a quantidade de genes com valores iguais a um em um indivíduo. Neste contexto, uma solução candidata c = {c 1, c 2,..., c i,..., c q }, c i {, 1} para uma rede com uma camada escondida Z com q neurônios pode ser vista na Figura 1). Note que a solução candidata possui uma camada escondida com cardinalidade ˆq menor ou igual a cardinalidade da camada escondida original q, sendo que a igualdade só é obtida quando o cromossomo c possui todos os seus elementos com valores iguais a 1. Dada uma certa solução candidata c, precisase encontrar os pesos da camada de saída M(m). Com isso tem-se uma nova rede com N ˆq neurônios na camada oculta e d neurônios na camada de saída. Seja e a taxa de erro de classificação produzida por essa nova rede. A função de adaptação a ser avaliada é dada por adaptacao(c) = α e + (1 α) m n (7) em que c representa o cromossomo (indivíduo) que descreve que neurônios da camada oculta devem permanecer e α é o fator que descreve o quão importante é a redução do erro e, consequentemente, 1 α pode ser considerado o fator de importância
1 1 1 Cromossomo φ φ φ φ Figura 1: Arquitetura geral de classificador proposto. dada ao tamanho da poda. Note que com essa formulação do problema é possível converter o problema original para um problema de otimização mono-objetivo em que se visa apenas a minimização do erro de classificação, quando α = 1..1 GA- A abordagem proposta é resumida a seguir. 1. Iniciar t =, em que t representa a geração. 2. Gerar uma população inicial P (t), i.e., configurar aleatoriamente genes e as matrizes relacionadas {Z i } s i=1, em que s é o número de indivíduos na geração t. 3. Para cada indivíduo i da população P (t) (a) Resolver o sistema apresentado na Eq. (). (b) Avaliar a função de aptidão, i.e., a função apresentada na Eq. (7). 4. Enquanto t t max, em que t max é o número máximo de gerações 6 Simulações Computacionais Nas simulações computacionais realizadas neste trabalho, resultados para o classificador foram comparados com os resultados obtidos dos classificadores e. Inicialmente, o número de neurônios ocultos da rede, para cada base, foi determinado por tentativa e erro a fim de obter uma boa capacidade de generalização. No tocante à rede, foram testados camadas ocultas com quantidades diferentes de neurônios (entre 2 e ), sendo executadas 3 realizações para obter a quantidade mais adequada de neurônios na camada oculta deste classifcador. O número de neurônios da camada oculta escolhido para a rede foi aquele em que se obteve o maior valor para a acurácia, como pode ser visto na Figura 2. O número de neurônios usados para compor a camada oculta do classificador AG- é inicialmente o mesmo definido para a rede, porém com a diferença de que ainda haverá um processo extra de otimização que tem por objetivo utilizar AGs para reduzir a quantidade de neurônios em sua camada oculta. O AG usou seleção estocástica uniforme, cruzamento uniforme e mutação gaussiana Nas simulações realizados, o fator α foi considerado com diferentes valores, contidos na faixa [, 8 ; 1, ]. A Tabela 1 apresenta os resultados obtidos para os classificadores, e quando aplicados as bases de dados: Iris (IRIS), Coluna Vertebral (PCV), Diabets (DIA), Câncer de Mama (BRE) e Haberman (HAB). Para tanto, são apresentados a acurácia, desvio padrão associado à acurácia, número de neurônios na camada oculta (#neurônios), desvio padrão associado à quantidade de neurônios na camada oculta. As figuras 3, 4,, 6, 7 apresentam uma análise comparativa entre os resultados obtidos para os classificadores. e para cada uma das bases de dados avaliadas neste trabalho. Nas figuras podem ser visualizados os resultados obtidos para a acurácia dos classificadores, veja ítem a), e a quantidade de neurônios utilizados na camada oculta da rede SLFN, veja ítem b). (a) Selecione indivíduos da população P (t). (b) Aplicar crossover aos indivíduos selecionados. (c) Aplicar mutação aos indivíduos selecionados. (d) Calcular t = t + 1. (e) Resolver o sistema apresentado na Eq.. (f) Avaliar a função de aptidão, i.e., a função apresentada na Eq. (7).. Selecionar o melhor indivíduo da população. Figura 2: Processo de optimização da rede
Bases IRIS HAB PCV BRE DIA Tabela 1: Resultados Obtidos. α =.8 α =.8 α =.9 α =.9 α = 1 Acurácia 99.67 ± 1.2 99.6 ± 1.1 98.78 ± 2.83 98.89 ± 1.82 98.89 ± 2.2 99.11 ± 1.74 1. ±. 6 2 2 ± 2 ± 2 ± 2 ± 1. ± 2.13 Acurácia 74.92 ±.1 72.13 ± 4.7 72.73 ± 6. 74.21 ± 3.99 72.2 ± 3.77 73.93 ± 4.92 73.28 ± 4.87 6 2 1.3 ± 1.1 3.3 ± 1.3 4.8 ± 2.34 6.26 ± 2.3 9.86 ± 1.61 Acurácia 84.7 ± 3.19 84.68 ± 4. 83.49 ± 3.73 83.82 ± 3.61 82.9 ± 4.7 84.62 ± 4.17 83.44 ± 4.1 12 4 6 ± 1.36 7.7 ± 1.96 9.3 ± 2.72 1.6 ± 2.84 19.7 ± 3.1 Acurácia 96.91 ± 1.7 96.62 ±.96 9.39 ± 1.46 96.9 ± 1.48 9.69 ± 1.78 96.99 ± 1.18 96.89 ± 1.43 6 6 3. ± 1.22 3.76 ± 1.43 3.63 ± 1.3 6.26 ± 2.18 29.33 ± 4.7 Acurácia 77.6 ± 2.14 7.93 ± 2.17 74.62 ± 4.28 74.23 ± 3.99 74.38 ± 3.79 74.31 ± 3.23 76.12 ± 4.31 6 2 3.66 ± 1.42.1 ± 1.21.13 ± 1.4 6.9 ± 1.76 9.8 ± 2.1 8 79 78 77 76 7 74 73 72 2 1 1 71 7 Figura 3: Resultados obtidos para a base de dados Diabetes. 8 79 78 77 76 7 74 73 72 2 1 1 71 7 Figura 4: Resultados obtidos para a base de dados Haberman. 9 89 4 4 88 87 86 8 84 83 82 3 3 2 1 1 81 8 Figura : Resultados obtidos para a base de dados Coluna Vertebral.
98. 1. 99.8 99.6 99.4 99.2 99. 98.8 98.6 98.4 2 1 1 98.2 Figura 6: Resultados para a base de dados Iris. 1 99 7 6 98 97 96 9 94 93 92 91 4 3 2 1 9 Figura 7: Resultados para Cancer de Mama. Ao se analisar os resultados obtidos percebese que os valores de acurácia do classificador obtidos apresentam-se similares (ou até mesmo superiores) aos valores de acurácia obtidos para os demais classificadores. 7 Conclusões Neste trabalho foi proposto um método para poda de classificadores. Para tanto, buscouse tanto a minimização do erro de classificação quanto a poda de neurônios ocultos de redes. Com base nos resultados obtidos, pode-se inferir que a abordagem proposta atinge a expectativa desejada uma vez que reduz consideravelmente o número de neurônios ocultos quando comparados com à rede e ao mesmo tempo mantém a acurácia similar (ou superior) ao da rede. Carvalho, A. C. P., Braga, A. P. and Ludermir, T. B. (2). Redes Neurais Artificiais: Teoria e Aplicações, Livros Tecnicos e Cientificos Editora. Haykin, S. (21). Redes Neurais Artificiais: Princípios e prática, Bookman. Huang, G., Zhu, Q. and Siew, C. (26). Extreme learning machine: Theory and applications. J. P. Silva, A. R. R. (213). Sparse least squares support vector machines via genetic algorithms, BRICS-CCI. L. D. S. Pacífico, T. B. L. (212). Melhorando redes neurais do tipo extreme learning machine através da otimização por enxame de partículas com mecanismo de seleção, ENIA. Referências A. L. B. P. Barros, G. A. B. (212). Extreme learning machine robusta para reconhecimento de faces, ENIA. Abu-Mostafa, Y. S., Magdon-Ismail, M. and Lin, H. (212). Learning From Data, AMLBook.