Documente Academic
Documente Profesional
Documente Cultură
1. Introduo
Redes Neurais Artificiais (RNA) so frequentemente utilizadas para detectar tendncias
que so complexas para serem percebidas pelos seres humanos. RNAs so
especialmente usadas para encontrar solues genricas para problemas onde um padro
de classificao precisa ser extrado. RNAs oferecem maneiras diferentes de resolver
muitos problemas no-lineares que so difceis de serem resolvidos por meio de tcnicas
convencionais. Muitos algoritmos so aplicados para a minimizao e melhoria da
aprendizagem da RNA. Esses algoritmos podem ser classificados como de minimizao
local e minimizao global. Algoritmos de minimizao local, tal qual o mtodo
gradiente descendente, so rpidos, mas convergem para mnimos locais. Por outro
lado, os algoritmos de minimizao global usam estratgias heursticas para escapar dos
mnimos locais [Shang e Benjamin, 1996].
Algoritmos evolutivos [Luke, 2011] podem ajudar a evitar o problema de
convergncia para mnimos locais e explorar tcnicas de minimizao global no
treinamento de RNAs, alguns algoritmos evolutivos: differential evolution (DE) [Ilonen
et al, 2003], [Slowik e Bialko, 2008]; por particle swarm optimization (PSO) [Kennedy
e Eberhart, 1995 ]; ant colony optimization (ACO) [Blum e Socha, 2005]; e artificial
bee colony (ABC) [Karaboga et al, 2007].
Independente do algoritmo usado para treinar RNAs, ateno voltada para a
inicializao e ajuste de pesos fundamental para a convergncia e para evitar
overfitting, problema que geralmente acontece em padres de treinamento [Shang e
Benjamin, 1996]. Algoritmos de aprendizagem so utilizados para ajustar os valores de
peso [Slowik e Bialko, 2008], backpropagation (BP) o mais popular [Ooyen e
Nienhuis, 1992]. BP, com base no mtodo gradiente descendente, eficiente para
treinar RNAs. No entanto, este algoritmo sensvel a mnimos locais e requer ajustes no
coeficiente de aprendizagem.
Como alternativa, os algoritmos evolutivos podem ser aplicados na pesquisa de
pesos de uma rede Feedforward (FF) para escapar de mnimos locais [Ilonen et al,
2003], [Slowik, 2011]. Quanto aos algoritmos evolutivos, o uso do algoritmo
differential evolution (DE) foi motivado pela possibilidade de verificar e validar
algumas caractersticas inerentes a esse tipo de algoritmo.
Este artigo descreve e compara os resultados obtidos no treinamento de RNAs
com diferentes algoritmos, conjuntos de dados e parmetros. Para apoiar esta
experincia, dois algoritmos em quatro diferentes abordagens foram utilizados: (a)
backpropagation, (b) DE com parmetros fixos, (c) DE com parmetros ajustados e (d)
uma alternativa hbrida usando ambos os algoritmos.
Este artigo est organizado da seguinte forma: na Seo II encontra-se uma
breve apresentao da rede neural feedforward (FF) e do multilayer perceptron (MLP);
na Seo III, o algoritmo de differential evolution (DE) e seu pseudocdigo so
explicados; a Seo V expem alguns trabalhos relacionados; a Seo IV descreve o
algoritmo Backpropagation no processo de treinamento de RNAs; na Seo VI,
descrito o experimento e os resultados obtidos; na Seo VII, encontra-se a concluso
com trabalhos futuros.
= ,
(1)
(1)
,
(2)
(2)
"
()
=
()
!
(3)
(3)
3. Algoritmo Differential
ntial Evolution (DE)
Desenvolvido em 1997 por Kenneth Price e Rainer Storm [Storn
Storn and Price, 1997],
1997 o
algoritmo differential evolution (DE) tem sido aplicado com sucesso para resolver
problemas complexos em engenharia,
engenharia alcanando solues
es muito prximas de
d timos.
Initialize Parameters
F mutation rate
CR crossover rate
P {} (Empty population of length popsize)
Q {} (Empty population of length popsize)
for i from 1 to popsize do
Pi new random individual
Best {}
repeat
for each individual Pi P do
AssessFitness(Pi)
if Q {} and Fitness(Qi) < Fitness(Pi) then
Pi Qi
if Best={} or Fitness(Pi) < Fitness(Best) then
Best Pi
Q P
for each individual Qi Q do
a Copy (Qrand1) (Qrand1 Qi)
b Copy (Qrand2) (Qrand2 Qi,a)
c Copy (Qrand3) (Qrand3 Qi,a,b)
d a + F (b c)
Pi one child from Crossover(d,Copy(Qi))(CR)
until Best is the ideal solution or timeout
return Best
4. Backpropagation (BP)
Proposto em 1986 por Rumelhart, Hinton e Willian, o mtodo backpropagation
[Rumelhart at al., 1986] e um procedimento de aprendizagem para redes feedforward
(FF) de mltiplas camadas (MLP). Basicamente o procedimento de aprendizagem
utiliza vetores que mapeiam um conjunto de entradas para um conjunto de sadas.
O aprendizado realizado por ajuste iterativo dos pesos da rede para minimizar
as diferenas entre a sada atual e a sada desejada. A rede inicializada com pesos
aleatrios. Durante o processo de aprendizagem, um vetor de entrada apresentado para
a rede e propagado para determinar os valores da sada. A seguir, o vetor de sada
produzido pela rede comparado com o vetor de sada desejado, resultando num sinal
de erro, que retropropagado atravs da rede para permitir o ajuste dos pesos. Este
processo repetido at que a rede responda, para cada vetor de entrada, com um vetor
de sada com valores suficientemente prximos dos valores desejados [Ooyen and
Nienhuis, 1992], [Rumelhart at al., 1986]. Neste processo, a sada geralmente
produzida por uma funo sigmoide.
BP um mtodo baseado no gradiente descendente, o que significa que este
algoritmo no garante encontrar um mnimo global e pode estagnar em solues de
mnimos locais, onde ficaria preso indefinidamente. Contudo, BP muito popular e
amplamente utilizado no treinamento de RNAs.
5. Trabalhos Relacionados
O uso de algoritmos evolutivos tem se destacado na soluo de problemas que exige a
otimizao do espao de busca global na soluo de diversos tipos de problemas. Esses
algoritmos tambm tm sido utilizados para o treinamento de RNAs, como por
exemplo, o algoritmo DE. Em 2003, Ihonen, Kamarainen e Lampinen [Ihonen at al.,
2003] constataram em seus experimentos que as caractersticas do DE facilitam o
treinamento de redes neurais artificiais, principalmente pelo fato da convergncia da
soluo ser mais rpida e por flexibilizar a manuteno dos parmetros de ajustes.
Slowik e Bialko [Slowik e Bialko, 2008] aplicaram o DE no treinamento de rede
neural FF para a classificao do problema Parity p. Os resultados obtidos foram
comparados com os resultados do algoritmo BP e com os resultados de mais duas
abordagens: mtodo EA-NNT [Slowik e Bialko, 2007] e o algoritmo LM LevenMarquardt [Marquardt, 1963]. Contudo, nessa comparao o DE mostrou-se uma boa
alternativa, principalmente para a classificao de dados. Na tentativa de incrementar o
uso do DE no treinamento de RNAs FF, Slowik [Slowik, 2011] combinou a seleo de
parmetros adaptativos com a tcnica de mltiplos vetores e comparou os resultados
obtidos com os resultados de trs abordagens: BP, EA-NNT e LM, os resultados do DE
foram satisfatrios, mas o consumo de memria foi muito alto em relao as demais
abordagens.
6. Descrio do Experimento
Neste experimento, cinco bases de dados foram utilizadas para o treinamento de MLPs,
com o objetivo de comparar os resultados obtidos a partir de diferentes abordagens de
treinamento: backpropagation (BP), duas variaes do algoritmo DE, e tambm uma
combinao hbrida de tais algoritmos foram utilizados.
Nmero de Instncias
Treinamento Validao Teste
347
176
176
256
256
256
128
43
43
134
68
68
74
38
38
Neste experimento algumas configuraes foram usadas por padro. Para todas
as abordagens, as MLPs foram inicializadas com pesos aleatrios entre [-1, +1]. Uma
camada oculta com tamanho diferente foi definida para cada banco de dados. Nas bases
de dados cancer e heart foram usadas MLPs com 5 ns na camada intermediria. Nas
demais bases foram usadas MLPs com 10 ns na camada intermediria. Neurnios das
camadas intermediria e de sada foram conectadas a um bias com valor 1. As ligaes
entre o bias e os neurnios da camada subsequente tambm foram inicializadas com
valores aleatrios entre [-1, +1].
6.2. Abordagens de treinamento das MLPs
Cada base de dados foi usada no processo de treinamento de uma populao de MLPs.
Dois tamanhos de populao diferentes foram utilizados (50 e 200), e para cada
tamanho de populao, MLPs foram treinadas para comparar quatro diferentes
abordagens, usando os algoritmos BP e DE:
foi adicionada (linhas 12a e 12b) cada vez que um filho Pi substitui seu
respectivo pai Qi na populao. Backpropagation executa o mximo de dez
ciclos de refinamento, finalizando antes disso se houver qualquer melhoria no
fitness de Pi em comparao com o fitness original de Pi gerado pelo crossover
do DE.
8:
9:
10:
11:
12:
12a:
12b:
13:
14:
15:
16:
cada gerao tem para o melhor fitness parcial. Slowik [Slowik, 2011] sugere que A
seja calculado como a razo entre o melhor fitness da gerao atual (i) e melhor fitness
da gerao anterior (i-1), e depois calcular um novo F e CR baseado em A e um nmero
aleatrio escolhido entre 0 e 1. Os novos valores calculados de F e CR so ento
aplicados para todos os elementos do MLP da populao na prxima gerao.
%=
&'()(
&'()(
' = % +,)-.
/0 = % +,)-.
(4)
(5)
(6)
Teste dos melhores MLPs: os melhores MLPs (best) foram testados para medir
a capacidade de generalizar a soluo, e utilizados com os conjuntos de dados de
teste selecionados de cada base de dados. Para demonstrar os resultados obtidos,
alguns conceitos utilizados para calcular a pontuao de cada MLP: a) Taxa de
Confiana: as respostas obtidas a partir dos ns da camada de sada do MLP so
dadas por nmeros reais entre 0 e 1; a taxa de confiana determina o grau de
confiana de que os valores de sada do MLP devem ter para serem considerados
como respostas vlidas para uma classificao positiva; na Tabela 2, a taxa
confiana utilizada foi de 70%, o que significa que apenas respostas maior ou
igual a 0,7 foram considerados; b) Taxa de Cobertura: quando valores de sada
do MLP so inferiores taxa de confiana, tais exemplos possuem respostas que
no cobrem a confiana desejada; a taxa de cobertura indica o percentual de
instncias em que as respostas so superiores taxa de confiana em relao ao
total de instncias consideradas no teste e c) Score: mesmo quando a MLP gera
uma resposta que corresponda taxa de confiana, no necessariamente significa
que esta resposta correta; o Score mede o nmero de respostas certas dadas
pelo MLP comparando as respostas desejadas registradas na base de dados,
considerando somente os casos que correspondem taxa de confiana.
6.5. Resultados
Como o BP no exatamente um algoritmo evolutivo, foi usado um grupo de MLPs
independentes e selecionado o melhor MLP a partir deste grupo aps o treinamento ter
sido finalizado. O nmero de MLPs treinados com BP foi o mesmo que o tamanho da
populao usada para o DE. O mximo de 500 ciclos para o BP e 500 geraes para o
DE foram definidas como limite do processo de treinamento. Contudo, sempre que 200
ciclos ou geraes eram executados sequencialmente sem melhoria no best MLP, o
processo era tambm finalizado.
De acordo com o uso de CPU, a Tabela 2 mostra que o BP mais rpido que o
DE para todas as bases de dados utilizadas.
Tabela 2. Uso de CPU
Uso de CPU (minutos)
Algoritmo
Algoritmo
Cancer Diabetes Glass Heart Iris
BP
33
41
36
34
25
BP
53
76
65
59
26
DE fixed
56
216
131
97
40
DE fixed
184
343
196
185
82
DE adaptive
81
174
168
78
151
DE adaptive
236
365
139
293
36
58
47
38
64
35
DE + BP
174
165
116
187
37
DE + BP
(a) Populao = 50
Algoritmo
Desvio Padro
Glass
Heart
Iris
Glass
Heart
Iris
BP
36
35
13
3,52
2,59
1,14
DE + BP
55
76
17
3,35
2,09
1,14
Fitness de Treinamento
Cancer Diabetes Glass Heart
Iris
BP
0,003
0,110
0,057 0,018 0,015
DE fixed
0,047
0,169
0,370 0,091 0,140
DE adaptive 0,022
0,166
0,372 0,097 0,100
DE + BP
0,021
0,141
0,176 0,032 0,013
(b) Fitness de Treinamento para Populao = 200
Fitness de Validao
Cancer Diabetes Glass Heart
Iris
BP
0,024
0,194
0,246 0,094 0,018
DE fixed
0,024
0,204
0,403 0,116 0,117
DE adaptive 0,022
0,177
0,319 0,114 0,034
DE + BP
0,025
0,262 0,106 0,021
0,174
(c) Fitness de Validao para Populao = 50
Fitness de Validao
Cancer Diabetes Glass Heart
Iris
BP
0,021
0,194
0,213 0,094 0,018
DE fixed
0,052
0,195
0,366 0,116 0,126
DE adaptive 0,019
0,181
0,371 0,125 0,093
DE + BP
0,023
0,253 0,095 0,017
0,176
(d) Fitness de Validao para Populao = 200
Algoritmo
Algoritmo
Algoritmo
Algoritmo
Algoritmo
BP
DE fixed
DE adaptive
DE + BP
Cancer
Score
Cover
95,9
99,4
93,1
100
95,2
97,1
97,6
98,2
Diabetes
Glass
Score
Cover
Score
Cover
81,3
81,6
70,2
86,0
84,6
43,3
50,0
4,6
89,8
57,8
100
16,2
86,1
62,1
77,2
51,1
(a) Populao = 50
Heart
Score
Cover
80,3
97,0
67,1
100
83,3
97,0
84,1
92,6
Score
94,7
96,5
94,5
94,7
Iris
Cover
100
76,3
97,3
100
Cancer
Score
Cover
96,5
98,8
94,1
97,7
94,7
97,7
98,2
95,4
Diabetes
Glass
Score
Cover
Score
Cover
81,3
81,6
81,2
74,4
83,2
53,5
42,8
16,2
88,8
52,7
75,0
18,6
85,8
69,1
62,8
81,4
(b) Populao = 200
Heart
Score
Cover
80,3
97,0
79,7
100
82,3
100
83,0
95,5
Score
94,7
100
100
94,7
Iris
Cover
100
50,0
81,5
100
Score
71,4
82,5
94,74
BP
Cover
72,0
92,6
100
DE+BP
Score Cover
71,3
65,5
82,2
83,6
94,75
99,2
7. Concluses
Com base nos resultados apresentados nas Tabelas 2-6, pode-se observar que a
execuo do treinamento com o algoritmo BP consome menos tempo de CPU que o
algoritmo DE. Isso faz sentido uma vez que o algoritmo DE necessita criar um maior
nmero de instncias MLPs para realizar a combinao linear. Considerando os fitness
de treinamento e de validao, apesar da aparente vantagem apresentada pelo algoritmo
BP em relao ao algoritmo DE, testes estatsticos mostraram que ambos os algoritmos
so equivalentes ao medir Scores, ainda que o BP seja melhor para cobrir a confiana
desejada nos testes. O algoritmo DE prov a vantagem de pesquisa global e pode
tambm ser combinado com outros algoritmos em solues hbridas para obter melhores
resultados. Apesar disso, neste experimento o algoritmo BP ainda mostrou-se mais
eficiente para cobrir os casos usados no teste com base no parmetro de confiana
considerado. Para futuros trabalhos, sugerimos que outras variaes hbridas sejam
testadas para combinar algoritmos de busca global e local e ajustar os parmetros
utilizados na tentativa de encontrar solues mais eficientes para a classificao desses
dados e de outros dados.
Referncias
Blum C. and Socha K. (2005) Training feed-forward neural networks with ant colony
optimization: An application to pattern classification, HIS`05, Fifth Intern. Confer.
on Hybrid Intelligent Systems, IEEE Computer Society Washington, USA, pp., 233238.
Frank, A. and Assuncion, A. (2010) UCI Machine Learning Repository
http://archive.ics.uci.edu/ml, Irvine, CA: University of California, School of
Information and Computer Science.
Haykin S. S. (2001) Redes neurais: princpios e prtica, 2.ed. Porto Alegre, RS
Bookman.