• Nenhum resultado encontrado

6 Módulo III Contexto

6.2.1 Modelos ART1 e ART

Nos modelos ART1 e ART2, os padrões de entrada podem ser apresentados em qualquer ordem e, cada vez que um padrão é apresentado, um nodo é escolhido para agrupá-lo e os pesos associados ao nodo são ajustados para permitir a aprendizagem do padrão. Os pesos associados a um nodo podem ser considerados como um protótipo ou exemplo típico (exemplar) para os padrões armazenados naquele agrupamento.

Nas redes ART, o parâmetro de vigilância, ρ, permite controlar o grau de similaridade entre os padrões associados a um mesmo grupo. Durante o treinamento, um mesmo padrão pode ser apresentado diversas vezes, podendo ser colocado em grupos diferentes. Isto ocorre quando, entre uma apresentação e outra do mesmo padrão, os pesos dos nodos foram modificados devido à apresentação de outros padrões.

A rede é considerada estável quando cada padrão é sempre agrupado em um mesmo nodo. Uma rede é plástica quando é capaz de aprender com igual intensidade um novo padrão apresen- tado em qualquer fase do treinamento, seja no início ou após diversas épocas de treinamento.

sem perder a plasticidade, as redes ART têm a característica de que o controle sobre os processos da rede é realizado por nodos especializados, que decidem quando um padrão de entrada deve ser agrupado no nodo vencedor ou em uma nova unidade.

Camada F1

Camada F2

B T Reset Intra F1 bf(qi) Controle do Reset f(xi) aui normalização normalização normalização cpi si Ri Y1 Yj Ym Ui Wi Vi Pi Qi Xi

Figura 6.2 Estrutura básica do ART2.

Os modelos ART1 e ART2 são compostos por três grupos de nodos: a camada F1, ou camada de entrada, a camada F2 ou camada de agrupamento e os nodos de controle (Figura6.2). Um conjunto de nodos na camada F1 é responsável por receber e processar os dados de entrada, si, reduzindo a quantidade de ruído. Outro conjunto de nodos na camada F1 é responsável por fazer a interface com a camada F2.

Para controlar as semelhanças entre os padrões agrupados em um mesmo nodo há duas matrizes de pesos entre as camadas F1 e F2: B e T . A matriz B, ou matriz bottom-up, armazena os pesos das conexões que partem de cada unidade i, em F1, para a cada unidade j, em F2, (elementos bi j). A matriz T ou matriz top-down armazena os pesos das conexões que partem de

cada unidade j em F2 para cada unidade i em F1 (elementos ti j).

A camada F2 é uma camada competitiva, ou seja, o nodo que obtiver o maior valor de saída se torna candidato a aprender o padrão de entrada apresentado e as demais unidades têm sua saída inibida para zero. Caso o grau de similaridade entre o padrão de entrada e vetor de pesos de T conectado à unidade vencedora seja suficientemente alto, então a unidade vencedora será treinada com o padrão de entrada, e vetor de pesos de T , conectado à unidade vencedora, será atualizado.

Esta decisão é tomada pela unidade de reset, a qual implementa um mecanismo de controle que recebe e compara os sinais de entrada e de saída na camada F1, estabelecendo o grau de similaridade entre ambos e comparando-o com o valor do parâmetro de vigilância, ρ. Se o grau de similaridade estiver abaixo de ρ, então esta unidade não poderá aprender e sua saída é inibida para as demais tentativas, o que força a procura de um novo candidato.

Entre as ações tomadas, quando todas as unidades candidatas forem recusadas e inibidas estão: (a) adicionar mais unidades de agrupamento em F2 para agrupar o novo padrão, (b) reduzir o valor do parâmetro de vigilância e (c) classificar o padrão em uma classe especial que contém todos os padrões não corretamente classificados (ou padrões rejeitados).

A principal diferença entre as redes ART1 e ART2 é que enquanto a primeira foi feita para trabalhar com entradas binárias, a segunda foi pensada para trabalhar com valores reais. Neste caso, é necessário tomar medidas para reduzir ruído. Isto é realizado em ART2 introduzindo-se passos de normalização dos dados de entrada e de supressão de ruído.

Na rede ART2, para lidar com valores contínuos, a matriz T armazena valores reais e a camada F1 contém seis tipos de unidades: W , X , U , V , P e Q (Figura6.2). Cada uma destas unidades é composta por um vetor de n dimensões, onde n é a dimensão do vetor de entrada.

As unidades W recebem os vetores de entrada e as unidades X armazenam uma versão normalizada dos vetores de entrada. As unidades U armazenam um protótipo do padrão de entrada a ser comparado com os protótipos, entretanto é necessário um pré-processamento para fazer distinção entre ruídos e vetores em que todos os valores de entrada são baixos. As unidades P fazem o papel de interface entre as camadas F1 e F2, ou seja, armazenam o valor procurado em F2 e o candidato mais semelhante tendo as unidades Q que armazena uma versão normalizada de P. As unidades V armazenam uma composição ponderada entre as versões normalizadas e com supressão de ruídos do último padrão de entrada e do último candidato encontrado. A função de ativação f (x), aplicada sobre X e Q é responsável por suprimir os ruídos, ou seja, torna a saída nula em toda unidade cuja ativação seja menor que um limiar previamente definido por θ :

