2.11 Algoritmos de Aprendizado
2.11.7 Modelos Probabilísticos
Apesar de encontrar-se boas soluções quando atinge um mínimo local de energia, em um problema de otimização, essas não apresentam a melhor solução.
Os modelos probabilísticos surgiram com a finalidade de se encontrar uma solução ótima. Tais modelos não garantem o encontro da melhor solução, mas controlam as probabilidades de atingir cada mínimo, a fim de tornar o mínimo em absoluto mais freqüente.
Existem vários modelos e algoritmos probabilísticos, como a Teoria da Harmonia, de Paul Smolensky e a máquina de Boltzmann de G. E. Hilton e T. j. Sejnowsky, aprofundaremo-nos um pouco mais neste último exemplo por ser mais usual.
A máquina de Boltzmann é uma combinação de idéias divididas de diversos campos, incluindo: otimização combinatorial, teoria da informação, modelagem de
redes neurais, visão de máquina, computação paralela e modelamento de memória associativa.
Essa modelagem assegura que a probabilidade relativa de se atingir 2 mínimos diferentes no final do processamento, depende da diferença da energia entre eles, sem considerar a seqüência de atuação dos neurônios.
O modelo da máquina de Boltzmann usa a função de distribuição Boltzmann (ou função da probabilidade termodinâmica) para ajustar a energia das conexões.
Definindo o valor de um estado por esta função, a probabilidade de uma mudança de estado é muito pequena quando a rede atinge uma solução ótima, mas alta quando a rede está longe de uma solução. Esta alteração dos estados é realizada pela aplicação de uma técnica chamada Algoritmo Metrópolis.
A troca introduz uma variável T que funciona como temperatura, de modo que para cada temperatura a probabilidade global de 2 possíveis padrões de entradas A e B alcance um balanço ou equilíbrio térmico definido pela Equação 2.14:
PROBa / PROBb = e -(Ea –Eb) / t) (2.14)
Onde:
E é a soma da energia para cada estado de dois possíveis padrões permutados A
e B e T é a variável atuando como temperatura.
Essa distribuição de probabilidade muda o estado como uma função da temperatura, onde em altas temperaturas a rede efetua uma pesquisa grosseira sobre a matriz de estados (que rapidamente converge globalmente), e então a temperatura refrigera, que é incrementalmente feita por um mínimo local próximo de uma região de mínimo global.
Para aplicar esse modelo de rede, o padrão é manipulado pelo cálculo da mudança de uma quantidade de energia que resultaria em um afastamento rápido de cada estado dentro de um valor alternativo e indiferente de seu estado atual, mudando o estado para 1 com probabilidade(Equação 2.15):
P1 = 1 / 1 + e -∆E/T (2.15)
O processo é repetido muitas vezes diminuindo progressivamente a temperatura até que ela se torne muito baixa e o estado se fixa dentro de um padrão do mínimo global. Essa técnica tem se mostrado muito útil em partição gráfica, e muito utilizado para projetar placas de circuitos em larga escala.No lado negativo, entretanto, ela precisa de muitos ensaios, e é mais lenta que o modelo Hopfield.
Uma extensão interessante da máquina de Boltzmann é a imitação da aprendizagem autônoma.
Um problema difícil de recente pesquisa em redes neurais foi chamado problema de atribuição de crédito. Para formar com computações não triviais, uma rede deve conter estados que não são diretamente coagidos para a entrada. Entretanto quando a rede se constitui corretamente, ela está impedida de determinar qual dos muitos valores da conexão da matriz de estados causou o problema (não possui lógica para alterar suas análises).
Uma modificação da máquina de Boltzmann pode solucionar este problema. O método leva em consideração o simples relacionamento entre o valor do peso na matriz de estados e a probabilidade relativa de pares de estados para encontrar o equilíbrio térmico. Se as probabilidades de pares de estados forem calculadas quando alguns estados são capturados pelo ambiente e alguns estados intermediários não são (Pcapturados) e compararmos a probabilidade dos mesmos estados quando não capturados (Pnãocapturado), o peso da matriz de estados entre os dois estados é modificado assim que mudar(Equação 2.16):
Wij = c.(Pcapturado – Pnãocapturado) (2.16)
Onde:
c é uma porcentagem pequena.
Usando este método, a máquina de Boltzmann pode aprender a detectar irregularidades nos padrões influenciados pelo ambiente e gradualmente ajustar seus pesos internos até que ela possa recriar a mesma regularidade durante a reconstituição.
Este método é uma promessa para sistemas que podem aprender a respeito de novos ambientes sem intervenção ou interpretação humana.
2.11.7.1 Máquina de Boltzmann
A computação das máquinas de Boltzmann pode ser realizada da seguinte maneira:
Fixam-se as unidades de entrada com o padrão de interesse e deixam-se as unidades restantes atuarem, probabilisticamente, ativando-as e desativando-as até que a rede atinja o equilíbrio térmico.
Neste ponto, as unidades de saída ainda estão mudando de estados, mas as probabilidades dos padrões de saída tornaram-se invariantes com a continuação do processo.
Se reduzirmos a temperatura continuamente, forçando equilíbrio térmico em temperatura baixa, teremos padrões de saída muito prováveis. Quando a temperatura for nula, atingimos um estado provável, pois a ativação de cada neurônio será regida por uma função de grau, que dará a probabilidade 0 ou 1 do neurônio estar ativo, definindo, então o seu estado.
De forma simplificada, podemos aplicar o algoritmo de aprendizagem seguindo os seguintes passos:
1) Fixar T, η, Tol
Onde:
T é a Temperatura
η é a Taxa de Aprendizagem Livre
Tol é o tempo de tolerância para a rede aprender
2) Inicializar a matriz de conectividade W com valores aleatórios pequenos, de dimensão i X j onde i é o comprimento do padrão de entrada e j o de saída.
4) Treinar a rede até atingir a convergência, dentro da tolerância especificada(Equações 2.17,2.18,2.19,2.20).
NetPj = ∑Wij * Inpi (2.17) Netpj = f limiar (Netpj) (2.18)
δpj = η * (Outpj – Netpj) * Inpi (2.19) Wij = Wij + δpj (2.20)
Onde:
Netpj é a saída real do padrão p Inpi é o padrão de entrada
Outpj é o padrão de saída desejado f limiar é a função de ativação
Wij é o peso da sinapse que interliga a unidade i do nível de entrada à unidade j
do nível de saída.
A máquina de Boltzmann possui duas características importantes:
• Pode conter níveis intermediários (e o treinamento para eles repete-se da mesma forma)
• Possui a capacidade de Abstrair dados.