Post on 24-Oct-2015
Referências• Redes Neurais: Princípios e Práticas
▫Simon Haykin
• Pattern Classification:▫Richard O. Duda▫Petter E. Hart▫David G. Stork
• Inteligência Artificial▫Stuart Russell▫Peter Norvig
Tópicos
•Definição•Redes Neurais Recorrentes•Modelo Estocástico de um Neurônio•Características da Máquina de Boltzmann•Neurônios da Máquina de Boltzmann•Recozimento Simulado•Aprendizado de Boltzmann•Aplicações
Definição
•A Máquina de Boltzmann é um tipo de redes neurais recorrentes estocásticas inventadas por Geoffrey Hinton e Terry Sejnowski - 1986
Modelo Estocástico de um neurônio•Permite-se que um neurônio assuma
apenas um de dois estados:▫+1 para o estado “ligado”▫- 1 para o estado “desligado”
•A decisão de mudar o estado do neurônio é probabilística.
Características•Utiliza conexões sinápticas simétricas em
seus neurônios:▫A conexão sináptica simétrica do neurônio i
para o neurônio j é representada por wij, comwij = wji para todo (i,j)
•Possui uma função de energia E cujo seu valor é determinado pelos estados particulares ocupados pelos neurônios individuais da máquina.
Função de energia
E = função de energiaxj = estado do neurônio j;w kj = peso sináptico conectando o neurônio j ao neurônio k;j ≠ k = significa que nenhum dos neurônios da máquina tem auto-realimentação
Neurônios da Máquina de Boltzmann
•Neurônios visíveis:▫Fornecem uma interface entre a rede e o
ambiente no qual ela opera.▫Durante a fase de treinamento da rede
(aprendizagem supervisionada), os neurônios visíveis estão todos presos a estados específicos determinados pelo ambiente.
Neurônios da Máquina de Boltzmann
•Neurônios ocultos▫Sempre operam livremente▫São usados para explicar as restrições
subjacentes contidas nos vetores de entrada do ambiente.
Mínimo global
Se tomarmos uma caixa contendo uma paisagem e uma bola de gude, poderíamos começar agitando o caixa vigorosamente no início e depois, gradualmente, reduzir a quantidade de agitação. A idéia é que em qualquer período, deve haver apenas a energia suficiente na caixa para agitar a bolinha para a cavidade mais profunda.
Recozimento Simulado• Tem por objetivo convergir a função para um mínimo
global.
• Se diferencia dos algoritmos de otimização por que:▫ Não fica preso necessariamente em mínimos locais, pois é
sempre possível uma transição para fora de um mínimo local quando o sistema opera a uma temperatura diferente de zero.
▫ O recozimento simulado é adaptativo no sentido de que as características grosseiras do estado final do sistema são vistas a altas temperaturas, enquanto que os detalhes finos do estado aparecem em temperaturas muito baixas.
Recozimento simulado•Valor inicial da temperatura T é escolhido
suficientemente alto;
•T não é uma temperatura física (pseudotemperatura);
•Em geral a função de decremento é definida por:▫Tk = αTk-1, k = 1, 2, ...▫onde α é uma constante menor que, mas
próxima, à unidade como 0,8 e 0,99.
Aprendizagem de Boltzmann
•Consiste em duas fases:▫Fase positiva:
Nesta fase a rede opera na sua condição presa, isto é, os neurônios visíveis estão todos presos a estados específicos determinados pelo ambiente.
▫Fase negativa: Nesta segunda fase, é permitido que todos os
neurônios (visíveis e ocultos) operem livremente.
Aprendizagem de Boltzmann
•Operação:▫Escolha aleatória de um neurônio (j);
▫Altera-se o estado do neurônio de sj para –sj em alguma temperatura T, com probabilidade dada por:
Aprendizagem de Boltzmann
•∆E = Variação de energia da máquina resultante da troca realizada pela função de energia:
∆Ej = ∑k wjksk
•T = temperatura
Exemplo
1
-11
0,2
0,2 0,3
0,3
0,4
0,4
w11 w12 w13w21 w22 w23w31 w32 w33
0 0,2 0,30,2 0 0,40,3 0,4 0
Temperatura: 10 α=0.8 p >= 0.5 = 1; p < 0.5 = -1
Exemplo
•Para neurônio 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 neurônio 1 é -1.
Exemplo
-1
-11
0,2
0,2 0,3
0,3
0,4
0,4
w11 w12 w13w21 w22 w23w31 w32 w33
0 0,2 0,30,2 0 0,40,3 0,4 0
Temperatura: 8 p >= 0.5 = 1; p < 0.5 = -1
Exemplo
•Para neurônio 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 neurônio 2 é -1.
Exemplo
-1
-1-1
0,2
0,2 0,3
0,3
0,4
0,4
w11 w12 w13w21 w22 w23w31 w32 w33
0 0,2 0,30,2 0 0,40,3 0,4 0
Temperatura: 6,4 p >= 0.5 = 1; p < 0.5 = -1
Exemplo
•Para neurônio 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 neurônio 3 é -1.
Aprendizagem de Boltzmann
•Se a rede executar por tempo suficiente, alcançara um ponto de baixa energia chamado ponto de equilíbrio térmico.
•Pode-se estimar a distribuição de probabilidade sobre as unidades visíveis, na fase em que a rede executa livremente, calculando as atividades médias < S > de todas as unidades visíveis.
Aprendizado de Boltzmann
•Distância de Kullback-Leibler:
•onde ▫Pα – distribuição dos neurônios visíveis▫Pβ – distribuição dos neurônios ocultos
Aprendizado de Boltzmann• Para aproximar as distribuições de
probabilidades Pα e Pβ, basta minimizar a função G:
• onde▫<sisj>+ (probabilidade dos neurônios i e j
estarem ativos)▫<sisj>- (probabilidade dos neurônios i e j
estarem inativos )
Aprendizagem de Boltzmann
•Variação dos pesos:▫Suponha que pjk
- represente a correlação entre os estados dos neurônios j e k, com a rede na sua condição presa.
▫Suponha que pjk+ represente a correlação
entre os estados dos neurônios j e k, com a rede na sua condição livre.
Aprendizagem de Boltzmann
•A variação ∆ωkj aplicada ao peso sináptico ωkj do neurônio j para o neurônio K é definada por (Hinton e Sejnowski, 1986)
∆ωkj = η(ρkj- - pkj
+), j≠k
•η = taxa de aprendizagem•ρkj
- e pkj+ assumem valores entre -1 e +1.
Algoritmo
1. Atribuir valores iniciais aos pesos que reflitam o problema;
2. Atribua valor à constante de redução de temperatura (preferencialmente entre 0.8 e 0.99);
3. Atribuir valor inicial à temperatura;
4. Atribuir valores aleatórios aos nós (0,1 ou -1,1);
5. Aplicar a fase “presa” a partir da fórmula de probabilidade;
6. Aplicar a fase “livre” a partir da fórmula de probabilidade;
7. Ajustar os pesos sinápticos;
8. Ajustar a temperatura;
9. Repetir os passos 5-8 até a temperatura chegar perto de 0 (zero)1. Deixar que o sistema atinja um equilíbrio;2. Um mínimo global deve ter sido encontrado.
Desvantagem
•Caso a redução da temperatura seja pequena (desejável) a fase de treinamento fica muito lenta.
Aplicações
•Reconhecimento de padrões
•Problemas de otimização
•Exemplos:▫ http://lotsacode.wordpress.com/2010/09/14/sharprb
m-restricted-boltzmann-machines-in-c-net/
Resumo• Rede neural recorrente, onde cada nó é conectado a
outro, mas não a si mesmo;
• Nós têm saída binária (1 ou-1 / 0 ou 1);
• Os pesos são simétricos;
• A rede é constituída de nós visíveis e ocultos;
• A aprendizagem pode ser supervisionada ou não supervisionada;
• A ativação do nó é estocástico.