quarta-feira, 1 de fevereiro de 2012

Redes Neurais Hopfield

 

As Redes Neurais Hopfield são o tipo mais simples de redes neurais. Ela contém uma camada com neurônios completamente conectados, ou seja, cada neurônio é conectado a todos os outros da rede. É chamado de rede auto-associativa, porque se ela reconhece um padrão, ela retornará o padrão.

Vamos ver um exemplo de Rede Neural Hopfield com quatro neurônios, cada neurônio é conectado aos outros três neurônios, formando assim, um total de 12 conexões.

Rede Neural Hopfield com 4 neurônios
 

Rede Neural Hopfield com 4 neurônios

Na aplicação de redes neurais usaremos matrizes para armazenar os pesos das conexões, todas as redes neurais utilizam alguma forma de matriz para armazenar os pesos.

tabela1_rnhopfield

A matriz acima é chamada de matriz Peso e contém a memória da rede neural, utilizada para reconhecer padrões, quando eles forem mostrados.

Geralmente as matrizes também armazenam os valores de limiar, entretanto, Redes Neurais Hopfield não contém tais valores.

Os valores utilizados na próxima tabela são utilizados para que uma rede reconheça os valores 0101 e 1010, vamos ver como funciona.

tabela2_rnhopfield

Mostraremos a rede o valor 0101, para isso, alimentaremos cada neurônio de entrada, que também é de saída, com o valor 0101.

Quando o neurônio 1 (N1) for alimentado com 0101, sua ativação resultará na soma de todos os pesos que terão 1 no padrão de entrada.

Vejamos os pesos do N1:

tabela3_rnhopfield

Agora os pesos comparados ao padrão de entrada.

tabela4_rnhopfield

Como dito anteriormente, a ativação do neurônio será a soma dos pesos cujo valor de entrada seja 1, logo:

N1 = (-1) + (-1) = (-2)

N2 = (0) + (1) = (1)

N3 = (-1) + (-1) = (-2)

N4 = (1) + (0) = (1)

O vetor final de saída será {-2, 1, -2, 1}, para funcionar precisaremos de uma função de ativação, um limiar dirá quando um neurônio irá queimar, logo o limiar é uma função de ativação.

Numa rede neural Hopfield, dizemos que a função de ativação é qualquer valor maior que zero, logo, está estabelecido o limiar da nossa rede e os seguintes neurônios irão queimar.

N1 = (-2) – não queimará.

N2 = (1) – queimará.

N3 = (-2) – não queimará.

N4 = (1) – queimará.

Para os neurônios que não queimarem assume-se o valor de 0 e para os neurônios que queimaram o valor de 1, logo a saída da nossa rede será 0101.

Uma rede que reconhece o padrão 0101, também reconhece o valor 1010.

Nenhum comentário:

Postar um comentário