Upload
internet
View
139
Download
0
Tags:
Embed Size (px)
Citation preview
AULA09
Adaptive Resonance Theory
Carpenter & Grossberg
ART
• Proposto por Carpenter e Grossberg em 1987.
• ART1 – classificação de vetores binários
• ART2 – vetores com valores contínuos
ART1
Y1 Yj Ym
X1 Xi Xn
S1 Si Sn
R
camada F2classes
camada F1(b)interface
camada F1(a)entrada
R = reset
ART1
• Consiste de dois estágios, ou camadas F1 e F2, sendo F1 dividido em duas partes, sendo:
F1(a) – entrada F1(b) – interface de processamento e F2 - saída, que fornece a classe correspondente
notações
n – número de componentes no vetor de entradas
m – número máximo de classes
bij – pesos bottom-up (da unidade Xi de F1(b) para unidade Yj de F2)
tji – pesos top-down (da unidade Yj de F2 para unidade Xi de F1(b))
- parâmetro de vigilância
s - vetor de entrada binária (n-dimensional)
x – vetor de ativação para a camada F1(b)
descrição• Quando um vetor de entrada binário s é apresentado à camada F1(a), os
sinais são enviados às unidades X, da camada F1(b).
• Em seguida a camada F2 computa a soma ponderada das entradas.
• A unidade de F2 com a maior soma ponderada recebe a ativação (valor 1) e todas as demais unidades continuam desativadas (valor 0).
• Denotando-se o índice da unidade ativa J, a unidade YJ torna-se o candidato para o aprendizado do padrão de entrada.
• Para isso, um sinal é enviado de F2 para F1(b), ponderado pelos pesos top-down.
• As unidades X da camada F1(b) continuam em 1 somente se elas recebem sinais não-zero de F1(a) e F2.
• A norma do vetor x fornece o número de componentes em que o vetor de peso top-down para a unidade vencedora de F2 (unidade tJ) e o vetor de entrada s sejam ambos iguais a 1.
• Se a razão de é maior ou igual ao parâmetro de vigilância, os pesos (top down e bottom up) para a unidade vencedora são ajustados.
• Contudo, se a razão for menor, a unidade vencedora é rejeitada, e uma outra unidade deve ser escolhida. A unidade vencedora é inibida, tal que ela não possa ser escolhida novamente, e as ativações da unidade F1(b) são zeradas.
• O processo é repetido com a camada de entrada F1(a) enviando os sinais para a camada F1(b) novamente, e F2 recebendo os sinais ponderados pelos pesos bottom up, porém sem a participação da unidade inibida de F2.
sx para
x
• O processo continua até que um casamento (match) seja encontrado, ou todas as unidades de F2 sejam inibidas.
• Se todas as unidades de F2 sejam inibidas, as seguintes ações podem ser tomadas:
1) redução do valor do parâmetro de vigilância,
2) aumento do número de unidades em F2, e
3) desprezar o padrão de entrada.
• No fim de cada apresentação de um padrão (normalmente, após os pesos serem ajustados), todas as unidades de F2 retornam ao status de inativa (ativação = 0), e disponível para a participação na competição seguinte.
treinamentoInicialização: 1. parâmetros:
2. pesos:
Computação: enquanto a condição de parada é falsa
i
iss
1)0(e1
)0(0
jiij tnL
Lb
10e1 L
para cada padrão de treinamento
1. Zerar F2 e introduzir o vetor de entrada s em F1(a)2. Computar a norma de s:3. Enviar o sinal de F1(a) par F1(b):4. Para cada unidade de F2:5. Enquanto reset = true fazer a) encontrar J tal que em todos os nós j de F2. se então todos os nós são inibidos e esse padrão não pode ser classificado b) recomputar a ativação de x de F1(b): c) computar a norma do vetor x: d) teste do reset:
6. Atualizar os pesos para o nó J:7. Teste de parada
ii sx
iiijjj xbyentãoyse 1
jJ yy 1Jy
Jiii tsx
i
ixx
.,
,)(1,
falseéresetentãose
trueéresetJnóinibeyentãose J
sx
sx
iJii
iJ xnovoteL
Lxnovob
)(
1)(
x
Exemplos de valores de parâmetros
)(
11)0(
)(1
1
1)0(0
9.010
21
downtoppesos
tt
upbottompesosnnL
Lbb
LL
jiji
ijij
Exemplo: ART1 com baixa vigilância
n = 4 - número de componentes de entrada m = 3 – número máximo de classes a serem formadas = 0.4 - parâmetro de vigilância L = 2 - parâmetro usado para atualizar os pesos bottom up pesos iniciais bottom up
pesos iniciais top down
Vetores: (1,1,0,0) (0,0,0,1) (1,0,0,0) e (0,0,1,1)
Inicialização: parâmetros L = 2 = 0.4 pesos iniciais:
1)0( jitn
bij
1
1)0(
2.0)0( ijb
1)0( jit
Computação: primeiro vetor = (1,1,0,0)1. F2=(0,0,0) s = (1,1,0,0) 2. Norma de s:3. Ativação de x: x = (1, 1, 0, 0)4. Computar as somas em F2:
5. enquanto reset = true a) como todos os nós são iguais, escolher J = 1 b) cálculo da ativação de x: c) norma de x:
d) teste de reset: portanto reset = false
6. Atualizar os pesos do nó 1:
)0,0,1,1(
)0,0,1,1()1,1,1,1(. 21
x
st eComotsx iii
2s
4.0)0(2.0)0(2.0)1(2.0)1(2.0
4.0)0(2.0)0(2.0)1(2.0)1(2.0
4.0)0(2.0)0(2.0)1(2.0)1(2.0
3
2
1
y
y
y
2x
4.00.1 s
x
ficapx
novob ii u bottom pesos de matriz aportanto
1
2)(1 x
2.02.00
2.02.00
2.02.067.0
2.02.067.0
iJi xnovot )(
1111
1111
0011
Computação: segundo vetor = (0,0,0,1)1. F2=(0,0,0) s = (0,0,0,1) 2. Norma de s:3. Ativação de x: x = (0,0,0,1)4. Computar as somas em F2:
5. enquanto reset = true a) como y2 e y3 são iguais, escolher J = 2 b) cálculo da ativação de x: c) norma de x:
d) teste de reset: portanto reset = false
6. Atualizar os pesos do nó 2:
)1,0,0,0(
)1,0,0,0()1,1,1,1(. 22
x
st eComotsx iii
1s
2.0)1(2.0)0(2.0)0(2.0)0(2.0
2.0)1(2.0)0(2.0)0(2.0)0(2.0
0.0)1(0)0(0)0(67.0)0(67.0
3
2
1
y
y
y
1x
4.00.1 s
x
ficapx
novob ii u bottom pesos de matriz aportanto
1
2)(2 x
2.010
2.000
2.0067.0
2.0067.0
iJi xnovot )(
1111
1000
0011
Computação: terceiro vetor = (1,0,0,0)1. F2=(0,0,0) s = (1,0,0,0) 2. Norma de s:3. Ativação de x: x = (1,0,0,0)4. Computar as somas em F2:
5. enquanto reset = true a) como y1 tem maior valor, escolher J = 1 b) cálculo da ativação de x: c) norma de x:
d) teste de reset: portanto reset = false
6. Atualizar os pesos do nó 1:
)0,0,0,1(
)0,0,0,1()0,0,1,1(.1
x
st1 eComotsx iii
1s
2.0)0(2.0)0(2.0)0(2.0)1(2.0
0)0(1)0(0)0(0)1(0
67.0)0(0)0(0)0(67.0)1(67.0
3
2
1
y
y
y
1x
4.00.1 s
x
ficapx
novob ii u bottom pesos de matriz aportanto
1
2)(1 x
2.010
2.000
2.000
2.001
iJi xnovot )(
1111
1000
0001
Computação: quarto vetor = (0,0,1,1)1. F2=(0,0,0) s = (0,0,1,1) 2. Norma de s:3. Ativação de x: x = (0,0,1,1)4. Computar as somas em F2:
5. enquanto reset = true a) como y2 tem maior valor, escolher J = 2 b) cálculo da ativação de x: c) norma de x:
d) teste de reset: portanto reset = false
6. Atualizar os pesos do nó 2:
)1,0,0,0(
)1,1,0,0()1,0,0,0(. 22
x
st eComotsx iii
2s
4.0)1(2.0)1(2.0)0(2.0)0(2.0
1)1(1)1(0)0(0)0(0
0)1(0)1(0)0(0)0(1
3
2
1
y
y
y
1x
4.05.0 s
x
ficapx
novob ii u bottom pesos de matriz aportanto
1
2)(2 x
2.010
2.000
2.000
2.001
iJi xnovot )(
1111
1000
0001
portanto não existe alterações nos pesos7. Teste de parada – aqui termina uma época. Além disso, não existe nenhuma alteração nos pesos aplicando as entradas novamente.
Exemplo: ART1, com moderada vigilância
• Os mesmos vetores do exemplo anterior são aplicados com parâmetro de vigilância = 0.7.
• O treinamento dos vetores (1,1,0,0), (0,0,0,1) e (1,0,0,0) ocorrem da mesma forma, resultando na matriz de pesos:
bottom up e top down
Contudo o resultado para a aplicação do quarto vetor (0,0,1,1) é diferente.
2.010
2.000
2.000
2.001
1111
1000
0001
Computação: quarto vetor = (0,0,1,1)1. F2=(0,0,0) s = (0,0,1,1) 2. Norma de s:3. Ativação de x: x = (0,0,1,1)4. Computar as somas em F2:
5. enquanto reset = true a) como y2 tem maior valor, escolher J = 2 b) cálculo da ativação de x: c) norma de x:
d) teste de reset: ---------------------------------------------------------------- a) como y3 tem maior valor, escolher J = 3 b) cálculo da ativação de x: c) norma de x:
d) teste de reset: portanto reset = false
)1,0,0,0(
)1,1,0,0()1,0,0,0(. 22
x
st eComotsx iii
2s
4.0)1(2.0)1(2.0)0(2.0)0(2.0
1)1(1)1(0)0(0)0(0
0)1(0)1(0)0(0)0(1
3
2
1
y
y
y
1x
7.05.0 s
x
.)2(1, 2 trueresetenóinibeycomo sx
4.01,0 321 yeyy
)1,1,0,0(
)1,1,0,0()1,1,1,1(. 32
x
st eComotsx iii
2x
7.01 s
x
Computação: quarto vetor = (0,0,1,1) (cont.)
6. Atualizar os pesos do nó 3:
ficapx
novob ii u bottom pesos de matriz aportanto
1
2)(3 x
67.010
67.000
000
001
iJi xnovot )(
1100
1000
0001
7. Teste de parada – false
Continua com a apresentação das entradas, iniciando o segundo lote.
Computação do segundo lote: primeiro vetor = (1,1,0,0)1. F2=(0,0,0) s = (1,1,0,0) 2. Norma de s:3. Ativação de x: x = (1,1,0,0)4. Computar as somas em F2:
5. enquanto reset = true a) como y1 tem maior valor, escolher J = 1 b) cálculo da ativação de x: c) norma de x:
d) teste de reset: ----------------------------------------------------------------
)0,0,0,1(
)0,0,1,1()0,0,0,1(. 12
x
st eComotsx iii
2s
0)0(67.0)0(67.0)1(0)1(0
0)0(1)0(0)1(0)1(0
1)0(0)0(0)1(0)1(1
3
2
1
y
y
y
1x
7.05.0 s
x
.)1(1, 1 trueresetenóinibeycomo sx
00,1 321 yeyy
Obviamente, o critério de vigilância não será satisfeito para nenhum dos nós de F2. O usuário pode optar por acrescentar mais um nó em F2, considerar o primeiro vetor como não-classificado, ou usar um parâmetro de vigilância menor.
Implementação biológica
camada F2 (classe)
camada F1(b) (interface)
camada F1(a) (entrada)
R G2
G1
+
+
+
-
+
+
-
+
+
bij tji
• Para que a rede seja implementada em termos neuronais, apenas com o uso de camadas F1(a), F1(b), F2 e R seria difícil, pois os neurônios devem responder diferentemente em diferentes estágios do processo.
– Por exemplo, unidades de F1(b) devem estar ativas quando um sinal de entrada de F1(a) estiver ativo e F2 zerado (computação de x do item 3); porém, na computação de x no item 5, uma unidade F1(b) só deve continuar ativa quando ambas as entradas, de F2 e de F1(a), são ativas.
– Na operação do mecanismo de reset, as unidades de F2 devem ser inibidas sob certas condições, porém, essas unidades de F2 devem estar disponíveis na etapa posterior do treinamento para uma nova entrada.
• Ambos os problemas apontados acima podem ser resolvidos com a introdução de duas unidades suplementares (gain control unit) G1 e G2, agindo conjuntamente com a unidade R de reset.
• Cada unidade de F1(b), como de F2, tem 3 fontes de sinais.
– F1(b) recebe sinais de F1(a), de F2 e de G1.
– F2 recebe sinais de F1(b) , R, e de G2.
• Essas unidades devem receber dois sinais excitatórios para se tornarem ativos. Como existem 3 fontes de sinais, a regra é chamada de regra dos dois terços.
– Assim, na computação de x, do item 3, um nó F1(b) deve enviar um sinal aos nós de F2 e R sempre que um vetor de entrada é apresentado e nenhum nó de F2 é ativo. Contudo, após um nó de F2 ser escolhido, é necessário que apenas os nós que recebem sinais ativos de F2 e de F1(a) continuem ativos em F1(b).
• Isso é resolvido com o uso de G1 e G2.
– G1 é inibido sempre que a unidade F2 é ativa; e todos os nós de F1(b) recebem um sinal de G1 sempre que nenhuma unidade de F2 é ativa.
– Similarmente, a unidade G2 controla o disparo das unidades de F2, usando a regra dos dois terços.
Quando nenhum nó de F2 é ativo, a unidade F1(b) recebe sinal de G1, e nesse caso, as unidades de F1(b) que recebem um sinal ativo de F1(a) será ativo.
x1=1
G1
s1 s2 sn
1 0 1
11 1
F2 inativo
x2=0 xn=1
camada F2 (classe)
camada F1(b) (interface)
camada F1(a) (entrada)
R G2
G1
+
+
+
-
+
+
-
+
+
bij tji
desinibido
x1=1
G1
s1 s2 sn
1 0 1
0
F2 ativo
x2=0 xn=0
1 inibido
01
Quando um nó de F2 é ativo, G1 é inibido e as unidades de F1(b) que recebem sinais ativos de F2 e F1(a) são ativos.
F1(b)
F1(a)
F1(b)
F1(a)
Similarmente acontece com F2. A unidade G2 é ativa quando existe um padrão de entrada em F1(a).
camada F2 (classe)
camada F1(b) (interface)
camada F1(a) (entrada)
R G2
G1
+
+
+
-
+
+
-
+
+
bij tji
x1
s1 s2 sn
x2 xn
y1=0 y2=1 ym=0
G2
1
1
1
R
resetfalso
x
s
• A unidade R corresponde à vigilância.
– Quando alguma unidade de F1(a) estiver ativa, um sinal excitatório é enviado para a unidade R.
– A intensidade desse sinal depende de quantas unidades de F1(a) estão ativas.
– Contudo, R também recebe sinais inibitórios das unidades ativas de F1(b).
– Se uma quantidade suficiente de unidades de F1(b) estiverem ativas, quantidade essa determinada pelo parâmetro de vigilância, a unidade R é inibida do disparo.
– Se a unidade R disparar, inibe aquela unidade de F2 que estiver ativa. Isso força a camada F2 escolher uma nova unidade vencedora.
Aprendizado no ART1
• No aprendizado rápido assume-se que os pesos atingem o equilíbrio durante a apresentação do vetor de treinamento.
• Os valores de equilíbrio desses pesos são fáceis de obter para ART1, pois as ativações de F1 não mudam enquanto os pesos mudam. Como somente os pesos da unidade vencedora de F2 (denotada por J) são modificados, as equações diferenciais que definem as mudanças nos pesos são apenas para tJi e biJ.
• O vetor x contem as ativações das unidades de F1(b) após o teste pelo reset. Portanto, xi é 1 se a unidade Xi recebe uma entrada não zero de si e um sinal não zero da conexão de F2 com peso tJi; e xi é zero se si ou tJi é zero.
• A equação diferencial para os pesos top down (da unidade J vencedora de F2) é dada por:
Segundo Carpenter e Grossberg (1987) é feita uma simples escolha:
A equação diferencial fica:
Para o aprendizado rápido
Portanto
][2 iJijiJi xtEKtdt
d
112 jiEeK
iJiJi xttdt
d
0Jitdt
d
iJi xt
• A equação dos pesos bottom up (para a unidade J, vencedora de F2) tem
essencialmente a mesma forma da anterior:
contudo para que a rede possa responder a diferenças nos padrões, é importante para o equilíbrio dos pesos bottom up, serem inversamente proporcionais à norma das ativações de F1(b). Isso pode ser obtido fazendo:
ik
kiij LxLxE )positivaconstantecertapara(1
KLK 1
][1 iiJijiJ xbEKbdt
d
][ 1
ik
ikiJiiJiJ xxLbxbKLbdt
d
])1[(
ik
kiJiiJ xbLxbK
com
portanto
• É conveniente considerar separadamente os casos em que a unidade Xi de F1 é inativa e quando é ativa:
1) inativa
][][ xiJik
kiJiJ bKxbKbdt
d
x
ik
kx
xi 0
pois todas as unidades ativas são inclusas no somatório. A equação diferencial fica:
Para obter pesos equilibrados a derivada é igual a zero, portanto:
][0 xiJbK
2) ativa
x
1L
LbiJ
1
1
xik
kx
xi
pois a unidade Xi não está inclusa no somatório.
A equação diferencial fica
)]1()1[( xiJiJiJ bLbKbdt
d
Para a obtenção de pesos equilibrados
)]1()1[(0 xiJiJ bLbK
portanto
A fórmula para os pesos bottom up em ambos os caso pode ser expressa por
x
1L
Lxb i
iJ
Pesos iniciais
• Os pesos iniciais de top down devem ser escolhidos, tais que, quando um nó não comprometido ( uma unidade de F2 que ainda não aprendeu nenhum padrão) for escolhido como vencedor, o mecanismo de reset não o rejeite.
Por exemplo: todos os pesos top down inicializados com 1.
Os pesos bottom up devem ser menores ou iguais ao valor de equilíbrio
x
1L
Lxb i
iJ
caso contrário, durante o treinamento, um vetor pode escolher um novo nó não comprometido.
Pesos iniciais bottom up grandes favorecem a criação de novos nós ao invés de tentar colocar um padrão sobre uma unidade previamente treinada.
ART2• ART2 foi projetada para processar vetores de entrada de valores
contínuos.
• As diferenças entre ART1 e ART2 refletem nas modificações necessárias para acomodar os padrões com componentes de valores contínuos.
• O campo F1 de ART2 inclui uma combinação de normalização e supressão de ruído, além da necessidade da comparação de sinais top down e bottom up no mecanismo de reset.
• Existem dois tipos de entradas que podem ser usadas no ART2. - o primeiro seria chamado de sinais binários ruidosos - o segundo seria de sinais com valores que sejam verdadeiramente
contínuos.
Y1 Yj Ym
Pi Qi
Ui Vi
Wi Xi
Ri
bij
tji
cpi
aui
si
f(xi)
bf(qi)
Wi
W1
Wn
Xi
X1
Xn
N
Detalhe de normalização usando a unidade N
Arquitetura típica ART2
normalização
Wi
W1
Wn
Xi
X1
Xn
WN
Ui
U1
Un
Vi
V1
Vn
VN
Pi
P1
Pn
Qi
Q1
Qn
PN
bb
b
a a a
s1 si sn
• A camada F1 consiste de 6 tipos de unidades (W,X,U,V,P e Q).
• Existem n unidades em cada um desses tipos, sendo n a dimensão do padrão de entrada.
• Unidades suplementares são usadas para computar a norma dos vetores W, V e P.
• Por exemplo, a unidade WN computa a norma do vetor de W e envia o sinal inibitório para cada uma das unidades de X.
• Cada unidade de X recebe também os sinais excitatórios correspondentes de W.
• Cada unidade de X é conectada a cada unidade correspondente de V e cada unidade de Q também é conectada a V.
• A ativação da unidade vencedora de F2 é d onde 0<d<1.
• O aprendizado ocorre somente se o vetor de peso top down para a unidade vencedora é suficientemente similar ao vetor de entrada.
• As unidades de U realizam um papel similar à fase de entrada da camada F1(a) no ART1.
• Contudo, algum processamento no vetor de entrada é necessário devido a variação das magnitudes do vetores de entrada reais.
• ART2 trata pequenos componentes como ruído e não distingue padrões que apenas estão em escalas diferentes.
• As unidades P fazem o papel da unidade F1(b) no ART1.
• As conexões entre W e U e entre Q e V tem pesos fixos a e b , respectivamente.
algoritmo• O passo inicial do treinamento consiste na apresentação do padrão de
entrada.– O sinal de entrada s = (s1,...,sn) continuo é apresentado enquanto todas as
ações relativas sejam realizadas. • No início todas as ativações devem ser zeradas.• O ciclo de computação, pode ser considerado como sendo iniciado na
ativação da unidade Ui. • Em seguida, um sinal é enviado da unidade Ui para Wi e Pi.• As ativações de Wi e Pi são computadas. • As unidades W somam os sinais recebidos de Ui e da entrada si.• Pi soma o sinal que recebe de Ui e o sinal top down que recebe de uma
unidade ativa de F2. • As ativações de Xi e Qi são versões normalizadas de sinais de Wi e Pi,
respectivamente.• Uma função de ativação é aplicada antes do envio de sinal para Vi. Vi
soma os sinais que recebe concorrentemente de Xi e Qi, completando um ciclo de atualização da camada F1.
xse
xsexxf
0)(
É usada para a supressão de ruído a função de ativação
A rede é estável quando uma unidade vencedora de F2 é aceita e não ocorre mais nenhum reset.
Após as ativações de F1 atingirem o equilibrio, as unidades de P enviam os sinais para a camada F2, onde uma competição winner-take-all ocorre e escolhe um candidato para a classe do padrão de entrada.
As unidades Ui e Pi também enviam sinais para a unidade Ri. O mecanismo de reset necessita verificar a condição quando Pi recebe um sinal top down.
Após as condições para o reset forem verificadas, a classe vencedora pode ser rejeitada ou aceita.
Se for rejeitada será inibida e uma nova unidade vencedora deve ser escolhida. Esse processo continua até que se encontre uma classe sem rejeição, ocorrendo o ajuste dos pesos para o aprendizado.
• No aprendizado lento, ocorre somente uma iteração das equações de atualização de pesos, para cada mudança do padrão de entrada.
• É requerido um grande número de apresentações de cada padrão de entrada, mas relativamente pouca computação é feita por apresentação. Por conveniência, essas apresentações repetitivas são tratadas como épocas no algoritmo seguinte. Contudo , não existe necessidade de que os padrões sejam apresentados na mesma ordem ou exatamente os mesmos padrões sejam apresentados em cada ciclo.
• No aprendizado rápido, a atualização dos pesos continua até que os pesos atinjam um equilibrio em cada mudança do padrão de entrada. Apenas poucas épocas são necessárias, mas um grande número de iterações através da atualização de pesos do algoritmo deve ser realizado a cada mudança do padrão de entrada. No aprendizado rápido, a definição das classes estabiliza, mas os pesos são alterados para cada padrão apresentado.
Cálculos • Os seguintes cálculos são repetidos em vários passos do algoritmo e será
referido como atualização de ativações de F1.
• A unidade J é a vencedora de F2, após competição. Se nenhuma unidade for vencedora, d será zero para todas as unidades. Nota-se que os cálculos para wi e pi podem ser feitas em paralelo, assim como para xi e qi.
• As atualizações de ativações de F1 são:
xse
xsexxf
0)(
v
e
vu i
i
iii ausw Jiii dtup
w
e
wx i
i p
e
pq i
i
)()( iii qbfxfv
algoritmo
• Inicialização dos parâmetros:
• Realizar os passos seguintes para um número especificado de épocas:
para cada vetor de entrada s
1. atualizar as ativações de F1:
atualizar as ativações de F1 novamente:
,,,,,,, edcba
)(0
0
0
iii
iii
iii
xfvp
qsw
e
sxu
s
)()( iiii
iiii
iiii
i
qbfxfve
piq
e
wxup
auswe
vu
p
w
v
mjparayy jJ ,...,1
i
iijj pby2. Computar as unidades de F2:
3. Enquanto reset= true, fazer: a) achar unidade YJ de F2 com o maior sinal. (define-se J tal que )
b) teste do reset:
),(1 trueresetJinibeyentãoese
ce
cpurdtup
e
vu
J
iiiJiii
ii
r
puv
)()(
)(
iiii
ii
iiii qbfxfve
pq
e
wxausw
falseresetentãoese
pw
r
4. realizar um número especificado de iterações de aprendizado
a) atualizar pesos para a unidade vencedora J:
iJiiJ
JiiJi
bdddub
tdddut
)1(1
)1(1
b) Atualizar as ativações de F1:
)()( iiii
iiJiii
iiii
qbfxfve
piq
e
wxdtup
auswe
viu
p
w
v
c) Teste da condição de parada da atualizações
5. Teste da condição de parada para o número de épocas
• No algoritmo apresentado as seguintes considerações foram feitas:– reset não ocorre durante a ressonância (passo 4)– uma nova unidade vencedora não pode ser escolhida durante a ressonância
• Tipicamente em aprendizado lento, o número de iterações de aprendizado é igual a 1, e o passo 4, item b, pode ser omitido
• Em aprendizado rápido, para o primeiro padrão aprendido para uma classe, os pesos de equilibrio serão:
iiJ
iJi
ud
b
ud
t
1
11
1
• Outras condições de parada são:• Repetir o passo 4 até que os pesos mudam abaixo de uma certa
tolerância especificada. – Para aprendizado lento, repetir o número de épocas até que a mudança
nos pesos estejam abaixo de certa tolerância especificada.
– Para aprendizado rápido, repetir o número de épocas até que a definição das classes em F2 não muda de uma época para outra.
• Os passos 1 a 4 constituem uma mudança no padrão de entrada (uma apresentação). Seria conveniente referir-se a esses passos como uma época.
escolhas
n – número de unidades de entrada (camada F1)
m – número de unidades de classe (camada F2)
a,b – pesos fixos da camada F1, sendo valores típicos a = 10 e b = 10.
Fazer a = 0 e b = 0 produz instabilidade.
c – peso fixo usado no teste do reset, sendo um valor típico c = 0.1
Um pequeno valor de c dá uma grande intervalo do parâmetro de vigilância.
d – ativação da unidade vencedora de F2. Um valor típico é d=0.9. Nota-se que c e d devem ser escolhidos satisfazendo a inequação
e – um pequeno parâmetro introduzido para prevenir a divisão por zero quando a norma de um vetor é zero.
11
d
cd
supressão de ruído, sendo um valor típico
taxa de aprendizado. Um pequeno valor torna o aprendizado lento.
parâmetro de vigilância. Embora teoricamente o valor permitido varie de 0 a 1, somente valores entre 0.7 e 1 tem desempenho útil.
Pesos iniciais:
os pesos iniciais top down devem ser tais que não ocorra reset para o primeiro padrão de F2.
os pesos iniciais bottom up devem ser escolhidos para satisfazer a inequação
)0(jit
ndbij
)1(
1)0(
n/1
0)0( jit)0(ijb
exemplo• Considerando os parâmetros: a = 10, b = 10, c = 0.1, d = 0.9, e = 0
)0.7,0.7(jb )0.0,0.0(jt9.0 7.0 )6.0,8.0(s
)(0
0
0
iii
iii
iii
xfvp
qsw
e
sxu
s
Passo 1. calcular as atualizações de F1:
)0.0,8.0()0.0,0.0(
)0.0,0.0()6.0,8.0(
)6.0,8.0()0.0,0.0(
vp
qw
xu
Pi Qi
Ui Vi
Wi Xi
aui
si
f(xi)
)()( iiii
iiii
iiii
i
qbfxfve
piq
e
wxup
auswe
vu
p
w
v
Calcular novamente:
)0.0,998.10()0.0,0.1(
)0.0,0.1()6.0,8.10(
)055.0,998.0()0.0,0.1(
vp
qw
xu
• parâmetros: a = 10, b = 10, c = 0.1, d = 0.9, e = 0)0.7,0.7(jb )0.0,0.0(jt9.0 7.0 )6.0,8.0(s
Passo 2. calcular as unidades de F2: )0.0,0.1(pu
i
iijj pbyY1 Y2
Pi
Ui
Ri
bij
tji
cpi0.70.7 21 yy
3. Enquanto reset= true, fazer: a) achar unidade YJ de F2 com o maior sinal.
b) teste do reset:
9.01
)0.00.1(
ese
ce
cpurdtup
e
vu ii
iJiiii
i
r
rpupuv
)()( iiii
ii
iiii qbfxfve
pq
e
wxausw
pw
Passo
Escolher J=1
)0.0,998.10()0.0,0.1(
)055.0,998.0()6.0,8.10(
vq
xw
Pi Qi
Ui Vi
Wi Xi
aui
si
f(xi)
passo 4. realizar um número especificado de iterações de aprendizado
a) atualizar pesos para a unidade vencedora J:
iJiiJ
JiiJi
bdddub
tdddut
)1(1
)1(1
b) Atualizar as ativações de F1:
)()( iiii
iiJiii
iiii
qbfxfve
piq
e
wxdtup
auswe
viu
p
w
v
Com =0.6, d = 0.9
)62.6,16.7(
)62.6,62.6()0.0,54.0()(946.054.0
)()19.0(9.06.019.06.0)(
)0.0,54.0(
)(946.054.0
)()19.0(9.06.019.06.0)(
velho
velhonovo
velho
velhonovo
J
JJ
J
JJ
bu
bub
tu
tut
)0.0,998.10()0.0,0.1(
)055.0,998.0()0.0,486.1(
)6.0,8.10()0.0,0.1(
vq
xp
wu
a) atualizar pesos para a unidade vencedora J, novamente:
iJiiJ
JiiJi
bdddub
tdddut
)1(1
)1(1
b) Atualizar as ativações de F1:
)()( iiii
iiJiii
iiii
qbfxfve
piq
e
wxdtup
auswe
viu
p
w
v
Com =0.6, d = 0.9
)26.6,32.7(
)62.6,16.7(946.0)0.0,54.0()(946.054.0
)()19.0(9.06.019.06.0)(
)0.0,05.1(
)0.0,54.0(946.0)0.0,54.0()(946.054.0
)()19.0(9.06.019.06.0)(
velho
velhonovo
velho
velhonovo
J
JJ
J
JJ
bu
bub
tu
tut
)0.0,998.10()0.0,0.1(
)055.0,998.0()0.0,945.1(
)6.0,8.10()0.0,0.1(
vq
xp
wu
O aprendizado continua até que os pesos atinjam o valor de equilíbrio, ou seja, até que a condição de parada o aprendizado seja satisfeita.O valor tJ pode ser obtido imediatamente pelas equações:
)0,10(1
1
)1(0
)1(
1
t
iJi
Jii
JiiJi
ud
t
tdddu
tdddutdt
d
Aplicações
• As redes ART tem sido aplicadas em:– Reconhecimento de caracteres;
– Robótica;
– Diagnóstico médico;
– Sensoriamento remoto; e
– Processamento de vozes.