AULA02
Redes Neurais Artificiais
REDES NEURAIS ARTIFICIAIS (RNA)
•
Uma RNA é composta de um número de unidades (neurônios artificiais)
interconectadas, tendo cada unidade um comportamento específico (local).
Neurônio básico: “Integrate-and-Fire”
u(t) é o potencial de membrana,
u (t )  u res
du (t )
 Rm i (t )  m
dt
ures é o potencial de repouso,
Rm é a resistência ao fluxo de
corrente
i(t) é a soma das correntes geradas
pelos neuronios pré-sinápticos,
 m é a constante de tempo da
membrana
O neurônio de McCulloch e Pitts (1943)
• Consiste basicamente de
um neurônio que executa
conexões
uma função lógica.
excitatórias
x2
• Os nós produzem somente
resultados binários e as
conexões transmitem
xn
exclusivamente zeros e
uns.
• As redes são compostas
de conexões sem peso, de
y1
tipos excitatórios e
inibitórios.
• Cada unidade é
caracterizada por um certo
conexões
limiar (threshold) q.
inibitórias
x1
q
ym
A regra para avaliação de um neurônio
McCulloch-Pitts
• assume–se que a unidade recebe entradas excitatórias através de n
conexões de entrada e entradas inibitórias através de m conexões de
entrada.
• Se m  1 e pelo menos um dos sinais y1, y2, ..., ym é 1, a unidade é
inibida e a saída é 0.
• Caso contrário, o total de entradas (x = x1 + x2 + ... xn) excitatórias é
computado e comparado com o threshold q.
Se x  q a saída é 1 (a unidade dispara). Se x < q o resultado é 0.
saída
1
0
q
soma das entradas
Exemplos: neurônios AND e OR
and
x1
or
x1

Duas entradas:
x2

x2
and
or
x1
Mais de 2 entradas:
x1

x2
x2

x3
x3
x4
Outros exemplos
nor
x1 and ~x2
x1
x1


x2
not
x2
x1

Rede neural com 3 neurônios
McCulloch-Pitts
x1
x2

x3
F
1

Função F = 1 para (0, 0, 1) e (0, 1, 0);
F = 0 para outras entradas.
McCulloch-Pitts (cont.)
• Como qualquer função lógica pode ser implementada com funções
AND, OR e NOT, em duas camadas,
– Qualquer função lógica pode ser computada por uma rede de
McCulloch-Pitts de duas camadas.
• Como as conexões não tem pesos,
– Os neurônios de McCulloch-Pitts não são possíveis de serem
treinados, por não terem parâmetros livres.
O neurônio genérico de Redes Neurais
Artificiais (RNAs)
• As principais partes de um neurônio genérico de RNAs são:
– As sinapses (entradas), com seus pesos associados
bias
– A junção somadora e
bk
– A função de ativação.
sinais
de
entrada
x1
wk1
x2
wk2
função
de ativação

uk
yk
f(uk)
saída
junção
somadora
xm
wkm
pesos
sinápticos
• O primeiro subscrito k do peso sináptico wkj corresponde ao neurônio póssináptico, e o segundo subscrito à sinapse (ou neurônio pré-sináptico).
O neurônio genérico (cont.)
– A junção somadora soma todos os sinais de entrada multiplicados pelos
respectivos pesos, além do bias bk.
– A função de ativação tem a função de limitar a saída e introduzir não-linearidade
ao modelo.
– O bias bk tem o papel de aumentar ou diminuir a influência do valor das
entradas.
– É possível considerar o bias como uma entrada de valor constante 1,
multiplicado por um peso igual a bk.
wk0=bk (bias)
entrada fixa
x0=+1
wk0
x1
wk1
x2
wk2
sinais
de
entrada
função
de ativação

uk
yk
f(uk)
saída
junção
somadora
xm
wkm
pesos
sinápticos
O neurônio genérico (cont.)
• Matematicamente a saída pode ser expressa por:
 m

y k  f (u k )  f   wkj x j  bk 
 j 1

ou considerando o bias como entrada de valor x0=1 e
peso wk0=bk,
 m

y k  f (u k )  f   wkj x j 
 j 0

Função de ativação: semi-linear
se
puk  1
 1

f (u k )   puk se 0  puk  1
 0
se
puk  0

p constantee positivo
(a)
(b)
Função de ativação semi-linear (a) e sua derivada (b).
Função de ativação logística (sigmóide)
e puk
1
f (u k )  puk

e  1 1  e  puk
f
 puk (1  u k )  0
u k
(a)
(b)
Sigmóide (a) e sua derivada (b).
Função de ativação tangente hiperbólica
e puk  e  puk
f (u k )  tanh(puk )  puk
e  e  puk
(a)
f
 p(1  u k2 )  0
