Você está na página 1de 9

GRADIENTE DAS PARTÍCULAS: UM NOVO ALGORITMO DE TREINAMENTO

UTILIZANDO UMA ABORDAGEM ALTERNATIVA VIA PSO


César Daltoé Berci1 and Celso Pascoli Bottura2
1
UNICAMP, CAMPINAS, BRASIL, cesardaltoe@hotmail.com
2
UNICAMP, CAMPINAS, BRASIL, cpbottura@fee.unicamp.br

Resumo pal, e mesmo perdendo milhares destas unidades, a rede


pode continuar em operação sem perder nenhuma de
A utilização de algoritmos baseados em meta-heurísticas
suas funcionalidades.
no treinamento de redes neurais artificiais é um tema já con-
hecido e bastante difundido. Muitos trabalhos já foram e vem
• Flexibilidade. Estamos sujeitos a grandes variações am-
sendo realizados abrangendo o referido tema, tendo muitos
bientais e comportamentais, porém, jamais é preciso re-
destes alcançado bons resultados. No entanto, apesar dos es-
programar o cérebro, que devido a sua flexibilidade as-
forços daqueles que se dedicam a esses estudos, não se pode
simila novos cenários de operação e se adapta a eles.
afirmar que, de forma genérica, existam métodos de treina-
mento meta-heurísticos que apresentem uma eficiência com • Possibilidade de trabalhar com informações nebulosas,
relação a taxa de convergência comparável a métodos pro- ruidosas, probabilísticas e inconsistentes. Apesar de ser
cedurais, principalmente quando o gradiente do erro é bem possível implementar métodos procedurais para tratar a
definido. Tendo em vista esse cenário, o presente documento grande parte dessas informações, esta sem dúvida não
propõe uma solução inovadora não antes utilizada, a apli- é uma tarefa trivial, e exige um grande conhecimento e
cação do método de otimização por enxame de partículas na habilidade daquele que se aventura por esse caminho. A
obtenção do vetor gradiente, e não na otimização dos pe- computação biológica, por outro lado, tem a capacidade
sos da rede como é usual. Essa abordagem leva a resulta- intrínseca de tratar essa tipo de informação.
dos claramente superiores em taxa de convergência do treina-
mento, sendo comparável com os métodos procedurais mais • Paralelismo. A implementação de redes neurais artifi-
rápidos conhecidos atualmente. ciais em computadores digitais obviamente leva à perda
Keywords: Otimização por Enxame de Partículas, Redes dessa propriedade, porém, em uma máquina ideal que
Neurais Artificiais, Otimização Não Linear melhor represente um sistema de processamento bi-
ológico, a informação é processada simultaneamente
1. INTRODUÇÃO em todos os neurônios, o que proporciona um par-
Redes neurais artificiais representam um paradigma com- alelismo intrínseco a esse tipo de sistema, conferindo-
putacional originalmente inspirado no que se conhece a re- lhe uma grande eficiência, mesmo suas unidades fun-
speito do modo de funcionamento do cérebro humano e de damentais sendo mais lentas que as de um computador
outros animais. Esta inspiração visa emular uma série de digital, essencialmente seqüencial.
propriedades observadas no processamento biológico da in-
formação realizado no cérebro, muito atrativas do ponto de Existem ainda inúmeros métodos computacionais bio-
vista computacional por apresentarem soluções rápidas para inspirados, que tentam emular diversas características pre-
problemas bastante complexos de serem tratados através de sentes em sistemas naturais, dentre estes métodos pode-
métodos mais convencionais. Dentre as principais caracterís- se citar os algoritmos genéticos e a otimização por enx-
ticas do processamento biológico computacionalmente rele- ame de partículas, doravante referida apenas por PSO (Par-
vantes, as seguintes podem ser mencionadas [10]: ticle Swarm Optimization), ambos métodos voltados para
otimização de funções continuas, apresentando grande efi-
• Robustez e tolerância a falhas. O cérebro humano ciência e sendo uma alternativa bastante vantajosa na busca
possui um número muito elevado de neurônios ampla- de pontos de otimalidade de funções não lineares, as quais
mente interconectados, formando uma complexa rede geralmente representam um grande desafio para métodos
de processamento onde o neurônio é unidade princi- procedurais de otimização.
O método PSO foi inspirado no movimento de cardumes posição a qual a partícula i já visitou, tendo nesta obtido o
de peixes e de revoadas de pássaros. Esses animais interagem menor valor para f (xi ). Analogamente, pg será a posição já
entre si com a finalidade de manter um determinado padrão visitada por alguma partícula j da população, tendo esta reg-
e encontrar um objetivo que pode ser um local seguro para istrado o menor valor f (xj ) dentre todas as outras partículas
o grupo, desviar de predadores, ou simplesmente encontrar do enxame. O valor de pg , ou seja, argumento que leva ao
alimento, enfim, esses animais se unem em prol da autop- menor valor registrado para f (x), será então o resultado do
reservação do grupo, extraindo recursos da coletividade. processo iterativo, considerado assim como mínimo local de
As interações entre esses animais podem ser descritas f (x).
de forma bastante simples para cada animal do grupo, que Dessa forma, o método PSO baseia o movimento das
não apresenta um grau muito elevado de inteligência. Dessa partículas nesses dois termos pi e pg e também na própria
forma, pode-se afirmar que o comportamento complexo do inércia da partícula. Esses valores influenciam então nas car-
grupo emerge da coletividade e não da capacidade de cada acterísticas comportamentais dos indivíduos do grupo.
animal isoladamente. O termo pi − xi da equação (1) é conhecido como termo
Inspirado nos estudos de Heppner e Grenander [11], e cognitivo, e como o nome sugere, determina o comporta-
Reynolds [17], Kennedy e Eberhart apresentaram o artigo mento das partículas com relação as suas próprias experien-
original do método PSO em seu artigo: Particle Swarm Op- cias passadas.
timization [12]. Nele os autores descrevem um população O comportamento social das partículas é dado pela ex-
não de animais, mas de partículas, que são representadas por pressão: pg − xi , equação (1), conhecido por termo social,
pontos do espaço euclidiano Rn . Essas partículas descritas pois determina a porção do movimento da partícula associ-
por Kennedy e Eberhart tem liberdade para se mover por este ado a experiência adquirida pelo grupo, levando em consid-
espaço, e o fazem de forma estocástica, porém, preservando eração todas as partículas que o compõem.
um comportamento coletivo. O movimento de cada partícula A junção destes dois termos provê um método de grande
é governado por regras simples, preservando a premissa de capacidade exploratória e boa taxa de convergência, o que
que cada individuo do grupo não apresenta inteligência rele- não é constatado quando se utiliza apenas um desses termos
vante quando comparada a inteligência da coletividade. Es- [6, 12], exceto em algumas situações particulares, onde são
sas regras de movimentação, por sua vez, são baseadas em obtidos bons resultados apenas com a utilização do termo
uma função de custo, a qual se deseja otimizar segundo al- social sem o termo cognitivo. Porém, em uma análise mais
gum parâmetro. abrangente essas abordagem é em geral inferior a utilização
A principio, Kennedy e Eberhart propuseram as regras conjunta dos termos social e cognitivo.
de movimentação para cada partícula do grupo, ou enxame, Esse movimento estocástico de partículas pelo espaço
dadas pelas equações 1 e 2. Rn , torna o PSO um método de otimização não linear bas-
tante eficiente e de alta aplicabilidade, sendo utilizado em
várias áreas, onde pode-se incluir a otimização dos parâmet-
vi (t + 1) = vi (t) + c1 α1 (pi − xi (t)) + ros de uma rede neural artificial, objetivo do presente tra-
+c2 α2 (pg − xi (t)) (1) balho. O processo de otimização desses parâmetros é tam-
xi (t + 1) = xi (t) + v(t + 1) (2) bém conhecido por treinamento ou aprendizagem da rede,
por possibilitar à rede a assimilação de um padrão determi-
onde vi (t) é a velocidade da i-ésima partícula na iteração nado relacionando suas entradas e saídas, através do ajuste
t, e xi (t) é a posição desta partícula. O escalar pi é a melhor dos pesos de suas ligações sinápticas e polarizações dos
posição registrada pela partícula i, e pg é a melhor posição neurônios.
já registrada dentre todas as partículas, em toda a história da Esse treinamento da rede é usualmente implementado
população. através de métodos iterativos de otimização, visto que uma
As constantes c1 e c2 são chamadas de coeficientes de solução analítica do problema é impossível de ser calculada.
aceleração e regulam o quanto as partículas irão acelerar em Esses métodos iterativos baseiam-se em sua maioria no ve-
direção a pi e a pg , servindo como uma ponderação entre tor gradiente do erro da rede, calculado através do algoritmo
fazer com que cada partícula privilegie sua própria experiên- backpropagation [18, 19]. Dentre os métodos mais eficientes
cia ou a experiência do grupo. utilizados no treinamento de redes neurais artificiais den-
Os escalares α1 e α2 são ambos escolhidos aleatoria- tro do escopo deste documento, podem ser mencionados os
mente para cada partícula a cada iteração do processo de seguintes: os métodos quasi-Newton BFGS [1], e os métodos
otimização. Esses valores aleatórios são responsáveis por in- de direções conjugadas Scaled Conjugate Gradient [14, 15]
serir a estocasticidade ao movimento das partículas, o que au- e Fletcher Reeves [1].
menta consideravelmente a capacidade exploratória do enx- Um meio alternativo de realizar a otimização dos
ame, favorecendo o processo de otimização. parâmetros da rede é a utilização de métodos meta-
A qualidade de uma dada solução encontrada por uma heurísticos, como o PSO. Existem diversas propostas que uti-
dada partícula da população é representada pelo valor da lizam esses métodos diretamente na otimização dos parâmet-
função de custo f (x) quando é utilizado como argumento ros da rede [16, 20, 21]. Quando se utilizando o método
a posição da partícula: xi . Dessa forma, quando se deseja PSO com esta formulação, as partículas terão seu movi-
minimizar a função de custo f (x), a melhor posição indi- mento baseado na superfície de erro formada pelo quadrado
vidual de cada partícula, previamente chamada de pi , será a
da diferença entre a resposta da rede, e a resposta que dela é !
desejada. Existem ainda métodos de treinamento que tentam X
além de otimizar os pesos e polarizações da rede, parâmet- e= (Hi (x) − Fi (x, θ))2 /no (4)
i
ros topológicos desta [7, 9], visando encontrar uma rede que
melhor se adeqúe as características dos dados. onde H é o mapeamento o qual deseja-se que a rede assim-
Apesar do método PSO representar uma ferramenta de ile, e no é o número de neurônios que a rede possui em sua
otimização com grande poder computacional, esta não apre- camada de saída.
senta a mesma eficiência alcançada por métodos procedurais O funcional definido na equação 4, daqui por diante
de otimização, que são usualmente mais rápidos com relação referido apenas como erro da rede, gera uma hiper-superfície
à taxa de convergência. no espaço euclidiano RN , onde N é a dimensão do vetor de
Tendo em vista esse cenário, o presente documento ao in- parâmetros, ou seja, a soma no número de polarizações mais
vés de propor a aplicação do método PSO na otimização dos o número de pesos sinápticos existentes na rede neural.
parâmetros da rede (sejam eles apenas pesos e polarizações Posto isto, o processo de treinamento ou aprendizado da
ou topológicos), o que previamente sabe-se que não provê rede neural, visa mover iterativamente o vetor de parâmet-
resultados de grande relevância, propõem-se aqui uma abor- ros θ por essa hiper-superfície, até encontrar um mínimo lo-
dagem nova do problema, onde um vetor de descida ótimo cal dessa, caracterizando um processo de minimização, neste
é encontrado via PSO, e passos unitários são dados na di- caso continua e não linear.
reção deste vetor. Esta proposta se beneficia da união entre a
grande capacidade exploratória do método PSO, e a eficiên- 3. O MÉTODO GRADIENTE DAS PARTÍCULAS
cia dos métodos de decida do gradiente, alcançando assim re-
Existem alguns trabalhos que tentam aplicar métodos
sultados consideravelmente superiores em termos de taxa de
meta-heurísticos diretamente na otimização do erro da rede,
convergência, quando comparados àqueles obtidos pela apli-
na maioria dos casos utilizando algoritmos genéticos. Este
cação convencional do PSO no treinamento de redes neurais.
processo, em geral, é computacionalmente oneroso1 devido
ao grande número de cálculos da equação 4 envolvidos no
2. TREINAMENTO DE REDES NEURAIS ARTIFICI-
processo, e além deste alto custo essa abordagem não apre-
AIS
senta uma taxa de convergência significativa. Dessa forma,
Redes neurais artificiais são dispositivos computacionais torna-se necessária uma abordagem alternativa, a fim de au-
que apresentam capacidade de aproximação universal, po- mentar a eficiência desse tipo de método quando aplicado ao
dendo assim assimilar qualquer mapeamento continuo exis- treinamento de redes neurais.
tente entre o subespaço formado pelas entradas e pelas saí- A abordagem apresentada neste documento, é conceitual-
das da rede. Para tanto, a rede neural utiliza-se de uma se- mente inspirada no trabalho de Chalmers The Evolution
rie de neurônios interconectados que propagam o sinal desde of Learning: An Experiment in Genetic Connectionism[8],
sua entrada até sua saída, que pode ser matematicamente ex- onde o autor tenta ao invés de evoluir o vetor de parâmet-
pressa pela equação 3: ros, evoluir o treinamento da rede em si. Da mesma forma,
objetivou-se aqui encontrar uma forma de atuar no pro-
cesso de treinamento, porém, não diretamente no ajuste dos
y = F(x, θ) (3) parâmetros da rede, o que seria mais intuitivo e convencional.
onde θ é o vetor de parâmetros da rede neural, onde são em- O algoritmo PG: Gradiente das Partículas, é o resul-
pilhados os valores das polarizações dos neurônios e pesos tado de um exaustivo estudo do processo de treinamento e
sinápticos. análise das relações funcionais entre as grandezas de inter-
Em geral, não é possível a priori determinar um vetor de esse, levando em conta as dimensionalidades dos espaços en-
parâmetros θ de forma tal que a rede represente corretamente volvidos e as características conhecidas a priori a respeito do
qualquer mapeamento y = H(x). Sendo assim, dado um de- problema.
terminado mapeamento, o qual deseja-se que a rede assimile, Esses estudos convergiram para um método onde a busca
torna-se necessário treinar a rede para representa-lo correta- cega é aplicada em um espaço de dimensão igual a do ve-
mente, o que consiste basicamente em encontrar um vetor de tor de parâmetros, o espaço dos gradientes do funcional da
parâmetros que seja adequado para o problema. equação 4. Porém, essa escolha traz uma grande vantagem
O processo de aprendizado da rede é em geral realizado com relação a função de custo, ou a hiper-superfície por
de forma iterativa, onde de forma incremental o erro da rede onde serão movidas as partículas. Essa escolha provê uma
vai sendo reduzido a cada iteração, levando a rede a se adap- condição muito particular para o método PSO, que é ampla-
tar gradativamente ao mapeamento desejado. Para tornar mente explorada neste documento.
viável esse processo, é fundamental definir um funcional que Quanto aplica-se um método de busca cega na otimização
represente o erro cometido pela rede ao estimar a resposta a de um dado funcional, a eficiência do processo de otimização
uma dada entrada, sendo que este funcional será então uti- pode ser consideravelmente ampliada, se o método for ini-
lizado como função de custo no processo de otimização dos cializado próximo a vizinhança de um ponto de otimalidade
parâmetros. Uma possível escolha para representar o erro 1 Neste documento, entende-se por custo computacional a quantidade de
da rede, utilizada neste documente e amplamente aceita na operações elementares, soma e multiplicação, envolvidas em um dado pro-
literatura pertinente ao assunto, é dada na equação 4: cesso.
que represente uma boa solução para o problema. Porém, não A seguir é descrito o algoritmo PG proposto neste docu-
são conhecidos a priori os pontos de otimalidade da função, mento.
tampouco suas vizinhanças. Determinar: np , ni , nmax ;
O mesmo acontece no treinamento de redes neurais, não Inicializar: θ;
se sabe qual o formato da hiper-superfície formada pelo erro for i=1 to nmax do
da rede, assim, pouco pode-se fazer para aumentar a eficiên- Calcular grad0 via Backpropagation, ou
cia do algoritmo de treinamento. Por outro lado, sabe-se simplesmente utilizar grad0 = 0;
que um passo muito pequeno em uma direção de descida é Encontrar uma direção de descida:
uma boa solução para uma iteração de qualquer método de g = P SO(np , ni , grad0 ) ;
otimização de ordem 1. Assim sendo, um pseudo-gradiente Passo unitário: θi+1 = θi + g
que atenda esse requisito pode estar certamente na vizin- end
hança da origem. Algorithm 1: Gradiente das Partículas
Essa informação é o ponto chave do método aqui pro-
posto. Partiu-se de um cenário onde nada se conhecia a re-
speito da solução, para outro onde ao menos temos um bom 4. EXEMPLOS E COMPARAÇÕES
ponto de partida. Essa abordagem confere ao método PSO Com a intensão de determinar a eficiência relativa do
um ganho considerável em eficiência, conferindo ao algo- método proposto, quando comparado com outros métodos
ritmo PG uma taxa de convergência consideravelmente maior de treinamento de redes neurais, foram formulados alguns
que a de outros métodos meta-heurísticos dentro deste con- exemplos de aplicação de redes neurais, a fim de avaliar o
texto. processo de treinamento da rede.
3.1. Codificação A fim de formar uma base consistente de comparação, são
considerados neste documento, dois métodos quasi-Newton,
O método PSO, aqui utilizado, consiste em uma popu- dois métodos de direções conjugadas e um método de de-
lação de np partículas, com um codificação real como de- scida do gradiente, todos descritos a seguir:
scrito a seguir:
• GRAD: Gradiente Ótimo [13]: Método de descida do
• Posição da Partícula: Vetor contendo valores reais per- gradiente com convergência superlinear.
tencente ao espaço RN , representando uma direção de
• DFP: Davidon Fletcher Powell [13]: Método quasi-
descida para o erro da rede.
Newton com convergência quadrática.
• Adaptação: e(x, θ − p)) onde p é a posição da partícula. • BFGS:Broyden Fletcher Goldfarb Shanno [1]: Método
• Modulação de Velocidade: Método utilizado para con- quasi-Newton com convergência quadrática e maior ro-
trolar a velocidade das partículas conferindo um ganho bustez ao mal condicionamento dos dados quando com-
considerável em convergência ao PSO, com uma boa parado ao método DFP.
preservação da diversidade [3]. • FR: Fletcher Reeves [1]: Método de direções conju-
gadas com convergência n-passos quadrática.
3.2. O Algoritmo PG
• SCG: Scaled Conjugated Gradient[15]: Método
Neste algoritmo utiliza-se um método de descida do gra- de direções conjugadas com convergência n-passos
diente, onde passos são dados na direção de um pseudo- quadrática, porém, não utiliza cálculos de buscas unidi-
gradiente calculado com base no método PSO. mensionais, o que o torna computacionalmente menos
A cada iteração do algoritmo, dado um vetor de parâmet- oneroso, sendo atualmente considerado o método mais
ros θi , uma nova população de partículas é criada em torno rápido para o treinamento de redes neurais.
da origem do espaço RN , e então inicia-se o método PSO
por ni iterações, o qual retorna uma direção de descida gi O processo de busca unidimensional utilizado neste docu-
sub-ótima, que minimiza o erro com relação ao parâmetro mento é o método da sessão áurea, aplicado por 30 iterações
θi + gi . Feito isso, é calculado um novo vetor de parâmetros sobre o intervalo inicial.
θi+i = θi + gi , através de um passo unitário na direção gi . A seguir são definidos os problemas aqui propostos para
Esse processo é repetido até que um critério de parada tenha as comparações em questão.
sido atendido.
4.1. Corrente Em Motores de Indução
É possível ainda, inserir na população inicial um vetor
gradiente calculado via Backpropagation. Isso irá propor- Teoricamente a corrente de um motor de indução trifásico
cionar em muitos casos uma condição inicial ainda melhor ao pode ser facilmente calculada com base em sua tensão e
método PSO, podendo aumentar a taxa de convergência do potência, como mostra a equação (5).
algoritmo. Porém, esse não é um requisito para aplicação do
método, que pode ser utilizado mesmo quando não se pode P
I=√ (5)
calcular o gradiente do erro, como é o caso em [4], onde não 3V η
se tem referência direta da saída desejada da rede para re- onde P e V representam a potência e tensão do motor
alizar a retropropagação do erro. respectivamente.
A variável η da equação (5) leva em conta vários fatores • 80 iterações por época.
construtivos do motor, bem como fatores de operação como
a sua condição de carga. Dessa forma, claramente não se • modulação de velocidade.
dispõe de meios para determinar com precisão esta variável,
Devido as características estocásticas de ambos os méto-
e conseqüentemente, não é possível o calculo exato da sua
dos em teste, torna-se necessário o uso de ferramental estatís-
corrente.
tico na análise dos resultados obtidos, afim de criar uma base
O problema em questão propõe a utilização de uma rede
sólida de comparação. Dessa forma, optou-se neste trabalho
neural para estimar o valor dessa corrente, com base na
por realizar uma série de 20 repetições do processo de treina-
potência, tensão e rotação do motor, através de uma rede
mento da rede, e então analisar os resultados médios obtidos
MLP com 3 neurônios em sua camada sensorial e 1 neurônio
dessas repetições, que são mostrados na Figura 1:
em sua camada de saída.
O conjunto de treinamento utilizado na assimilação desse
mapeamento, consiste em 300 amostras obtidas diretamente
de catálogos de fabricantes, que por sua vês baseiam-se em
ensaios práticos para obtenção desses valores. As amostras
utilizadas incluem motores que encontram-se nas seguintes
faixas de valores:

• Potência: 0.1 a 330 KW.

• Rotação: 600,900,1200,1800 e 3600 rpm.

• Tensão: 220, 380 e 440 V.

• Corrente: 0.3 a 580 A.

Em uma primeira análise, consideremos um algoritmo de


Figura 1 – Valores médios obtidos para o erro médio quadrático
treinamento onde o método PSO é aplicado diretamente na da rede.
otimização do erro da rede com relação ao vetor de parâmet-
ros.
Esse algoritmo utiliza exatamente a mesma meta- Os gráficos mostrados na Figura 1 apresentam os val-
heurística que o algoritmo proposto, tendo ainda, a mesma ores médios obtidos para os erros da rede em cada época
implementação computacional desta, aplicado a um prob- do processo de treinamento, sendo que para o método PSO
lema de mesma dimensão. Dessa forma, ambos os méto- são plotados ainda valores intermediários pois foram real-
dos de treinamento em comparação diferem apenas na izadas 400 iterações, enquanto o método PG realizou ape-
abordagem do problema, movendo as partículas por hiper- nas 5 épocas, porém, com 80 iterações por época, o que lhe
superfícies diferentes. confere o mesmo número total de iterações do algoritmo de
As configurações de ambos os métodos e da rede neural busca.
são descritas a seguir: Fica claro no gráfico em questão a superioridade do
Rede Neural: método proposto em comparação ao método PSO, e, como
ambos utilizam exatamente a mesma meta-heurística com a
• Topologia: 3 neurônios na camada sensorial, 9 mesma implementação e mesmos parâmetros, torna-se evi-
neurônios na camada intermediária e 1 neurônio na ca- dente que a abordagem adotada neste trabalho cria um facil-
mada de saída. itador ao processo de otimização dos parâmetros da rede, o
qual pode então ser explorado de forma bem mais eficiente.
• Saída é uma combinação linear dos sinais da camada
A taxa de convergência do processo de treinamento, ape-
anterior.
sar de sua melhoria ser o objetivo deste trabalho, não é o
• Função de ativação do tipo tangente hiperbólica. único fator relevante na análise de métodos meta-heurísticos
como o PSO. Durante a convergência do algoritmo é natu-
PSO ral ocorrer uma redução da diversidade da população, o que
entre outros, possibilita um ajuste fino da solução.
• 136 partículas.
Essa queda de diversidade, porém, drena a capacidade ex-
• 400 iterações. ploratória da população, o que em alguns casos pode levar
a uma convergência prematura do algoritmo para um sub-
• modulação de velocidade [3, 5]. ótimo insatisfatório, o que torna a análise dessa diversidade
um fator relevante ao presente estudo.
PG Existem várias possíveis formas de medir a diversidade de
• 136 partículas. uma população do método PSO, uma delas que foi adotada
neste documento é associar a diversidade com a variância dos
• 5 épocas. valores obtidos para a função de custo quando calculada com
base na posição de cada partícula. Utilizando essa métrica de Visando agora comparar a eficiência do método proposto
diversidade da população, foram calculadas as diversidades quando comparado com os métodos procedurais previamente
em cada uma das repetições anteriormente citadas, e os re- citados, foram realizados vários treinamentos de uma rede
sultados médios a cada iteração são mostrados no gráfico da neural contendo três neurônios na camada intermediária,
Figura 2: para o problema em questão. Os resultados desses treina-
mentos podem ser verificados nos gráficos das Figuras 3 e
4:

Figura 2 – Valores médios para a diversidade da população.

Novamente fica evidente a superioridade do método pro-


posto quando comparado a aplicação direta do método PSO
na otimização do erro da rede com relação a seus parâmetros.
Figura 3 – Erro médio quadrático: PG, SCG, FR
Esse resultado superior em preservação da diversidade, pode
ser associado ao fato de que a cada época é criada uma nova
população, retornando a sua diversidade a um estado inicial
onde esta apresenta um valor máximo.
Uma análise conjunta das Figuras 1 e 2 provê um com-
pleto e consistente entendimento dos mecanismos de busca
cega utilizados na comparação em questão para realizar o
treinamento da rede. O método proposto apresenta uma alta
preservação da diversidade da população, o que provê às
partículas mobilidade suficiente para alcançar soluções cada
vez melhores, mesmo estando a população muito próxima a
um ótimo local. Por outro lado, o método PSO drena continu-
amente a diversidade da população, até o ponto onde torna-se
muito difícil para as partículas se locomoverem, e por conse-
quencia, aprimorarem a solução previamente encontrada.
Desta conclusão nasce uma dúvida quanto a re-
inicialização da população, pois afirmou-se que esta garante
ao método proposto uma maior preservação da diversidade,
logo, o mesmo processo poderia levar o método PSO a atin-
gir os mesmo resultados que o método PG? A principio essa Figura 4 – Erro médio quadrático: PG, BFGS, DFP, GRAD
alternativa pode parecer razoável, porém, é evidente que um
aumento na diversidade da população no método PSO leva
a uma drástica redução da taxa de convergência, o que não Novamente, devido as características estocásticas do
acontece com o método proposto, pois, a cada época é cri- método proposto, os resultados mostrados nas Figuras 3 e
ada uma nova população, submetida a uma nova função de 4 representam os valores médios obtidos para um total de 20
custo. Alguns outros testes foram realizados, aqui omitidos, repetições do processo de treinamento.
no sentido de criar novas populações no método PSO durante É evidente nos gráficos apresentados a superioridade do
o processo de treinamento, que apresentaram resultados bas- método proposto com relação a taxa de convergência, quando
tante insatisfatórios, como já era previsto. comparado com os métodos procedurais aqui examinados.
Dessa forma, fica evidente que o ganho em eficiência al- Porém, essa superioridade é alcançada ao custo de uma alta
cançado pelo método proposto reside na abordagem adotada complexidade computacional. Esse elevado custo computa-
para o problema, que confere uma condição bastante partic- cional apresentado pelo método proposto, é bastante sig-
ular para população de partículas, facilitando o processo de nificativo e torna o método lento, quando implementado
busca. utilizando tecnologias contemporâneas, baseadas em com-
putação digital. Por outro lado, o método PG, apresenta uma A Figura 5 mostra o resultado obtido para o erro médio
conceituação bem adaptada à computação paralela, o que o quadrático da rede ao final do processo de treinamento em
tornaria várias ordens de grandeza mais rápido que os méto- cada uma das 5 repetições análisadas:
dos de treinamento procedurais quando implementados em
uma máquina intrinsecamente paralela.
Ainda com respeito à computação digital, em [15] o autor
prova a superioridade do método SCG, com relação a taxa
de convergência × custo computacional (tempo de proces-
samento). Este resultado é uma conseqüência clara do fato
do SCG não necessitar de buscas unidimensionais, que são
processos computacionalmente bastante onerosos.
Em um estudo realizado pelo autor, este concluí que o
custo computacional total do algoritmo SCG é dado por:
O(2N 2 ) por época, enquanto que para os outros métodos
procedurais aqui analisados este custo é de O((M + 1)N 2 )
por época, onde M é o número de iterações do processo de
busca unidimensional.
O método proposto, por sua vez, apresenta um custo com-
putacional de O(ni np N 2 ) por época, que pode se tornar ex-
cessivamente alto dependendo da escolha de ni e np . No en-
tanto, a alta taxa de convergência alcançada, pode compensar
o alto custo computacional, tornando o método competitivo
com relação aos métodos procedurais.
A fim de analisar esta possibilidade, consideremos que a
função O(·) é linear com respeito ao seus parâmetros 2 , então Figura 5 – Comparação entre os métodos PG e SCG
podem ser escritas as seguintes relações:

CtSCG = CtP G
nSCG
e O(N 2 ) = nP G 2
e O(ni np N )
Na figura 5 pode-se notar claramente que, apesar do
nSCG
e O(N 2 ) = nP G 2
e ni np O(N ) método proposto apresentar um custo computacional bas-
nSCG
e = nP G
e ni np tante elevado, sua eficiência com relação a taxa de con-
nSCG
e
vergência rivaliza essa característica do método SCG, mesmo
nP
e
G
= quando implementado em uma maquina digital, essencial-
ni np
(6) mente seqüencial.
Assim, comprova-se que o método proposto, é com-
Dessa forma, quando escolhido um numero de épocas parável com os métodos mais eficientes para o treinamento
para o algoritmo SGC igual à nSCG ne =P G ni np , conclui- de redes neurais, encontrados atualmente na literatura refer-
e
se que ambos os métodos, PG e SCG, irão apresentar custos ente ao assunto.
computacionais semelhantes, o que permite uma comparação 4.2. Ajuste de Curva
direta entre os resultados apresentados por estes.
Uma comparação entre o método proposto e o método Neste exemplo de aplicação é utilizado um conjunto de
SCG, que é considerado atualmente o mais eficiente no teste contendo 100 pares de amostras de entrada-saída de
treinamento de redes neurais, é realizada com base no prob- uma função quadrática escalar dada por: y = x2 , com
lema de estimação da corrente de motores de indução, uti- 0 ≤ x ≤ 1, sendo adicionado a esta um ruído de amplitude
lizando os parâmetros abaixo descritos: 10−4 e distribuição retangular.
A escolha dessa função deve-se a sua simplicidade,
• Número de épocas: SCG: nSCG
e = 3200, PG: nP
e
G
=4 necessária para testar o comportamento do algoritmo pro-
posto quando utilizado na assimilação de um mapeamento
• Iterações por época: ni = 60 relativamente bem comportado do ponto de vista numérico.
Para este problema, foram realizados vários processos de
• Número de partículas: np = 30
treinamento, para várias redes neurais com topologias difer-
• Número de repetições do processo de treinamento da entes, utilizando o método proposto e os métodos previa-
rede: nr = 5 mente descritos, novamente, analisando o método PG através
2A
dos valores médios obtidos de 20 repetições do processo de
função O(·) esta relacionada a implementação dos métodos em uma
treinamento. Os vários resultados obtidos para o erro médio
máquina digital, sendo assim, a hipótese de linearidade desta, é suficiente
para a realização de uma análise abrangente como a que é proposta neste quadrático da rede após treinada são mostrados nas Tabelas
documento, atendendo perfeitamente ao objetivo aqui almejado. 1 e 2:
Tabela 1 – Resultados: PG × SCG × FR Outra característica de métodos meta-heurísticos de busca
cega, é a probabilidade de encontrar um ótimo global, ou ao
Arquitetura PG SCG FR
menos um ótimo local melhor, que é superior aquela apre-
1-3-1 0.00016 0.00066 0.00030
1-6-1 0.00019 0.00069 0.00031
sentada por métodos procedurais de otimização, os quais irão
1-9-1 0.00018 0.00078 0.00033 geralmente convergir para o minimo local mais próximo de
1-18-1 0.00020 0.00082 0.00035 onde foram inicializados.
1-6-6-1 0.00024 0.01065 0.01395 O alto custo computacional, característicos de méto-
1-12-12-1 0.00018 0.01135 0.01735 dos meta-heurísticos como o PSO, também é apresentado
1-6-12-6-1 0.00017 0.00667 0.05779 pelo algoritmo proposto, que quando implementado em uma
1-12-18-12-1 0.00014 0.01764 0.06142 máquina seqüencial torna-se um método consideravelmente
oneroso. Porém, sua alta eficiência compensa o custo com-
putacional em várias situações, além do fato de que o método
permite uma implementação paralela, o que em uma máquina
Tabela 2 – Resultados: BFGS × DFP × GRAD hipotética representaria um método muito mais eficiente que
Arquitetura BFGS DPF GRAD métodos procedurais, intrinsecamente seqüenciais.
1-3-1 0.00032 0.00079 0.01012 Dessa forma, conclui-se aqui que o método Gradiente das
1-6-1 0.00037 0.00529 0.01197 Partículas. proposto neste documento, representa uma alter-
1-9-1 0.00039 0.00617 0.01207 nativa viável para implementação do treinamento de redes
1-18-1 0.00045 0.00657 0.01287 neurais tipo MLP, de forma bastante eficiente, e sendo prefer-
1-6-6-1 0.01161 0.00959 0.01342 ível a outros algoritmos quando não se tem disponível infor-
1-12-12-1 0.00943 0.00993 0.01377 mação suficiente para construir o vetor gradiente do erro da
1-6-12-6-1 0.00070 0.01060 0.01398 rede.
1-12-18-12-1 0.00420 0.01254 0.01485
Referências
Os resultados descritos nas Tabelas 1 e 2, mostram que [1] R. Battiti and F. Masulli. Bfgs optimization for faster
novamente o método proposto apresentou ótimos resultados, and automated supervised learning. INNC 90 Paris,
sendo este ainda bastante robusto com relação a variações International Neural Network Conference,, pages 757–
topológicas da rede, apresentando resultados similares em 760, 1990.
praticamente todos os cenários avaliados para o problema em
questão. [2] César Daltoé Berci. Observadores Inteligentes
de Estado: Propostas. Tese de Mestrado,
5. CONCLUSÃO LCSI/FEEC/UNICAMP, Campinas, Brasil, 2008.

