• Nenhum resultado encontrado

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.

Documentos relacionados