u k
(b)
Tangente hiperbólica (a) e sua derivada (b).
ARQUITETURAS DE REDES NEURAIS
ARTIFICIAIS
• Existem basicamente 3 tipos básicos de arquiteturas de
RNAs:
– Feedforward de uma única camada
– Feedforward de múltiplas camadas e
– Redes recorrentes.
Rede feedforward com uma única camada
de processamento
• Os neurônios da camada de
entrada correspondem aos
neurônios sensoriais que
possibilitam a entrada de
sinais na rede (não fazem
processamento).
o
• Os neurônios da camada de
saída fazem processamento.
neurônio sensorial
neurônio de
processamento
Rede feedforward com uma única camada de
processamento (cont.)
Matriz de pesos
 w10
w
W   20
 

 w00
w11  w1m 
w21  w2 m 

 

w01  w0 m 
0
onde a primeira coluna de W é o vetor de bias.
yi  f (w i .x)  f ( wij x j ), j  1,...,m.
j
Matricialmente
y  f (W.x)
onde W  o x m , w i  1 x m ,
i  1,...,o, x  m x1 , e y  o x1.
Rede feedforward de Múltiplas Camadas
• Essas redes tem uma ou mais camadas intermediárias
ou escondidas.
Rede feedforward de Múltiplas Camadas (cont.)
Seja Wk a matriz de pesos da camada k.
wijk
corresponde ao peso da conexão do
neurônio pós-sináptico i ao neurônio présináptico j na camada k.
Em notação matricial:
y  f 3 (W3f 2 (W2f 1 (W1x)))
REDES RECORRENTES
Essas redes possuem pelo menos uma interconexão realimentando a saída de
neurônios para outros neurônios da rede (conexão cíclica).
Exemplo: Rede de Hopfield
FASES DE UMA REDE NEURAL ARTIFICIAL
• Uma rede neural artificial pode se encontrar em duas
fases:
• a primeira fase é a de aprendizagem, ou treinamento,
em que a rede se encontra no processo de aprendizado,
ajustando os parâmetros livres, para poder
posteriormente desempenhar a função destinada; e
• a segunda fase é a de aplicação propriamente dita, na
função para a qual ela foi destinada, como de
classificação de padrões de vozes, imagens, etc.
Aprendizagem
O processo de aprendizagem implica na seguinte
sequência de eventos:
1) a rede neural é estimulada por um ambiente
2) a rede neural sofre modificações nos seus parâmetros
livres como resultado desta estimulação
3) a rede neural responde de uma maneira nova ao
ambiente, devido as modificações ocorridas na sua
estrutura interna
REGRA 1: APRENDIZAGEM POR CORREÇÃO
DE ERRO
Vetor de
entrada
Uma ou mais
camadas de
neurônios
escondidos
x(n)
Neurônio de
saída
k
yk(n)
dk(n)