O método de treinamento proposto neste documento rep- [3] César Daltoé Berci and Celso Pascoli Bottura. Mod-
resenta uma nova abordagem para aplicação de métodos ulação de velocidade em otimização por enxame de
meta-heurísticos, em especial o método PSO, no treinamento partículas. Proceedings of 7th Brazilian Conference on
de redes neurais artificiais tipo MLP. Dynamics, Control and Applications. Presidente Pru-
As aplicações desses métodos de busca cega na otimiza- dente, Brasil, 7:241–248, 2008.
ção dos parâmetros de redes neurais, não geravam até en- [4] César Daltoé Berci and Celso Pascoli Bottura. Ob-
tão resultados competitivos com aqueles obtidos por méto- servador inteligente adaptativo neural não baseado em
dos de otimização procedurais de ordens 1 e 2, com relação modelo para sistemas não lineares. Proceedings of 7th
a taxa de convergência do treinamento. Esta limitação foi Brazilian Conference on Dynamics, Control and Appli-
superada pelo método proposto PG, que tem uma eficiência cations. Presidente Prudente, Brasil, 7:209–215, 2008.
comparável com os métodos mais rápidos conhecidos atual-
mente, preservando, por outro lado, características intrínse- [5] César Daltoé Berci and Celso Pascoli Bottura. Speed
cas de métodos meta-heurísticos de busca cega, como a tol- modulation: A new approach to improve pso perfor-
erância a ruídos e a não necessidade do cálculo do vetor gra- mance. Accepted Article: IEEE Swarm Intelligence
diente. Symposium 2008, Sheraton Westport at St. Louis, Mis-
Dentre essas características encontra-se uma das princi- souri, 2008.
pais vantagens do método proposto, a possibilidade de treinar [6] F. den van Bergh. An Analysis of Particle Swarm Op-
a rede mesmo quando não se pode calcular o gradiente do timization. PhD thesis, Departament of Computer Sci-
erro desta. Isto torna o método PG passível de ser aplicado ence, University of Pretoria, 2002.
a um número maior de problemas, dentre os quais pode-se
citar: [2, 4], onde uma rede neural é utilizada na estimação [7] Jürgen Branke. Evolutionary algorithms for neural net-
de componentes desconhecidos do vetor de estado de um sis- work design and training. In 1st Nordic Workshop on
tema dinâmico, não sendo possível conhecer as saídas de- Genetic Algorithms and its Applications, 1995. Vaasa,
sejadas da rede para criar um conjunto de treinamento, po- Finland, January 1995.
dendo apenas ser avaliada a qualidade da solução apresen- [8] D.J. Chalmers. The evolution of learning: An ex-
tada perante um dado critério.
periment in genetic connectionism. Proceedings of
the 1990 Connectionist Summer School, pages 81–90,
1990.
[9] A. Fiszelew, P. Britos, A. Ochoa, H. Merlino, E. Fer-
nández, and R. García-Martínez. Finding optimal neu-
ral network architecture using genetic algorithms. Soft-
ware & Knowledge Engineering Center. Buenos Aires
Institute of Technology. Intelligent Systems Laboratory.
School of Engineering. University of Buenos Aires.,
2004.
[10] C. Fyfe. Artificial Neural Networks. Department of
Computing and Information Systems, The University
of Paisley, Edition 1.1, 1996.
[11] F. Heppner and U. Grenander. A Stochastic Nonlinear
Model For Coordinate Bird Flocks. AAAS Publica-
tions, Washington, DC, 1990.
[12] J. Kennedy and R.C Eberhart. Particle swarm optimiza-
tion. Proceedings of IEEE Int. Conf. on Neural Net-
work, Piscataway, NJ:1942–1948, 1995.
[13] D.G. Luenberger. Linear and Nonlinear Programming.
Addison-Wesley, 2nd edition, 1984.
[14] M.F. Møller. Learning by conjugate gradients. The
6th International Meeting of Young Computer Scien-
tists, 1990.
[15] M.F. Møller. A scaled conjugate gradient algorithm
for fast supervised learning. Computer Science Depart-
ment, University of Aarhus Denmark, 6:525–533, 1990.
[16] D. Montana and L. Davis. Training feedforward neu-
ral networks using genetic algorithms. Proceedings of
the International Joint Conference on Artificial Intelli-
gence, pages 762–767, 1989.
[17] C.W. Reynolds. Flocks, herds, and schools: A
distributed behavior model. Computer Graphics,
21(4):25–34, 1987.
[18] D. E. Rumelhart, R. Durbin, R. Golden, and Y. Chau-
vin. Backpropagation: The basic theory. Lawrence
Erlbaum Associates, Inc., 1995.
[19] D. E. Rumelhart, G. E. Hinton, and R. J. Williams.
Learning internal representations by error propagation,
in: Parallel distributed processing: Exploration in the
microstructure of cognition. Eds. D.E. Rumelhart, J.L.
McClelland, MIT Press, Cambridge, MA., pages 318–
362, 1986.
[20] Udo Seiffert. Multiple layer perceptron training using
genetic algorithms. ESANN’2001 proceedings - Euro-
pean Symposium on Artificial Neural Networks, pages
159–164, 2001.
[21] Zhi-Hua Zhou, Jian-Xin Wu, Yuan Jiang, and Shi-Fu
Chen. Genetic algorithm based selective neural net-
work ensemble. Proceedings of the 17th International
Joint Conference on Artificial Intelligence., 2:797–802,
2001.