Algoritmo 6.1: Treinamento da rede ART2.

1 Inicialize: a, b, c, d, e, α, θ , ρ, nbrE pochs, nbrIterations, q e n; 2 para nbrE pochs faça

3 para cada padrão de entrada s faça 4 Inicialize as ativações na camada F1:

5 ui= 0; wi= si; pi= 0; qi= 0; xi= si/(e + ||s||); vi= f (xi); 6 Atualize as ativações nas unidades F1 novamente:

7 ui= vi/(e + ||v||); wi= si+ aui; pi= ui,

xi= wi/(e + ||w||); qi= pi/(e + ||p||); vi= f (xi) + b f (qi); 8 Propague os sinais para as unidades em F2:

9 yj= ∑i(bi, jpi);

10 reset= true;

11 enquanto não houver reset faça

12 Encontre a unidade yJem F2 com a maior ativação: 13 yJ= max[yj]; 1 ≤ j ≤ q;

14 se yJ= −1 então

15 J= uma unidade ainda não utilizada;

16 reset= f alse;

17 fim

18 Verificar se houve reset:

19 se reset então

20 ui= vi/(e + ||v||); pi= ui+ dtJ,i; pci+n= tJ,i+n; 21 ri= (ui+ cpi)/(e + ||u|| + c||p||);

22 se ||r|| < (ρ − e) então

23 reset= true; yJ= −1;

24 senão

25 reset= f alse; wi= si+ au; xi= wi/(e + ||w||); 26 qi= pi/(e + ||p||); vi= f (xi) + b f (qi);

27 fim

28 senão

29 para nbrIterations faça

30 Atualize a unidade vencedora, J:

31 tJi= αdui+ [1 + αd(d − 1)]tJ,i;

32 biJ= αdui+ [1 + αd(d − 1)]bi,J;

33 Normalize os vetores atualizados:

34 tJ,i= tJ,i/||tJ||; 35 bi,J= bi,J/||bJ||;

36 Atualize a ativação das unidades em F1:

37 ui= vi/(e + ||v||); wi= si+ aui; pi= ui + dtJi; 38 xi= wi/(e + ||w||); qi= pi/(e + ||p||); vi= f (xi) + b f (qi); 39 fim 40 fim 41 fim 42 fim 43 fim

f(x) =    x if x ≥ θ 0 if x < θ

As unidades de reset, Risão responsáveis por verificar se o agrupamento encontrado em F2

é suficientemente semelhante ao padrão apresentado, s. O Alg. 6.1apresenta o procedimento completo de treinamento do ART2. Neste algoritmo, as variáveis pi, qi, ri, si, ui, vi, wi, xi, yisão

os i-ésimos elementos dos vetores P, Q, R, S, U, W, X, Y. J é o nodo na camada F2 com ativação mais alta, reset, indica se o nodo vencedor da camada F2 pode aprender o padrão apresentado. T e B são respectivamente as matrizes de pesos top-down e bottom-up. Os parâmetros do modelo estão descritos abaixo:

Parâmetros do ART2

n: número de nodos na camada F1, sendo equivalente ao tamanho da entrada. ae b: pesos fixos na camada F1.

c: pesos fixos usados para a condição de reset, no intervalo [0,1].

d: unidade de ativação do vencedor na camada F2 dentro do intervalo [0,1]. e: parâmetro para evitar a divisão por zero quando a norma do vetor for zero. θ : parâmetro de supressão do ruído, tipicamente 1/√n. A entrada do vetor de componentes com valores menores que θ serão setados como zero.

α : taxa de aprendizagem.

ρ : parâmetro de vigilância. Determina o número de grupos formados, valores dentro do intervalo [0,7 ,1] produzem controle efetivo sobre o número de grupos formados. nbrE pochs: número máximo de épocas.

nbrIterations: número máximo de iterações.

Uma vez treinada, a rede pode ser utilizada em modo teste, caso em que os padrões de entrada serão apenas agrupados sem que haja aprendizagem. Para isso, os passos de atualização dos pesos da rede (linhas 30-38, no Alg. 6.1) e de recrutamento de novas unidades (linha 15) não são executados. Além disso, o parâmetro de vigilância é ajustado para 1 no momento em que um novo padrão é apresentado. Caso nenhum nodo seja considerado suficientemente similar para agrupar este padrão, então o parâmetro de vigilância é levemente reduzido, por exemplo, através da equação: ρ = 0, 999 × ρ. Este processo é repetido até que o padrão de entrada seja agrupado em alguma unidade.

Em Pacheco (2004), o modelo ART2 foi utilizado como base para a implementação do módulo de contexto. No entanto, foi necessário modificar a rede para incluir características

temporais, para permitir que a rede aprenda também o contexto em que os estímulos são apresentados, assim como o contexto atual. As adaptações realizadas serão apresentadas na seção seguinte.