-
+
ek(n)
Um neurônio k da camada de saída, acionado por um vetor de sinal x(n)
produzido por uma ou mais camadas de neurônios ocultos, que são, por sua vez,
acionadas por um vetor de entrada (estímulo) aplicado aos nós de fonte (camada
de entrada).
O argumento n representa o instante de tempo discreto, do processo iterativo
envolvido no ajuste de pesos sinápticos.
O sinal de saida do neurônio k é representado por yk(n).
O sinal de saída é comparado com uma resposta desejada, dk(n)
e produzido um sinal de erro, ek (n).
Por definição tem-se:
ek (n) = dk (n) – yk (n)
REGRA 1: APRENDIZAGEM POR
CORREÇÃO DE ERRO (cont.)
• O sinal de erro ek(n) aciona um mecanismo de controle,
cujo proposito é aplicar uma sequência de ajustes
corretivos aos pesos sinápticos do neurônio k.
• Os ajustes corretivos são projetados para aproximar
passo a passo o sinal de saída yk (n) da resposta
desejada dk(n).
• Este objetivo é alcançado minimizando-se uma função
de custo ou índice de desempenho, E(n), definido em
termos do sinal de erro como:
E (n) = ½ ek2(n)
REGRA 1: APRENDIZAGEM POR
CORREÇÃO DE ERRO (cont.)
• Em particular, a minimização da função de custo E(n) resulta na
regra de aprendizagem normalmente referida como regra delta ou
regra de Widrow-Hoff.
• Supondo-se que wkj(n) represente o valor do peso sináptico wkj do
neurônio k excitado por um elemento xj (0) do vetor de sinal x(n) no
passo de tempo n. De acordo com a regra delta, o ajuste Dwkj (n)
aplicado ao peso sináptico é definido por
Dwkj (n) = h ek(n) xj(n)
onde h é uma constante positiva que determina a taxa de
aprendizado quando avança-se em um passo no processo de
aprendizagem.
• Em outras palavras, a regra delta pode ser formulada como:
O ajuste feito em um peso sináptico de um neurônio, proporcional ao
produto do sinal de erro pelo sinal de entrada da sinapse em questão.
REGRA 1: APRENDIZAGEM POR
CORREÇÃO DE ERRO (cont.)
• Nota-se que o sinal de erro deve ser diretamente
mensurável, ou seja, a resposta desejada deve ser
fornecida por alguma fonte externa, e o neurônio k deve
ser visível ao mundo externo.
• Tendo calculado o ajuste sináptico, o valor atualizado do
peso sináptico é determinado por:
wkj (n + 1) = wkj (n) + Dwkj (n).
REGRA 2: APRENDIZAGEM BASEADA
EM MEMÓRIA
•
As experiências são armazenadas em uma grande memória de exemplos
de entrada-saída classificados corretamente:
{(xi,di)} i = 1...n,
onde xi representa um vetor de entrada e di representa a resposta
desejada correspondente.
•
Num problema de classificação de padrões binários, por exemplo, há duas
classes a serem consideradas, C1 e C2, e a resposta desejada di assume
valor 0 para a classe C1 e valor 1 para a classe C2.
•
Na classificação de um vetor de teste xteste, o algoritmo busca os dados de
treinamento em uma vizinhança local de xteste.
•
Todos os algoritmos de aprendizagem baseada em memória envolvem dois
aspectos essenciais:
–
o critério utilizado para definir a vizinhança local do vetor de teste, e
–
a regra de aprendizagem aplicada aos exemplos de treinamento na
vizinhança local de xteste.
Classificador de vizinho mais próximo
• Em um tipo simples mas efetivo de aprendizagem baseada em memória
conhecido como a regra do vizinho mais próximo, a vizinhança local é
igual ao exemplo de treinamento que se encontra mais próximo do vetor
de teste.
• Em particular, dizemos que o vetor xN’ pertencente a {x 1, x 2, ..., x N }
é o vizinho mais próximo de x teste se
mini d(xi, xteste) = d(xN’, xteste )
onde d(xi, xteste) é a distância euclidiana entre os vetores xi e xteste.
• A classe associada com o vetor de distância mínima, vetor xN’, é
apresentada como a classificação de xteste.
Classificador de k vizinhos mais
próximos
• A classificação Implica em:
– identificar os k padrões classificados que se encontram mais
próximos do vetor de teste, xteste, para um número inteiro k.
– atribuir xteste à classe que está mais frequentemente
representada nos k vizinhos mais próximos de xteste.
• Assim, o classificador pelos k vizinhos mais próximos atua como um
dispositivo que calcula a média. Em particular, ele discrimina um
dado estranho, que é uma observação que tem um valor improvável
em relação a um modelo de interesse.
Exemplo de classificador de k
vizinhos mais próximos
• Na Figura tem-se o ponto d correspondente ao vetor de teste. Com
k = 3, o classificador atribui a classe de quadrado escuro ao ponto
d, mesmo ele estando perto ao dado estranho (círculo).
d
estranho
REGRA 3: APRENDIZAGEM
HEBBIANA
•
O postulado de aprendizado de Hebb é a mais antiga e mais famosa de
todas as regras de aprendizagem, e é baseado no texto a seguir,
contido no livro de Hebb (1949), The Organization of Behavior:
– O peso de uma conexão sináptica deve ser ajustado se
houver sincronismo entre as atividades: do neurônio présináptico e do neurônio pós-sináptico.
– Em termos matemáticos
Dwij (t )  hyi (t ) x j (t )
que significa que a mudança do peso sináptico Dwij(t)
é
proporcional ao valor do neurônio pós-sináptico yi(t) e ao valor do
neurônio pré-sinático xj (t) multiplicado pelo fator de aprendizado h .
Rede Neural baseado na regra de Hebb
(Hebb net)
• Algoritmo:
Passo 0. inicializar todos os pesos:
wi = 0 ( i = 1, ..., n)
Passo 1. para cada par de vetor de treinamento (s) e alvo (t):
a) atribuir o vetor de treinamento às unidades de entrada:
xi = si ( i = 1,..., n).
b) atribuir o alvo à unidade de saída:
y=t
c) ajustar os pesos: wi (novo) = wi (velho) + xi y (i = 1,..., n)
ajustar o bias:
b(novo) = b(velho) + y.
Exemplo para AND, com entradas e saídas
bipolares
Entrada
(x1 x2 1)
(1 1 1)
(1 -1 1)
(-1 1 1)
(-1 -1 1)
Alvo
1
-1
-1
-1
PRIMEIRA ENTRADA:
Entrada
(x1 x2
(1
1
alvo
1)
1)
1
mudança nos pesos
(Dw1 Dw2 Db)
(1
1
pesos
(w1 w2 b)
(0
0
0)
(1
1
1)
1)
x2
Equação da reta: x2 + x1 +1 = 0
x1
Exemplo AND (Hebb net) (cont.)
Segunda entrada:
Entrada
alvo
(x1 x2 1)
(1 -1 1)
-1
Equação da reta: x2 = 0
Terceira entrada :
Entrada
alvo
(x1 x2 1)
mudança nos pesos
(Dw1 Dw2 Db)
(-1
-1)
x2
x1
mudança nos pesos
(Dw1 Dw2 Db)
(-1 1 1)
-1
(1
Equação da reta: x2 + x1 -1 = 0
Quarta entrada :
Entrada
alvo
(x1 x2 1)
1
pesos
(w1 w2 b)
(0
0
0)
(0
2
0)
-1
-1)
mudança nos pesos
(Dw1 Dw2 Db)
(-1 -1 1)
-1
(1
Equação da reta: x2 + x1 – 1 = 0
1
-1)
pesos
(w1 w2 b)
(0
0
0)
(1
1 -1)
pesos
(w1 w2 b)
(0
0
0)
(2
2 -2)
x2
1
1
-1
-1
x1
REGRA 4: APRENDIZAGEM COMPETITIVA
• Na aprendizagem competitiva, os neurônios de saida de uma rede neural
competem entre si para se tornarem ativos (disparar).
• Somente um único neurônio de saída fica ativo num determinado instante.
• Existem três elementos básicos em uma regra de aprendizagem
competitiva:
1. um conjunto de neurônios que são todos iguais entre si, exceto pelos
pesos sinápticos distribuídos aleatoriamente, e que por isso respondem
diferentemente aos padrões de entrada;
2. um limite imposto sobre a força de cada neurônio; e
3. um mecanismo que permite que os neurônios compitam, de forma que
somente um neurônio de saida, esteja ativo em um determinado
instante.
•
O neurônio que vence a competição é denominado um neurônio vencedor
(winner-take-all, em inglês).
Um exemplo de algoritmo para
aprendizagem competitiva
• Seja X = (x1, x2, ..., xl) um conjunto de vetores de entrada normalizados
num espaço n-dimensional que pretende-se classificar em k diferentes
clusters. A rede consiste de k unidades, cada uma com n entradas e
threshold zero.
Passo 0. Os vetores peso normalizados w1, ..., wk são gerados
aleatoriamente.
Passo 1. Selecionar um vetor x j  X aleatoriamente.
Computar x j .wi para i = 1,..., k
Selecionar wm tal que wm .xj  wi .xj para i = 1, ..., k
Passo 2. Substituir wm por wm + xj e normalizar
Voltar para o passo 1.
Ilustração de aprendizado competitivo para a
separação de entradas em 3 classes (clusters)
cluster B
w1
x1
x2
w11
w12
w21
w2
cluster A
w3
cluster C
Cluster B
Cluster A
w22
w31
w32
Cluster C
MODELOS DE APRENDIZAGEM
Os principais modelos (paradigmas) de aprendizagem são:
1) supervisionado;
2) não-supervisionado; e
3) com reforço.
SUPERVISIONADO
• Também conhecida com aprendizagem com professor, consiste em que o
professor tenha o conhecimento do ambiente, e fornece o conjunto de
exemplos de entrada-resposta desejada.
• Com esse conjunto, o treinamento é feito usando a regra de aprendizagem
por correção de erro.
Vetor de estado
do ambiente
ambiente
professor
Resposta
desejada
Resposta
real
+
Sistema
de aprendizagem

