Académique Documents
Professionnel Documents
Culture Documents
Fundamentos e aplicaes
Referncias
Redes Neurais: Princpios e Prticas
Simon Haykin
Pattern Classification:
Richard O. Duda Petter E. Hart David G. Stork
Inteligncia Artificial
Stuart Russell Peter Norvig
Tpicos
Definio Redes Neurais Recorrentes Modelo Estocstico de um Neurnio Caractersticas da Mquina de Boltzmann Neurnios da Mquina de Boltzmann Recozimento Simulado Aprendizado de Boltzmann Aplicaes
Definio
A Mquina de Boltzmann um tipo de redes neurais recorrentes estocsticas inventadas por Geoffrey Hinton e Terry Sejnowski - 1986
Caractersticas
Utiliza conexes sinpticas simtricas em seus neurnios:
A conexo sinptica simtrica do neurnio i para o neurnio j representada por wij, com
wij = wji para todo (i,j)
Possui uma funo de energia E cujo seu valor determinado pelos estados particulares ocupados pelos neurnios individuais da mquina.
Funo de energia
E = funo de energia xj = estado do neurnio j; w kj = peso sinptico conectando o neurnio j ao neurnio k; j k = significa que nenhum dos neurnios da mquina tem auto-realimentao
Mnimo global
Se tomarmos uma caixa contendo uma paisagem e uma bola de gude, poderamos comear agitando o caixa vigorosamente no incio e depois, gradualmente, reduzir a quantidade de agitao. A idia que em qualquer perodo, deve haver apenas a energia suficiente na caixa para agitar a bolinha para a cavidade mais profunda.
Recozimento Simulado
Tem por objetivo convergir a funo para um mnimo global.
Recozimento simulado
Valor inicial da temperatura T escolhido suficientemente alto;
Aprendizado de Boltzmann
Tipo de aprendizado:
No supervisionado Supervisionado
Aprendizagem de Boltzmann
Consiste em duas fases:
Fase positiva:
Nesta fase a rede opera na sua condio presa, isto , os neurnios visveis esto todos presos a estados especficos determinados pelo ambiente.
Fase negativa:
Nesta segunda fase, permitido que todos os neurnios (visveis e ocultos) operem livremente.
Aprendizagem de Boltzmann
Operao:
Escolha aleatria de um neurnio (j); Altera-se o estado do neurnio de sj para sj em alguma temperatura T, com probabilidade dada por:
Aprendizagem de Boltzmann
E = Variao de energia da mquina resultante da troca realizada pela funo de energia:
Ej = k wjksk T = temperatura
Exemplo
Exemplo
1
-1
Exemplo
1
0,3
0,4 1 0,4 -1
Exemplo
w11 w21 w31 w12 w22 w32 w13 w23 w33 0,2 0,2 0,3 1
0,3
0,4 1 0,4 -1
Exemplo
w11 w21 w31 w12 w22 w32 w13 w23 w33 0,2 0,2 0,3 1 0 0,2 0,3 0,2 0 0,4 0,3 0,4 0
0,3
0,4 1 0,4 -1
Exemplo
w11 w21 w31 w12 w22 w32 w13 w23 w33 0,2 0,2 0,3 1 0 0,2 0,3 0,2 0 0,4 0,3 0,4 0
0,3
0,4 1 0,4 -1
Temperatura: 10 =0.8
Exemplo
Para neurnio 1: E1 = ((0,2 * 1) + (0, 3 * (-1))) = -0,1 p1 = (1/(1+exp(-(-0,1)/10) ))= 0,4975 p1 < 0,5 logo o estado do neurnio 1 -1.
Exemplo
w11 w21 w31 w12 w22 w32 w13 w23 w33 0,2 0,2 0,3 -1 0 0,2 0,3 0,2 0 0,4 0,3 0,4 0
0,3
0,4 1 0,4 -1
Temperatura: 8
Exemplo
Para neurnio 2: E2 = ((0,2 * (-1)) + (0, 3 * (-1))) = -0,6 p2 = (1/(1+exp(-(-0,6)/8) ))= 0,4812 p2 < 0,5 logo o estado do neurnio 2 -1.
Exemplo
w11 w21 w31 w12 w22 w32 w13 w23 w33 0,2 0,2 0,3 -1 0 0,2 0,3 0,2 0 0,4 0,3 0,4 0
0,3
0,4 -1 0,4 -1
Temperatura: 6,4
Exemplo
Para neurnio 3: E3 = ((0,2 * (-1)) + (0, 3 * (-1))) = -0,7 p2 = (1/(1+exp(-(-0,7)/6,4) ))= 0,4726 p2 < 0,5 logo o estado do neurnio 3 -1.
Exemplo
-1
-1
-1
Aprendizagem de Boltzmann
Se a rede executar por tempo suficiente, alcanara um ponto de baixa energia chamado ponto de equilbrio trmico. Pode-se estimar a distribuio de probabilidade sobre as unidades visveis, na fase em que a rede executa livremente, calculando as atividades mdias < S > de todas as unidades visveis.
Aprendizado de Boltzmann
Distncia de Kullback-Leibler:
onde
P distribuio dos neurnios visveis P distribuio dos neurnios ocultos
Aprendizado de Boltzmann
Para aproximar as distribuies de probabilidades P e P, basta minimizar a funo G:
onde
<sisj>+ (probabilidade dos neurnios i e j estarem ativos) <sisj>- (probabilidade dos neurnios i e j estarem inativos )
Aprendizagem de Boltzmann
Variao dos pesos:
Suponha que pjk- represente a correlao entre os estados dos neurnios j e k, com a rede na sua condio presa. Suponha que pjk+ represente a correlao entre os estados dos neurnios j e k, com a rede na sua condio livre.
Aprendizagem de Boltzmann
A variao kj aplicada ao peso sinptico kj do neurnio j para o neurnio K definada por (Hinton e Sejnowski, 1986) kj = (kj- - pkj+), jk
Algoritmo
1. 2. 3. 4. 5. 6. 7. 8. 9. Atribuir valores iniciais aos pesos que reflitam o problema; Atribua valor constante de reduo de temperatura (preferencialmente entre 0.8 e 0.99); Atribuir valor inicial temperatura; Atribuir valores aleatrios aos ns (0,1 ou -1,1); Aplicar a fase presa a partir da frmula de probabilidade; Aplicar a fase livre a partir da frmula de probabilidade; Ajustar os pesos sinpticos; Ajustar a temperatura; Repetir os passos 5-8 at a temperatura chegar perto de 0 (zero) 1. Deixar que o sistema atinja um equilbrio; 2. Um mnimo global deve ter sido encontrado.
Desvantagem
Caso a reduo da temperatura seja pequena (desejvel) a fase de treinamento fica muito lenta.
Aplicaes
Reconhecimento de padres Problemas de otimizao Exemplos:
http://lotsacode.wordpress.com/2010/09/14/sharprbmrestricted-boltzmann-machines-in-c-net/
Resumo
Rede neural recorrente, onde cada n conectado a outro, mas no a si mesmo; Ns tm sada binria (1 ou-1 / 0 ou 1); Os pesos so simtricos; A rede constituda de ns visveis e ocultos; A aprendizagem pode ser supervisionada ou no supervisionada; A ativao do n estocstico.