Máquina Boltzmann - Boltzmann machine

Uma representação gráfica de um exemplo de máquina Boltzmann.
Uma representação gráfica de um exemplo de máquina Boltzmann. Cada borda não direcionada representa dependência. Neste exemplo, existem 3 unidades ocultas e 4 unidades visíveis. Esta não é uma máquina Boltzmann restrita.

Uma máquina de Boltzmann (também chamada de rede estocástica de Hopfield com unidades ocultas ou modelo Sherrington-Kirkpatrick com campo externo ou modelo estocástico de Ising-Lenz-Little ) é um tipo de rede neural recorrente estocástica . É um campo aleatório de Markov . Foi traduzido da física estatística para uso em ciências cognitivas . A máquina de Boltzmann é baseada em um modelo de vidro giratório estocástico com um campo externo, ou seja, um modelo Sherrington-Kirkpatrick que é um modelo de Ising estocástico e aplicado ao aprendizado de máquina.

As máquinas Boltzmann são teoricamente intrigantes por causa da localidade e natureza Hebbian de seu algoritmo de treinamento (sendo treinado pela regra de Hebb), e por causa de seu paralelismo e a semelhança de sua dinâmica com processos físicos simples . As máquinas Boltzmann com conectividade irrestrita não se mostraram úteis para problemas práticos de aprendizado de máquina ou inferência, mas se a conectividade for adequadamente restrita, o aprendizado pode se tornar eficiente o suficiente para ser útil para problemas práticos.

Eles são nomeados após a distribuição de Boltzmann em mecânica estatística , que é usada em sua função de amostragem . Esta é a razão pela qual são chamados de " modelos baseados em energia " (MBE). Eles foram amplamente popularizados e promovidos por Geoffrey Hinton , Terry Sejnowski e Yann LeCun nas comunidades de ciências cognitivas e no aprendizado de máquina .

Estrutura

Uma representação gráfica de um exemplo de máquina Boltzmann com etiquetas de peso.
Uma representação gráfica de uma máquina Boltzmann com alguns pesos rotulados. Cada borda não direcionada representa dependência e é ponderada com peso . Neste exemplo, existem 3 unidades ocultas (azul) e 4 unidades visíveis (branco). Esta não é uma máquina Boltzmann restrita.

Uma máquina Boltzmann, como uma rede Hopfield , é uma rede de unidades com uma "energia" ( Hamiltoniana ) definida para a rede geral. Suas unidades produzem resultados binários . Ao contrário das redes Hopfield, as unidades da máquina Boltzmann são estocásticas . A energia global em uma máquina Boltzmann é idêntica em forma à das redes Hopfield e modelos Ising :

Onde:

  • é a força da conexão entre a unidade e a unidade .
  • é o estado ,, da unidade .
  • é o viés da unidade na função de energia global. ( é o limite de ativação para a unidade.)

Freqüentemente, os pesos são representados como uma matriz simétrica com zeros ao longo da diagonal.

Probabilidade de estado da unidade

A diferença na energia global que resulta de uma única unidade igual a 0 (desligado) versus 1 (ligado), escrita , assumindo uma matriz simétrica de pesos, é dada por:

Isso pode ser expresso como a diferença de energias de dois estados:

Substituir a energia de cada estado por sua probabilidade relativa de acordo com o fator de Boltzmann (a propriedade de uma distribuição de Boltzmann de que a energia de um estado é proporcional à probabilidade logarítmica negativa desse estado).

onde está a constante de Boltzmann e é absorvido pela noção artificial de temperatura . Em seguida, reorganizamos os termos e consideramos que as probabilidades da unidade estar ligada e desligada devem somar um:

Resolvendo para , a probabilidade de que a -ésima unidade esteja ligada dá:

onde o escalar é referido como a temperatura do sistema. Essa relação é a fonte da função logística encontrada em expressões de probabilidade em variantes da máquina de Boltzmann.

Estado de equilibrio

A rede funciona escolhendo repetidamente uma unidade e redefinindo seu estado. Depois de funcionar por tempo suficiente em uma determinada temperatura, a probabilidade de um estado global da rede depende apenas da energia desse estado global, de acordo com uma distribuição de Boltzmann , e não do estado inicial a partir do qual o processo foi iniciado. Isso significa que as probabilidades logarítmicas de estados globais tornam-se lineares em suas energias. Essa relação é verdadeira quando a máquina está "em equilíbrio térmico ", o que significa que a distribuição de probabilidade dos estados globais convergiu. Executando a rede a partir de uma temperatura alta, sua temperatura vai diminuindo gradativamente até atingir um equilíbrio térmico em uma temperatura mais baixa. Em seguida, pode convergir para uma distribuição onde o nível de energia flutua em torno do mínimo global. Este processo é denominado recozimento simulado .

Para treinar a rede de forma que a chance de convergir para um estado global de acordo com uma distribuição externa sobre esses estados, os pesos devem ser ajustados de forma que os estados globais com as maiores probabilidades obtenham as menores energias. Isso é feito por meio de treinamento.