-
Sinal de erro
NÃO-SUPERVISIONADO
• Neste caso nao há um professor para supervisionar o processo de
aprendizagem. Isso significa que não há exemplos rotulados da função a
ser aprendida pela rede.
• Nesse modelo, também conhecido como auto-organizado, são dadas
condições para realizar uma medida da representação que a rede deve
aprender, e os parâmetros livres da rede são otimizados em relação a essa
medida.
• Para a realização da aprendizagem não-supervisionada pode-se utilizar a
regra de aprendizagem competitiva.
Vetor de estado
do ambiente
ambiente
Sistema de
aprendizagem
APRENDIZAGEM POR REFORÇO
•
Pode ser visto como caso particular de aprendizagem supervisionada.
•
A principal diferença entre o aprendizado supervisionado e o aprendizado por
reforço é a medida de desempenho usada em cada um deles.
•
No aprendizado supervisionado, a medida de desempenho é baseada no conjunto
de respostas desejadas usando um critério de erro conhecido, enquanto que no
aprendizado por reforço a única informação fornecida à rede é se uma determinada
saída está correta ou não.
•
A idéia básica tem origem em estudos experimentais sobre aprendizado dos
animais. Quanto maior a satisfação obtida com uma certa experiência em um
animal, maiores as chances dele aprender.
crítico
reforço/
penalidade
RNA
resposta
Download

Document