SUMÁRIO 1 Introdução
2. FUNDAMENTAÇÃO TEÓRICA
3.2. IMPLEMENTAÇÃO DA REDE ART
3.2.1. Algoritmo de treinamento da rede ART
O processo de aprendizado de uma rede neural se dá através de um algoritmo capaz de se ajustar, processar padrões e ajustar a iteratividade dos pesos, a fim de atingir o objetivo proposto. O algoritmo de treinamento da rede ART2 deste trabalho foi implementado segundo os passos apresentados a seguir, começando pela inicialização dos parâmetros:
a= 10, peso fixo entre as unidades U e W;
b= 10, peso fixo entre as unidades Q e V;
a e b, ambos recebem um valor empírico de 10 obtido por (CARPENTER; GROSSBERG, 1987a), que, por meio de experimentos, notaram que este valor gera estabilidade à rede.
c= 0,1, peso fixo utilizado para o teste do reset, valor obtido de forma empírica;
d= 0,9, ativação do vencedor da unidade F2. A fim de evitar a ocorrência de um reajuste durante um ciclo de aprendizagem, o valor escolhido, segundo (FAUSETT, 1994b), deve ser próximo a um, obtendo assim maior eficácia para o parâmetro de vigilância;
56
e= 0,000001, parâmetro empregado para evitar a divisão por zero quando a norma de um vetor de dados de entrada é nula. A indicação para a melhor escolha do valor é um número positivo.
n= 512, número de unidades da camada F1.
Após os primeiros parâmetros serem definidos, o algoritmo faz a leitura dos conjuntos de sinais e seleciona o conjunto a ser utilizado. No caso, estamos falando do Treinamento.
No treinamento da rede ART2 foram determinados 512 neurônios, distribuídos na camada F1 e reset. O número máximo de clusters a serem formados na camada F2 foi determinado por m.
Para este treinamento foi necessária apenas uma iteração, por se tratar de aprendizagem lenta.
Os principais parâmetros da rede foram variados a fim de verificar o comportamento da rede ART2 na identificação dos padrões apresentados. O algoritmo de treinamento foi automatizado, funcionando da seguinte maneira: o parâmetro m foi fixado em um primeiro valor escolhido, o treinamento foi iniciado e os principais parâmetros variaram dentro dos valores atribuídos a ele. Depois que todas as possibilidades passaram pelo treinamento, um novo valor de m foi fixado e todo o procedimento citado ocorreu novamente.
Os parâmetros apresentados abaixo interferem no treinamento da rede ART2. Valores foram atribuídos a eles com o intuito de explorar a viabilidade da rede.
m= 4, 8, 12, 16 e 20, número máximo de clusters a serem formados na camada F2. São apresentadas à rede quatro classes de padrões e, por similaridade, a rede neural ART2 agrega-os em clusters. Caso não encontre semelhante, cria outro cluster. É importante limitar a criação destes, pois, a cada detalhe mínimo, a rede criará, sem controle, novos clusters. Os valores foram escolhidos e definidos a fim de verificar a influência do número de clusters no resultado final.
ρ= 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9 e 1, parâmetro de vigilância. Determina quantos clusters serão formados. A literatura indica 0<ρ<1. Para este treinamento, empregamos estes valores citados acima.
α= 0.1, 0.3, 0.7, 0.9, taxa de aprendizagem. Seu valor indica o grau que os novos padrões terão na atualização de seus
57
pesos no próximo ciclo de treinamento. A determinação dos números atende ao critério 0<α<1 e os valores foram definidos de modo a possibilitar o treinamento lento e rápido da rede.
θ= -0.0007, √𝑛1 (0,004), 0.7, supressão de ruído. Os componentes dos vetores de entrada apresentados à rede que tiverem valores abaixo de um valor determinado são postos a zero (FAUSETT, 1994b). Os segmentos de sinais utilizados neste treinamento possuem valores negativos. O primeiro valor de supressão de ruído foi escolhido devido a esta condição. O segundo e o terceiro são valores de amostra e exemplos sugeridos pela literatura (CARPENTER; GROSSBERG, 1987a; FAUSETT, 1994b).
N_epc= 5, 20, 50, 100, número de épocas.
Os principais parâmetros tiveram valores definidos que foram combinados diversas vezes até esgotar as combinações possíveis.
Figura 12 – Variações dos principais parâmetros rede ART2
Parâmetros Variações Total
Número máximo de clusters (m) 4, 8, 12,16 e 20 5 Supressão de ruído (θ) -0,0007; 0,0442 (1 √𝑛⁄ ) e 0,7 3 Parâmetro de vigilância (ρ) 0,1 ≤ ρ ≥ 1,0 10
Taxa de aprendizagem (α) 0,1; 0,3; 0,7 e 0,9 5 Número de épocas (N_epc) 5, 20, 50 e 100 4
Combinações de todos os parâmetros: 3.000 Fonte: Próprio autor.
Após a determinação dos principais parâmetros, iniciou-se o treinamento, executando os próximos passos tantas vezes quantas foram definidos em N_epc para cada vetor de entrada.
As variáveis p,q,u,v,x e w representam neurônios em processamento. Estas mesmas variáveis com letra maiúsculas simbolizam os neurônios normalizados.
58
As unidades U, W, X, V, P, Q da camada F1 e y da camada F2 são inicializadas com matrizes de zero, assim como os pesos top-down. Os pesos bottom-up são inicializados conforme a fórmula:
𝑏𝑗(0) ≤ 1
(1 − 𝑑)√𝑛 (6)
As unidades da camada F1 sofrem uma atualização das ativações conforme as equações: 𝑢 = 0 (7) 𝑤 = 𝑠𝑖; (8) 𝑝 = 0; (9) 𝑥 = 𝑠𝑖 𝑒 + ||𝑠|| (10) 𝑣 = 𝑓(𝑥) (11) 𝑞 = 0 (12)
Novamente devem ser atualizadas de acordo com as equações:
𝑢 = 𝑣
𝑒 + ||𝑣|| (13)
𝑤 = 𝑠𝑖 + 𝑎. 𝑢 (14)
𝑝 = 𝑢 (15)
59
𝑞 =𝑒 + ||𝑝||𝑝 (17)
𝑣 = 𝑓(𝑥) + 𝑏. 𝑓(𝑞) (18)
Após as atualizações, os sinais das unidades da camada F2 devem ser calculados segundo a equação:
𝑦 = ∑ 𝑏𝑗. 𝑝 (19)
A próxima etapa é a verificação do reset de acordo com o parâmetro de vigilância; se o valor de comparação for menor ou igual a ρ, reset é verdadeiro e inicia-se a busca pela unidade Y vencedora, ou seja, a unidade com o maior sinal da camada F2. Nova verificação do reset é feita conforme as equações:
𝑢 = 𝑣
𝑒 + ||𝑣|| (13)
𝑝 = 𝑢 + 𝑑. 𝑡𝑗 (20)
𝑟 = 𝑢 + 𝑐. 𝑝
𝑒 + ||𝑢|| + 𝑐. ||𝑝|| (21) Se o reset for verdadeiro, repetir a busca pelo y da camada F2 com maior sinal e uma nova verificação do reset. No caso de falso, executar a atualização dos pesos da unidade vencedora da camada F2 de acordo com o número determinado de iterações, neste caso, um.
𝑡𝑗 =∝. 𝑑. 𝑢 + [1+∝. 𝑑(𝑑 − 1)]. 𝑡𝑗 (22)
𝑏𝑗 =∝. 𝑑. 𝑢 + [1+∝. 𝑑(𝑑 − 1)]. 𝑏𝑗 (23)
Uma nova atualização das unidades da camada F1 deve ser realizada:
𝑢 = 𝑣
60 𝑤 = 𝑠𝑖 + 𝑎. 𝑢 (14) 𝑝 = 𝑢 + 𝑑. 𝑡𝑗 (20) 𝑥 = 𝑤 𝑒 + ||𝑤|| (16) 𝑞 = 𝑝 𝑒 + ||𝑝|| (17) 𝑣 = 𝑓(𝑥) + 𝑏. 𝑓(𝑞) (18)
No final de cada treinamento, as redes que, por alguma discrepância nas variações dos parâmetros, não conseguiram realizar por completo o treinamento ou entraram em um loop na verificação do reset, tiveram seus dados armazenados em planilhas da Microsoft Excel®. Redes que concluíram o treinamento também foram armazenadas em planilhas, com informações sobre o tempo de treinamento, parâmetros utilizados e o nome.
O algoritmo completo do treinamento da rede ART2 está no APÊNDICE A.