Treinamento

As unidades na máquina de Boltzmann são divididas em unidades 'visíveis', V, e unidades 'ocultas', H. As unidades visíveis são aquelas que recebem informações do 'ambiente', ou seja, o conjunto de treinamento é um conjunto de vetores binários sobre o conjunto V. A distribuição sobre o conjunto de treinamento é denotada .

A distribuição sobre os estados globais converge conforme a máquina de Boltzmann atinge o equilíbrio térmico . Denotamos essa distribuição, depois de marginalizá- la sobre as unidades ocultas, como .

Nosso objetivo é aproximar a distribuição "real" utilizando o produzido pela máquina. A semelhança das duas distribuições é medido pela divergência Kullback-Leibler , :

onde a soma é sobre todos os estados possíveis de . é função dos pesos, pois eles determinam a energia de um estado, e a energia determina , conforme prometido pela distribuição de Boltzmann. Um algoritmo de descida gradiente altera um determinado peso, subtraindo a derivada parcial de em relação ao peso.

O treinamento da máquina Boltzmann envolve duas fases alternadas. Uma é a fase "positiva", onde os estados das unidades visíveis são fixados a um vetor de estado binário particular amostrado do conjunto de treinamento (de acordo com ). A outra é a fase "negativa" onde a rede pode funcionar livremente, ou seja, nenhuma unidade tem seu estado determinado por dados externos. O gradiente em relação a um determinado peso ,, é dado pela equação:

Onde:

  • é a probabilidade de que as unidades i e j estejam ativadas quando a máquina estiver em equilíbrio na fase positiva.
  • é a probabilidade de que as unidades i e j estejam ativadas quando a máquina estiver em equilíbrio na fase negativa.
  • denota a taxa de aprendizagem

Este resultado segue do fato de que no equilíbrio térmico a probabilidade de qualquer estado global quando a rede está rodando livremente é dada pela distribuição de Boltzmann.

Essa regra de aprendizado é biologicamente plausível porque a única informação necessária para alterar os pesos é fornecida pela informação "local". Ou seja, a conexão ( sinapse , biologicamente) não precisa de informações sobre nada além dos dois neurônios que conecta. Isso é mais biologicamente realista do que a informação necessária para uma conexão em muitos outros algoritmos de treinamento de rede neural, como retropropagação .

O treinamento de uma máquina Boltzmann não usa o algoritmo EM , que é muito usado no aprendizado de máquina . Ao minimizar a divergência KL , é equivalente a maximizar a probabilidade de log dos dados. Portanto, o procedimento de treinamento realiza uma subida de gradiente na probabilidade logarítmica dos dados observados. Isso está em contraste com o algoritmo EM, onde a distribuição posterior dos nós ocultos deve ser calculada antes da maximização do valor esperado da probabilidade completa dos dados durante o passo M.

O treinamento dos vieses é semelhante, mas usa apenas a atividade de um único nó:

Problemas

Teoricamente, a máquina de Boltzmann é um meio computacional bastante geral. Por exemplo, se treinada em fotografias, a máquina modelaria teoricamente a distribuição de fotografias e poderia usar esse modelo para, por exemplo, completar uma fotografia parcial.

Infelizmente, as máquinas Boltzmann enfrentam um sério problema prático, a saber, que parecem parar de aprender corretamente quando a máquina é ampliada para algo maior do que um tamanho trivial. Isso se deve a efeitos importantes, especificamente:

  • a ordem de tempo necessária para coletar estatísticas de equilíbrio cresce exponencialmente com o tamanho da máquina e com a magnitude das intensidades de conexão
  • as forças de conexão são mais plásticas quando as unidades conectadas têm probabilidades de ativação intermediárias entre zero e um, levando a uma chamada armadilha de variância. O efeito líquido é que o ruído faz com que as intensidades de conexão sigam um passeio aleatório até que as atividades sejam saturadas.

Tipos

Máquina de Boltzmann restrita

Representação gráfica de um exemplo de máquina de Boltzmann restrita
Representação gráfica de uma máquina de Boltzmann restrita. As quatro unidades azuis representam unidades ocultas e as três unidades vermelhas representam estados visíveis. Em máquinas Boltzmann restritas, existem apenas conexões (dependências) entre unidades ocultas e visíveis, e nenhuma entre unidades do mesmo tipo (sem conexões ocultas-ocultas, nem conexões visíveis-visíveis).

Embora a aprendizagem seja impraticável em máquinas de Boltzmann em geral, pode ser bastante eficiente em uma máquina de Boltzmann restrita (RBM) que não permite conexões intralamadas entre unidades ocultas e unidades visíveis, ou seja, não há conexão entre visível para visível e oculto para unidades ocultas . Depois de treinar um RBM, as atividades de suas unidades ocultas podem ser tratadas como dados para treinar um RBM de nível superior. Este método de empilhar RBMs torna possível treinar muitas camadas de unidades ocultas de forma eficiente e é uma das estratégias de aprendizado profundo mais comuns . À medida que cada nova camada é adicionada, o modelo gerador melhora.

Uma extensão da máquina Boltzmann restrita permite o uso de dados de valor real em vez de dados binários.

Um exemplo de aplicação prática de RBM é o reconhecimento de voz.

Máquina Deep Boltzmann

Uma máquina de Boltzmann profunda (DBM) é um tipo de campo aleatório de Markov pareado binário ( modelo gráfico probabilístico não direcionado ) com múltiplas camadas de variáveis ​​aleatórias ocultas . É uma rede de unidades binárias estocásticas simetricamente acopladas . Compreende um conjunto de unidades visíveis e camadas de unidades ocultas . Sem unidades de links de conexão da mesma camada (como RBM ). Para o DBM , a probabilidade atribuída ao vetor ν é

onde estão o conjunto de unidades ocultas e são os parâmetros do modelo, representando interações visível-oculto e oculto-oculto. Em um DBN, apenas as duas camadas superiores formam uma máquina de Boltzmann restrita (que é um modelo gráfico não direcionado ), enquanto as camadas inferiores formam um modelo gerador direcionado. Em um DBM, todas as camadas são simétricas e não direcionadas.

Como os DBNs , os DBMs podem aprender representações internas complexas e abstratas da entrada em tarefas como objeto ou reconhecimento de fala , usando dados limitados e rotulados para ajustar as representações construídas usando um grande conjunto de dados de entrada sensoriais não rotulados. No entanto, ao contrário dos DBNs e das redes neurais convolucionais profundas , eles buscam o procedimento de inferência e treinamento em ambas as direções, ascendente e descendente, o que permite ao DBM desvendar melhor as representações das estruturas de entrada.

No entanto, a velocidade lenta dos DBMs limita seu desempenho e funcionalidade. Como o aprendizado de máxima verossimilhança exata é intratável para DBMs, apenas o aprendizado de máxima verossimilhança aproximada é possível. Outra opção é usar a inferência de campo médio para estimar as expectativas dependentes de dados e aproximar as estatísticas suficientes esperadas usando a cadeia de Markov Monte Carlo (MCMC). Essa inferência aproximada, que deve ser feita para cada entrada de teste, é cerca de 25 a 50 vezes mais lenta do que uma única passagem ascendente em DBMs. Isso torna a otimização conjunta impraticável para grandes conjuntos de dados e restringe o uso de DBMs para tarefas como representação de recursos.

RBMs de ponta e placa

A necessidade de aprendizado profundo com entradas de valor real , como em RBMs gaussianos , levou ao RBM spike-and-slab ( ss RBM ), que modela entradas de valor contínuo com variáveis ​​latentes binárias . Semelhante aos RBMs básicos e suas variantes, um RBM espigão e laje é um gráfico bipartido , enquanto como os GRBMs , as unidades visíveis (entrada) têm valor real. A diferença está na camada oculta, onde cada unidade oculta tem uma variável de pico binária e uma variável de laje com valor real. Um pico é uma massa de probabilidade discreta em zero, enquanto uma placa é uma densidade sobre um domínio contínuo; sua mistura forma a priori .

Uma extensão de ss RBM chamada µ-ss RBM fornece capacidade extra de modelagem usando termos adicionais na função de energia . Um desses termos permite que o modelo forme uma distribuição condicional das variáveis ​​de pico, marginalizando as variáveis ​​de laje dadas uma observação.

História

A máquina Boltzmann é baseada em um modelo de vidro giratório do Modelo Ising estocástico de Sherrington-Kirkpatrick .

A contribuição original na aplicação de tais modelos baseados em energia na ciência cognitiva apareceu em artigos de Hinton e Sejnowski.

A publicação seminal de John Hopfield conectou a física e a mecânica estatística, mencionando óculos de spin.

A ideia de aplicar o modelo de Ising com recozido amostragem Gibbs está presente em Douglas Hofstadter 's Copycat projeto.

Idéias semelhantes (com uma mudança de sinal na função de energia) são encontradas na "Teoria da Harmonia" de Paul Smolensky .

A analogia explícita traçada com a mecânica estatística na formulação da Máquina de Boltzmann levou ao uso de terminologia emprestada da física (por exemplo, "energia" em vez de "harmonia"), que se tornou padrão na área. A adoção generalizada desta terminologia pode ter sido encorajada pelo fato de que seu uso levou à adoção de uma variedade de conceitos e métodos da mecânica estatística. As várias propostas para usar o recozimento simulado para inferência eram aparentemente independentes.

Os modelos de Ising passaram a ser considerados um caso especial de campos aleatórios de Markov , que encontram ampla aplicação em linguística , robótica , visão computacional e inteligência artificial .

Veja também

.

Referências

  1. https://www.mis.mpg.de/preprints/2018/preprint2018_87.pdf

Leitura adicional

links externos