Aprendizado de máquina e redes neurais - página 57

 

Aula 10.2 — Misturas de Especialistas



Aula 10.2 — Misturas de especialistas [Redes neurais para aprendizado de máquina]

O modelo de mistura de especialistas, desenvolvido no início dos anos 1990, treina várias redes neurais, cada uma especializada em diferentes partes dos dados. A ideia é ter uma rede neural por regime de dados, com uma rede neural do gerente decidindo qual especialista atribuir com base nos dados de entrada. Essa abordagem se torna mais eficaz com conjuntos de dados maiores, pois pode aproveitar dados extensos para melhorar as previsões. Durante o treinamento, os pesos dos modelos são aumentados para focar nos casos em que eles apresentam melhor desempenho. Essa especialização faz com que modelos individuais se destaquem em certas áreas e tenham um desempenho ruim em outras. A chave é fazer com que cada especialista se concentre em prever a resposta certa para os casos em que supera outros especialistas.

No espectro de modelos, existem modelos locais e globais. Os modelos locais, como os vizinhos mais próximos, concentram-se em casos de treinamento específicos e armazenam seus valores para previsão. Modelos globais, como ajustar um polinômio a todos os dados, são mais complexos e podem ser instáveis. No meio, existem modelos de complexidade intermediária que são úteis para conjuntos de dados com regimes diferentes e relações variadas de entrada-saída.

Para ajustar diferentes modelos a diferentes regimes, os dados de treinamento precisam ser particionados em subconjuntos que representam cada regime. O agrupamento baseado apenas em vetores de entrada não é o ideal. Em vez disso, a similaridade nos mapeamentos de entrada-saída deve ser considerada. O particionamento baseado no mapeamento de entrada-saída permite que os modelos capturem melhor os relacionamentos dentro de cada regime.

Existem duas funções de erro: uma que incentiva os modelos a cooperar e outra que incentiva a especialização. Incentivar a cooperação envolve comparar a média de todos os preditores com o alvo e treinar os preditores juntos para minimizar a diferença. No entanto, isso pode levar ao overfitting se o modelo for mais poderoso do que treinar cada preditor separadamente. Em contraste, a função de erro que promove a especialização compara a saída de cada modelo com o alvo separadamente. Um gerente determina os pesos atribuídos a cada modelo, que representam a probabilidade de selecionar esse modelo. A maioria dos especialistas acabará ignorando a maioria dos alvos, concentrando-se apenas em um subconjunto de casos de treinamento em que tenham um bom desempenho.

A arquitetura do modelo de mistura de especialistas consiste em vários especialistas, um gerente e uma camada softmax. O gerente determina as probabilidades de selecionar cada especialista com base nos dados de entrada. A função de erro é calculada usando as saídas dos especialistas e as probabilidades do gerente. Diferenciando a função de erro, podem-se obter gradientes para treinar os especialistas e o gerente. Especialistas com baixas probabilidades para um determinado caso terão gradientes pequenos, preservando seus parâmetros. A diferenciação em relação às saídas da rede de gating fornece a especialização baseada em probabilidade.

Existe uma função de custo mais complicada baseada em modelos de mistura, que envolve previsões gaussianas e estimativa de máxima verossimilhança. Essa função maximiza a probabilidade logarítmica do valor alvo sob a mistura da distribuição preditiva dos especialistas. O objetivo é minimizar a probabilidade de log negativo como a função de custo.

A mistura de modelos de especialistas aproveita redes neurais especializadas para diferentes regimes de dados e utiliza efetivamente grandes conjuntos de dados para previsões aprimoradas.

Lecture 10.2 — Mixtures of Experts [Neural Networks for Machine Learning]
Lecture 10.2 — Mixtures of Experts [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
 

Aula 10.3 — A ideia do aprendizado bayesiano completo



Aula 10.3 — A ideia de aprendizado bayesiano completo [Redes neurais para aprendizado de máquina]

Neste vídeo, discutirei o aprendizado bayesiano completo e como ele funciona. No aprendizado bayesiano completo, pretendemos encontrar a distribuição posterior completa sobre todas as configurações de parâmetros possíveis, em vez de procurar uma única configuração ideal. No entanto, calcular essa distribuição é computacionalmente intensivo para modelos complexos como redes neurais. Assim que tivermos a distribuição posterior, podemos fazer previsões calculando a média das previsões de diferentes configurações de parâmetros ponderadas por suas probabilidades posteriores. Embora essa abordagem seja computacionalmente exigente, ela nos permite usar modelos complexos mesmo com dados limitados.

O overfitting é um problema comum ao ajustar modelos complicados a pequenos conjuntos de dados. No entanto, ao obter a distribuição posterior completa sobre os parâmetros, podemos evitar o overfitting. Uma abordagem frequentista sugere o uso de modelos mais simples quando há dados limitados, assumindo que ajustar um modelo significa encontrar a melhor configuração de parâmetros. Mas com a distribuição posterior completa, mesmo com poucos dados, as previsões podem ser vagas devido a diferentes configurações de parâmetros com probabilidades posteriores significativas. À medida que coletamos mais dados, a distribuição posterior torna-se mais focada em configurações de parâmetros específicos, levando a previsões mais nítidas.

O exemplo de overfitting envolve ajustar um polinômio de quinta ordem a seis pontos de dados, o que parece ajustar os dados perfeitamente. Em contraste, uma linha reta com apenas dois graus de liberdade não se ajusta bem aos dados. No entanto, se começarmos com um a priori razoável em polinômios de quinta ordem e calcularmos a distribuição posterior completa, obteremos previsões mais vagas, mas mais sensatas. Diferentes modelos dentro da distribuição posterior fazem diversas previsões para um determinado valor de entrada e, em média, alinham-se de perto com as previsões feitas pela linha verde.

De uma perspectiva bayesiana, a quantidade de dados coletados não deve influenciar as crenças anteriores sobre a complexidade do modelo. Ao aproximar o aprendizado bayesiano completo em uma rede neural com alguns parâmetros, podemos usar uma abordagem baseada em grade. Colocamos uma grade sobre o espaço de parâmetros, permitindo a cada parâmetro alguns valores alternativos. O produto cruzado desses valores nos dá pontos de grade no espaço de parâmetros. Avaliando o desempenho de cada ponto da grade na previsão dos dados e considerando sua probabilidade anterior, atribuímos probabilidades posteriores. Apesar de ser computacionalmente caro, esse método evita problemas de gradiente descendente e ótimos locais. Ele tem um desempenho melhor do que a probabilidade máxima ou a posteriori máxima quando há dados limitados.

Para fazer previsões sobre dados de teste, calculamos a probabilidade de uma saída de teste dada uma entrada de teste somando as probabilidades de todos os pontos da grade. A probabilidade de um ponto da grade dados os dados e anteriores, multiplicada pela probabilidade de obter a saída do teste dados a entrada e o ponto da grade, determina o peso da predição de cada ponto da grade. Também consideramos a possibilidade de modificar a saída da rede antes de produzir a resposta do teste.

Na imagem fornecida que ilustra o aprendizado bayesiano completo, é mostrada uma pequena rede com quatro pesos e dois bias. Se considerarmos nove valores possíveis para cada peso e viés, o espaço de parâmetros teria nove à potência de seis pontos da grade. Para cada ponto da grade, calculamos a probabilidade das saídas observadas para todos os casos de treinamento, multiplicada pela probabilidade anterior específica para esse ponto da grade. A normalização dessas probabilidades nos dá a probabilidade posterior sobre todos os pontos da grade. Por fim, fazemos previsões usando esses pontos da grade, pesando cada previsão por sua probabilidade posterior.

Lecture 10.3 — The idea of full Bayesian learning [Neural Networks for Machine Learning]
Lecture 10.3 — The idea of full Bayesian learning [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
 

Aula 10.4 — Tornando prático o aprendizado bayesiano completo



Aula 10.4 — Tornando prático o aprendizado bayesiano completo [Redes neurais para aprendizado de máquina]

Neste vídeo, explicarei como tornar prático o aprendizado bayesiano completo para grandes redes neurais com milhares ou até milhões de pesos. A técnica utilizada é o método de Monte Carlo, que pode parecer peculiar à primeira vista. Empregamos um gerador de números aleatórios para explorar o espaço dos vetores de peso de maneira aleatória, mas com um viés descendente na função de custo. Quando feita corretamente, esta abordagem tem uma propriedade notável: ela amostra vetores de peso na proporção de suas probabilidades na distribuição posterior. Amostrando um grande número de vetores de peso, podemos obter uma boa aproximação do método bayesiano completo.

À medida que o número de parâmetros aumenta, o número de pontos de grade no espaço de parâmetros torna-se exponencialmente grande. Portanto, criar uma grade para mais do que alguns parâmetros não é viável quando há dados suficientes para tornar a maioria dos vetores de parâmetros altamente improváveis. Em vez disso, podemos nos concentrar em avaliar uma pequena fração dos pontos da grade que fazem uma contribuição significativa para as previsões. Uma ideia que torna viável o aprendizado bayesiano é amostrar vetores de peso de acordo com suas probabilidades posteriores. Em vez de somar todos os termos da equação, podemos obter amostras dos termos da soma. Atribuímos um peso de um ou zero a cada vetor de peso, dependendo se ele é amostrado ou não. A probabilidade de ser amostrado corresponde à probabilidade posterior do vetor de ponderação, resultando no valor esperado correto.

A retropropagação padrão, representada no lado direito, segue um caminho de um ponto inicial a um único ponto final, movendo-se ao longo do gradiente e descendo a função de custo. Em contraste, um método de amostragem introduz ruído gaussiano em cada atualização de peso, fazendo com que o vetor de peso vagueie e explore o espaço de peso continuamente. Esse comportamento errante favorece regiões de baixo custo e tende a descer ladeira sempre que possível. Uma questão essencial é a frequência com que os pesos visitarão cada ponto do espaço. Os pontos vermelhos representam amostras coletadas durante o deslocamento e podem não estar nas regiões de menor custo devido ao ruído inerente. No entanto, após exploração suficiente, uma propriedade notável da cadeia de Markov Monte Carlo emerge: os vetores de peso tornam-se amostras imparciais da verdadeira distribuição posterior. Os vetores de peso que são altamente prováveis sob o posterior são mais prováveis de serem representados por um ponto vermelho do que os altamente improváveis. Essa técnica, conhecida como cadeia de Markov Monte Carlo, possibilita o uso do aprendizado bayesiano com milhares de parâmetros.

O método mencionado anteriormente, que envolve a adição de ruído gaussiano, é chamado de método de Langevin. Embora eficaz, não é a abordagem mais eficiente. Existem métodos mais sofisticados disponíveis que requerem menos tempo para os vetores de peso explorarem o espaço antes de obter amostras confiáveis. Uma dessas abordagens é usar mini-lotes em aprendizado bayesiano completo. Ao calcular o gradiente da função de custo em um mini-lote aleatório, obtemos uma estimativa imparcial com ruído de amostragem. Este ruído de amostragem pode ser usado para fornecer o ruído exigido pelo método de Monte Carlo da cadeia de Markov. Uma ideia inteligente de Welling e colaboradores permite uma amostragem eficiente da distribuição posterior sobre pesos usando métodos de mini-lote. Esse avanço deve viabilizar o aprendizado bayesiano completo para redes muito maiores que requerem treinamento com mini-lotes para concluir o processo de treinamento.

O uso de mini-lotes no aprendizado bayesiano completo oferece várias vantagens. Ao calcular o gradiente da função de custo em um minilote aleatório, não apenas obtemos uma estimativa imparcial com ruído de amostragem, mas também aproveitamos a eficiência dos métodos de minilote. Isso significa que podemos treinar redes muito maiores que, de outra forma, seriam impossíveis de treinar com aprendizado bayesiano completo.

A descoberta alcançada por Welling e seus colaboradores permite uma amostragem eficiente da distribuição posterior sobre pesos usando métodos de mini-lote. Sua ideia inteligente utiliza o ruído de amostragem inerente à estimativa de gradiente de mini-lote para servir como o ruído exigido pelo método de Monte Carlo da cadeia de Markov. Ao incorporar adequadamente esse ruído, eles obtiveram com sucesso amostras confiáveis da distribuição posterior, tornando prático o aprendizado bayesiano completo para redes maiores.

Com esse avanço, torna-se possível treinar redes neurais com milhares ou até milhões de pesos utilizando mini-batchs e obter amostras a partir da distribuição posterior sobre os pesos. Isso é particularmente benéfico ao lidar com problemas de grande escala que requerem recursos computacionais extensos. A capacidade de incorporar a incerteza por meio do aprendizado bayesiano completo fornece uma compreensão mais abrangente das previsões do modelo e pode levar a uma melhor tomada de decisão.

O aprendizado bayesiano completo pode ser prático para grandes redes neurais, aproveitando os métodos de Monte Carlo, como a cadeia de Markov Monte Carlo. Ao amostrar vetores de peso de acordo com suas probabilidades posteriores, podemos aproximar o método bayesiano completo e obter informações valiosas sobre a incerteza de nossos modelos. Com a introdução de métodos de mini-lote, a amostragem eficiente da distribuição posterior sobre os pesos agora é possível, permitindo a aplicação do aprendizado bayesiano completo a redes muito maiores.

Lecture 10.4 — Making full Bayesian learning practical [Neural Networks for Machine Learning]
Lecture 10.4 — Making full Bayesian learning practical [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
 

Aula 10.5 — Abandono



Aula 10.5 — Abandono [Redes neurais para aprendizado de máquina]

Dropout é um método bem-sucedido para combinar um grande número de modelos de redes neurais sem treinar separadamente cada modelo. Nesta abordagem, subconjuntos aleatórios de unidades ocultas são descartados para cada caso de treinamento, resultando em diferentes arquiteturas para cada caso. Isso cria um modelo exclusivo para cada caso de treinamento, levantando questões sobre como treinar e calcular a média desses modelos com eficiência durante o teste.

Duas maneiras de combinar as saídas de vários modelos são calculando a média de suas probabilidades de saída ou usando a média geométrica de suas probabilidades. O compartilhamento de peso desempenha um papel crucial neste método. O Dropout fornece uma maneira eficiente de calcular a média das redes neurais, embora possa não funcionar tão bem quanto a abordagem bayesiana correta. Durante o treinamento, as unidades ocultas são descartadas aleatoriamente com uma probabilidade de 0,5, resultando em um grande número de arquiteturas compartilhando pesos. O abandono pode ser visto como média do modelo, onde a maioria dos modelos não é amostrada e cada modelo amostrado recebe apenas um exemplo de treinamento. O compartilhamento de peso entre os modelos efetivamente os regulariza. No momento do teste, todas as unidades ocultas são usadas, mas seus pesos de saída são reduzidos à metade para calcular a média geométrica das previsões de todos os modelos possíveis. O dropout pode ser estendido para várias camadas ocultas aplicando um dropout de 0,5 em cada camada. Essa aproximação é mais rápida do que a média de modelos de dropout separados, mas fornece uma boa aproximação.

Além disso, o dropout pode ser aplicado às camadas de entrada com maior probabilidade de manter as entradas. Essa técnica já é utilizada em autoencoders de redução de ruído e tem mostrado bons resultados. O dropout demonstrou ser eficaz na redução de erros e na prevenção do overfitting em redes neurais profundas. Incentiva a especialização de unidades ocultas e evita coadaptações complexas que podem levar a uma generalização ruim em novos dados de teste. Ao forçar as unidades ocultas a trabalhar com diferentes combinações de outras unidades ocultas, o dropout promove um comportamento útil individualmente e desencoraja a dependência de colaborações específicas. Essa abordagem melhora o desempenho das redes de abandono, permitindo que cada unidade contribua de maneira única e marginalmente útil, levando a excelentes resultados.

Dropout é uma técnica poderosa para treinar e combinar modelos de redes neurais. Ele aborda o desafio do overfitting regularizando os modelos por meio do compartilhamento de peso e da eliminação aleatória de unidades ocultas. Ao criar diversas arquiteturas para cada caso de treinamento, o abandono incentiva a especialização da unidade individual e reduz as coadaptações complexas. O processo de calcular a média das probabilidades de saída dos modelos ou usar a média geométrica fornece um efeito de conjunto, melhorando o desempenho geral da rede. Embora o abandono possa não atingir o mesmo nível de desempenho que a abordagem bayesiana correta, ele oferece uma alternativa prática e eficiente. Quando aplicado a várias camadas ocultas, o dropout pode ser usado em cada camada com uma probabilidade de dropout de 0,5. Essa aproximação, conhecida como "rede média", combina efetivamente os benefícios do abandono com computação mais rápida. É particularmente útil quando os recursos computacionais são limitados.

Além disso, o dropout pode ser estendido para a camada de entrada aplicando dropout com maior probabilidade de reter entradas. Essa técnica ajuda a evitar o overfitting e tem mostrado sucesso em várias aplicações. É importante observar que o abandono não apenas melhora o desempenho nos dados de treinamento, mas também aumenta a generalização para dados de teste não vistos. Ao encorajar o comportamento individual da unidade e reduzir as coadaptações complexas, os modelos de abandono tendem a ter um bom desempenho em exemplos novos e inéditos.

Dropout é um método prático e eficaz para combinar modelos de redes neurais. Ao descartar aleatoriamente as unidades ocultas e encorajar o comportamento da unidade individual, o abandono mitiga o overfitting e melhora a generalização. Sua simplicidade e eficiência o tornam uma ferramenta valiosa para o treinamento de redes neurais profundas.

Lecture 10.5 — Dropout [Neural Networks for Machine Learning]
Lecture 10.5 — Dropout [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
 

Aula 11.1 — Redes de Hopfield



Aula 11.1 — Redes Hopfield [Redes neurais para aprendizado de máquina]

Neste vídeo, o apresentador apresenta as redes Hopfield e seu papel no ressurgimento do interesse em redes neurais na década de 1980. As redes Hopfield são dispositivos simples usados para armazenar memórias como padrões distribuídos de atividade. Eles são modelos baseados em energia com unidades de limite binário e conexões recorrentes.

A análise de redes com unidades não lineares e conexões recorrentes pode ser desafiadora devido aos seus vários comportamentos, como estabelecer-se em estados estáveis, oscilantes ou até mesmo caóticos. No entanto, Hopfield e outros pesquisadores perceberam que, se as conexões forem simétricas, uma função de energia global pode ser definida para cada configuração binária da rede. A regra de decisão de limite binário, combinada com a função de energia correta, faz com que a rede se mova para baixo em energia, eventualmente atingindo um mínimo de energia. A função de energia consiste em contribuições locais que representam o produto dos pesos das conexões e os estados binários dos neurônios conectados.

Para encontrar um mínimo de energia, as unidades em uma rede de Hopfield são atualizadas sequencialmente, uma de cada vez, em ordem aleatória. Cada unidade calcula seu estado com base na configuração que resulta na menor energia global. Essa atualização sequencial evita que as unidades tomem decisões simultâneas que possam aumentar a energia e levar a oscilações. As redes Hopfield são adequadas para armazenar memórias, pois as memórias correspondem aos mínimos de energia na rede. As memórias podem ser parciais ou corrompidas, e a regra de decisão de limite binário pode limpá-las e restaurá-las para memórias completas. Essa memória endereçável por conteúdo permite acesso a itens armazenados com base em informações parciais de conteúdo.

As redes Hopfield têm propriedades que as tornam robustas contra danos de hardware, pois ainda podem funcionar corretamente mesmo com algumas unidades removidas. Os pesos na rede fornecem informações sobre como os estados dos neurônios se encaixam, semelhante à reconstrução de um dinossauro a partir de alguns ossos. A regra de armazenamento de memórias em uma rede Hopfield é simples. Ao incrementar os pesos entre as unidades com base no produto de suas atividades, um vetor de estado binário pode ser armazenado. Essa regra requer apenas uma passagem pelos dados, tornando-a uma regra online. No entanto, não é uma regra de correção de erros, que tem vantagens e desvantagens.

As redes Hopfield oferecem uma abordagem direta para armazenar memórias e possuem propriedades interessantes que as tornam valiosas para várias aplicações.

Lecture 11.1 — Hopfield Nets [Neural Networks for Machine Learning]
Lecture 11.1 — Hopfield Nets [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
 

Aula 11.2 — Lidando com mínimos espúrios



Aula 11.2 — Lidando com mínimos espúrios [Redes neurais para aprendizado de máquina]

Neste vídeo, discutirei a capacidade de armazenamento das redes Hopfield e como ela é limitada por memórias espúrias. Memórias espúrias ocorrem quando mínimos de energia próximos se combinam, criando um novo mínimo no lugar errado. Os esforços para eliminar esses mínimos espúrios levaram a um método interessante de aprendizado em sistemas mais complexos do que as redes básicas de Hopfield.

Também abordarei uma redescoberta histórica relacionada ao aumento da capacidade das redes Hopfield. Os físicos que tentavam aumentar sua capacidade de armazenamento tropeçaram no procedimento de convergência do perceptron, que foi inicialmente desenvolvido depois que Hopfield inventou as redes Hopfield como dispositivos de armazenamento de memória.

A capacidade de uma rede Hopfield, usando a regra de armazenamento Hopfield para uma rede totalmente conectada, é de aproximadamente 0,15n memórias, onde n representa o número de unidades de limite binário. Esta capacidade indica o número de memórias que podem ser armazenadas sem confusão. Cada memória consiste em uma configuração aleatória das N unidades, contribuindo com n bits de informação. Assim, o total de informações armazenadas em uma rede Hopfield é de cerca de 0,15 N bits ao quadrado.

No entanto, esse método de armazenamento não utiliza eficientemente os bits necessários para armazenar os pesos. Se analisarmos o número de bits necessários para armazenar os pesos no computador, ele ultrapassa 0,15N bits ao quadrado, demonstrando que a memória distribuída em mínimos locais de energia não é eficiente.

Para melhorar a capacidade de uma rede Hopfield, precisamos abordar a fusão de mínimos de energia, o que limita sua capacidade. Cada vez que uma configuração binária é memorizada, esperamos criar um novo mínimo de energia. No entanto, padrões próximos podem levar à fusão de mínimos, impossibilitando a distinção entre memórias separadas. Esse fenômeno de fusão é o que restringe a capacidade de uma rede Hopfield.

Uma ideia intrigante que surgiu da melhoria da capacidade das redes Hopfield é o conceito de desaprendizagem. Desaprender envolve permitir que a rede se estabeleça a partir de um estado inicial aleatório e então aplicar o oposto da regra de armazenamento para eliminar mínimos espúrios. Hopfield, Feinstein e Palmer demonstraram que o desaprendizado aumenta efetivamente a capacidade de memória, e Crick e Mitchison propuseram que o desaprendizado pode ocorrer durante o sono REM.

O desafio está em determinar o quanto desaprender deve ser feito. Idealmente, desaprender deve fazer parte do processo de ajuste de um modelo aos dados. O ajuste de máxima verossimilhança do modelo pode incorporar automaticamente o desaprendizado, fornecendo orientação precisa sobre a quantidade de desaprendizado necessária.

Os físicos fizeram esforços para aumentar a capacidade das redes de Hopfield, impulsionados pelo desejo de encontrar conexões entre conceitos matemáticos familiares e a funcionalidade do cérebro. Elizabeth Gardner propôs uma regra de armazenamento mais eficiente que utilizava a capacidade total dos pesos. Essa regra envolvia percorrer o conjunto de treinamento várias vezes e empregar o procedimento de convergência do perceptron para treinar o estado correto de cada unidade.

Essa técnica é semelhante ao método de pseudoverossimilhança usado em estatística, no qual você busca acertar uma dimensão considerando os valores de todas as outras dimensões. O procedimento de convergência do perceptron, com alguns ajustes para os pesos simétricos nas redes de Hopfield, permite um armazenamento de memória mais eficiente.

Usando o procedimento de convergência do perceptron e iterando os dados várias vezes, podemos melhorar a eficiência de armazenamento de memória das redes Hopfield. Essa técnica é análoga ao método de pseudoverossimilhança empregado em estatística, em que o objetivo é acertar uma dimensão com base nos valores de todas as outras dimensões. O procedimento de convergência do perceptron, com modificações apropriadas para os pesos simétricos nas redes de Hopfield, permite um armazenamento de memória mais eficaz.

Essa regra de armazenamento aprimorada apresentada por Gardner representa um avanço significativo na maximização da capacidade das redes Hopfield. Percorrendo o conjunto de treinamento e ajustando iterativamente os pesos com base no procedimento de convergência do perceptron, a rede pode armazenar um número maior de memórias.

Vale a pena notar que esta abordagem sacrifica a propriedade online das redes Hopfield, que permite o processamento de dados em uma única passagem. No entanto, o trade-off é justificado pela maior eficiência de armazenamento obtida através da utilização da capacidade total dos pesos.

A incorporação do desaprendizado, conforme proposto por Hopfield, Feinstein e Palmer, fornece um meio de remover mínimos espúrios e aumentar ainda mais a capacidade de memória. Desaprender permite a separação de mínimos mesclados, garantindo melhor recordação de memórias individuais.

Curiosamente, Crick e Mitchison sugeriram uma explicação funcional para desaprender durante o sono REM. Eles propuseram que o propósito de sonhar é facilitar a remoção de mínimos espúrios, redefinindo efetivamente a rede para um estado aleatório e desaprendendo padrões anteriores.

Para enfrentar o desafio matemático de determinar a quantidade ideal de desaprendizado, uma solução potencial reside em tratar o desaprendizado como parte do processo de ajuste do modelo. Ao empregar o ajuste de máxima verossimilhança, o desaprendizado pode ser incorporado automaticamente, fornecendo orientação precisa sobre a extensão do desaprendizado necessário para otimizar o desempenho do modelo.

A busca para melhorar a capacidade das redes Hopfield rendeu informações valiosas sobre armazenamento de memória e processos de aprendizado. O desenvolvimento do procedimento de convergência do perceptron, juntamente com a exploração do desaprendizado, nos aproximou de aproveitar todo o potencial das redes Hopfield para armazenamento e recuperação de memória eficazes.

Lecture 11.2 — Dealing with spurious minima [Neural Networks for Machine Learning]
Lecture 11.2 — Dealing with spurious minima [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
 

Aula 11.3 — Redes de Hopfield com unidades ocultas



Aula 11.3 — Redes de Hopfield com unidades ocultas [Redes neurais para aprendizado de máquina]

Neste vídeo, apresentarei uma nova abordagem para utilizar redes de Hopfield e sua função de energia. Ao incorporar unidades ocultas na rede, pretendemos derivar interpretações de entrada perceptiva com base nos estados dessas unidades ocultas. O conceito-chave é que os pesos entre as unidades impõem restrições às interpretações favoráveis e, ao encontrar estados com baixa energia, podemos descobrir boas interpretações dos dados de entrada.

As redes de Hopfield combinam duas ideias fundamentais: a capacidade de encontrar mínimos de energia locais usando unidades de limite binárias conectadas simetricamente e a noção de que esses mínimos de energia locais podem corresponder a memórias. No entanto, existe uma maneira alternativa de alavancar a capacidade de encontrar mínimos locais. Em vez de usar a rede apenas para armazenamento de memória, podemos empregá-la para construir interpretações de entrada sensorial. Para ilustrar essa ideia, vamos nos aprofundar nos detalhes da inferência de informações de uma linha 2D em uma imagem sobre o mundo tridimensional. Quando observamos uma linha 2D, ela pode se originar de várias arestas tridimensionais do mundo. Devido à perda de informações de profundidade na imagem, várias bordas 3D podem levar à mesma aparência na retina. Essa ambigüidade surge porque nos falta conhecimento sobre a profundidade em cada extremidade da linha.

Para resolver isso, assumimos que uma borda 3D reta no mundo causa uma linha 2D reta na imagem. No entanto, essa suposição elimina dois graus de liberdade relacionados à profundidade em cada extremidade da aresta 3D. Consequentemente, toda uma família de arestas 3D corresponde à mesma linha 2D, mas só podemos perceber uma delas por vez. Agora, vamos considerar um exemplo que demonstra como podemos utilizar a capacidade de encontrar estados de baixa energia em uma rede de unidades binárias para auxiliar na interpretação da entrada sensorial. Suponha que temos um desenho de linha e queremos interpretá-lo como um objeto tridimensional. Para cada linha 2D potencial, alocamos um neurônio correspondente. Apenas alguns neurônios serão ativados em qualquer imagem, representando as linhas presentes.

Para construir interpretações, introduzimos um conjunto de unidades de linha 3D, uma para cada aresta 3D possível. Como cada unidade de linha 2D pode corresponder a várias linhas 3D, precisamos excitar todas as linhas 3D relevantes, garantindo a competição entre elas, pois apenas uma linha 3D deve estar ativa por vez. Para conseguir isso, estabelecemos conexões excitatórias da unidade de linha 2D para todas as linhas 3D candidatas, juntamente com conexões inibitórias para permitir a competição.

No entanto, a fiação da rede neural ainda não está completa. Precisamos incorporar informações sobre como as arestas 3D se conectam. Por exemplo, quando duas linhas 2D convergem na imagem, é muito provável que elas correspondam a arestas com a mesma profundidade no ponto de junção. Podemos representar essa expectativa introduzindo conexões adicionais que suportam essas arestas 3D coincidentes.

Além disso, podemos explorar a ocorrência comum de arestas 3D se unindo em ângulos retos. Ao estabelecer conexões mais fortes entre duas arestas 3D que concordam em profundidade e formam um ângulo reto, podemos indicar sua relação coesa. Essas conexões, representadas por linhas verdes mais grossas, fornecem informações sobre como as arestas do mundo se conectam e contribuem para a formação de um objeto 3D coerente. Agora, nossa rede contém conhecimento sobre a disposição das arestas no mundo e como elas se projetam para criar linhas na imagem. Quando alimentamos uma imagem nessa rede, ela deve gerar uma interpretação. No caso da imagem que apresento, existem duas interpretações distintas, conhecidas como cubo de Necker. A rede exibiria dois mínimos de energia, cada um correspondendo a uma das possíveis interpretações do cubo de Necker.

Observe que este exemplo serve como uma analogia para entender o conceito de usar estados de baixa energia como interpretações de dados perceptivos. Construir um modelo abrangente que explique com precisão a inversão do cubo de Necker seria consideravelmente mais complexo do que o cenário simplificado descrito aqui. Se decidirmos usar estados de baixa energia para representar interpretações perceptivas sólidas, surgem dois desafios principais. Primeiro, precisamos abordar a questão da busca – como evitar que unidades ocultas fiquem presas em mínimos de energia locais pobres. Mínimos ruins refletem interpretações abaixo do ideal com base em nosso modelo e pesos atuais. Existe uma abordagem melhor do que simplesmente descer em energia de um estado inicial aleatório?

O segundo desafio é ainda mais assustador - como aprender os pesos das conexões entre as unidades ocultas e entre as unidades visíveis e ocultas. Existe um algoritmo de aprendizado direto para ajustar esses pesos, considerando que não há um supervisor externo orientando o processo de aprendizado? Nosso objetivo é que a rede receba informações e construa padrões significativos de atividade nas unidades ocultas que representam interpretações sensatas. Isso representa um desafio considerável.

Em resumo, utilizar redes de Hopfield e sua função de energia de uma maneira nova envolve a incorporação de unidades ocultas para derivar interpretações de entrada perceptiva. Os pesos entre unidades representam restrições em boas interpretações, e encontrar estados de baixa energia nos permite descobrir interpretações favoráveis.

No entanto, há desafios a serem superados. O primeiro desafio é o problema de busca, que envolve evitar ficar preso em mínimos de energia locais pobres. Esses mínimos representam interpretações abaixo do ideal, e encontrar um método de busca eficiente é crucial. O segundo desafio é aprender os pesos nas conexões entre unidades ocultas e entre unidades visíveis e ocultas. Esta tarefa é complicada pela ausência de um supervisor ou orientação externa. Um algoritmo de aprendizado adequado é necessário para ajustar os pesos, permitindo que a rede construa interpretações significativas da entrada sensorial. É importante observar que o exemplo fornecido, envolvendo a interpretação de um desenho de linha 2D como um objeto 3D, é uma analogia para ilustrar o conceito de usar estados de baixa energia para interpretações. Construir um modelo abrangente para lidar com fenômenos perceptivos mais complexos exigiria abordagens mais complexas.

No próximo vídeo, vamos nos aprofundar no problema de busca e explorar possíveis soluções para evitar ficar presos em mínimos locais ruins da função de energia.

Lecture 11.3 — Hopfield nets with hidden units [Neural Networks for Machine Learning]
Lecture 11.3 — Hopfield nets with hidden units [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
 

Aula 11.4 — Usando unidades estocásticas para melhorar a busca



Aula 11.4 — Usando unidades estocásticas para melhorar a pesquisa [Redes neurais para aprendizado de máquina]

Neste vídeo, explicarei como adicionar ruído aos sistemas pode ajudá-los a escapar de mínimos locais. Especificamente, mostrarei como incorporar ruído nas unidades de uma rede Hopfield de maneira apropriada.

Uma rede Hopfield sempre toma decisões que reduzem a energia. Isso torna difícil sair de um mínimo local. Se estivermos presos em um mínimo local, não podemos superar a barreira de energia para atingir um mínimo melhor.

No entanto, adicionando ruído aleatório, podemos escapar de mínimos ruins, especialmente aqueles que são rasos e carecem de barreiras de energia significativas. A estratégia mais eficaz é começar com um alto nível de ruído, permitindo a exploração do espaço em escala grosseira e encontrando regiões geralmente boas. À medida que o nível de ruído diminui, o foco muda para os melhores mínimos próximos.

O recozimento simulado é uma técnica que reduz gradualmente o nível de ruído para guiar o sistema em direção a um mínimo profundo. Ele aproveita a temperatura em um sistema físico ou simulado, onde a temperatura mais alta achata a paisagem energética, facilitando o cruzamento de barreiras, enquanto a temperatura mais baixa melhora a razão de probabilidades para favorecer as transições de um mínimo para outro.

Para introduzir ruído em uma rede de Hopfield, substituímos as unidades de limite binário por unidades estocásticas binárias que tomam decisões aleatórias tendenciosas. O nível de ruído é controlado por um parâmetro chamado temperatura. Aumentar o nível de ruído corresponde a diminuir as lacunas de energia entre as configurações.

É importante entender o conceito de equilíbrio térmico no contexto das máquinas de Boltzmann. A uma temperatura fixa, o equilíbrio térmico refere-se à distribuição de probabilidade estabelecendo-se em uma distribuição estacionária, determinada pela função de energia. A probabilidade de uma configuração em equilíbrio térmico é proporcional a e elevado a menos sua energia.

Atingir o equilíbrio térmico envolve a execução de vários sistemas estocásticos com os mesmos pesos e a aplicação de regras de atualização estocástica. Embora os sistemas individuais continuem mudando de configuração, a fração de sistemas em cada configuração permanece constante. Isso é análogo a embaralhar pacotes de cartas em um grande cassino até que a ordem inicial se torne irrelevante e um número igual de pacotes esteja em cada ordem possível.

O recozimento simulado é um método poderoso para superar os ótimos locais, mas não será mais discutido neste curso, pois pode ser uma distração para a compreensão das máquinas de Boltzmann. Em vez disso, serão usadas unidades estocásticas binárias com uma temperatura de um (função logística padrão).

Adicionar ruído a sistemas, como redes de Hopfield e máquinas de Boltzmann, pode ajudar a escapar de mínimos locais e explorar regiões mais favoráveis. O nível de ruído é controlado pela temperatura, e atingir o equilíbrio térmico envolve a fração de sistemas em cada configuração permanecendo constante enquanto os sistemas individuais continuam mudando seus estados.

Lecture 11.4 — Using stochastic units to improve search [Neural Networks for Machine Learning]
Lecture 11.4 — Using stochastic units to improve search [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
 

Aula 11.5 — Como uma máquina de Boltzmann modela dados



Aula 11.5 — Como uma máquina de Boltzmann modela dados [Redes neurais para aprendizado de máquina]

Neste vídeo, explicarei como uma máquina de Boltzmann modela vetores de dados binários. Em primeiro lugar, discutirei as razões para modelar vetores de dados binários e as possíveis aplicações de tal modelo. Em seguida, vou me aprofundar em como as probabilidades atribuídas a vetores de dados binários são determinadas pelos pesos em uma máquina de Boltzmann.

As máquinas de Boltzmann, também conhecidas como redes estocásticas de Hopfield com unidades ocultas, são eficazes na modelagem de dados binários. Ao utilizar unidades ocultas, essas máquinas podem ajustar um modelo a um conjunto de vetores binários de treinamento e atribuir uma probabilidade a cada vetor binário possível.

Existem várias aplicações práticas para modelar dados binários. Por exemplo, se você tiver diferentes distribuições de vetores binários, pode querer determinar a qual distribuição um novo vetor binário pertence. Usando unidades ocultas para modelar a distribuição de cada tipo de documento, você pode identificar a classe de documento mais provável para um determinado vetor binário.

Além disso, as máquinas de Boltzmann podem ser úteis para monitorar sistemas complexos e detectar comportamentos incomuns. Suponha que você tenha uma estação de energia nuclear com leituras binárias de vários mostradores indicando o estado da estação. Em vez de confiar no aprendizado supervisionado, que requer exemplos de estados perigosos, você pode construir um modelo de estados normais e detectar desvios da norma. Dessa forma, você pode identificar estados incomuns sem conhecimento prévio de tais estados.

Para calcular a probabilidade posterior de que uma determinada distribuição gerou os dados observados, você pode empregar o teorema de Bayes. Dados os dados observados, a probabilidade de vir de um modelo específico é a probabilidade de o modelo gerar esses dados dividida pela soma da mesma quantidade para todos os modelos.

Existem duas abordagens principais para gerar modelos de dados, especificamente vetores binários. A abordagem do modelo causal envolve gerar primeiro os estados das variáveis latentes, que são então usadas para gerar o vetor binário. Este modelo depende de conexões ponderadas e vieses entre as unidades latentes e visíveis. A análise fatorial é um exemplo de modelo causal que usa variáveis contínuas.

Por outro lado, uma máquina de Boltzmann é um modelo baseado em energia que não gera dados causalmente. Em vez disso, define tudo em termos de energias de configurações conjuntas de unidades visíveis e ocultas. A probabilidade de uma configuração conjunta é definida diretamente em termos de energia ou computada processualmente após a atualização das unidades binárias estocásticas até que o equilíbrio térmico seja alcançado. A energia de uma configuração conjunta consiste em termos de viés, interações visíveis-visíveis, interações visíveis-ocultas e interações ocultas-ocultas.

Para calcular as probabilidades de diferentes vetores visíveis, podemos trabalhar com um exemplo. Ao anotar todos os estados possíveis das unidades visíveis, calcular suas energias negativas, exponenciar essas energias e normalizar as probabilidades, podemos determinar as probabilidades de configurações conjuntas e vetores visíveis individuais.

Para redes maiores, calcular a função de partição torna-se inviável devido ao número exponencial de termos. Nesses casos, podemos usar métodos de Monte Carlo da cadeia de Markov para obter amostras do modelo. Ao atualizar unidades estocasticamente com base em seus gaps de energia, podemos alcançar a distribuição estacionária e obter uma amostra do modelo. A probabilidade de uma amostra é proporcional a e à potência da energia negativa.

Além disso, podemos estar interessados em obter amostras da distribuição posterior sobre configurações ocultas dado um vetor de dados, o que é necessário para o aprendizado. Usando a cadeia de Markov Monte Carlo com as unidades visíveis presas ao vetor de dados, podemos atualizar apenas as unidades ocultas e obter amostras da distribuição posterior. Esta informação é crucial para encontrar boas explicações para os dados observados e orientar os processos de aprendizagem.

O processo de aprendizado em uma máquina de Boltzmann envolve o ajuste dos pesos e desvios para melhorar o ajuste do modelo aos dados de treinamento. Esse processo de aprendizado é normalmente alcançado por meio de um algoritmo chamado divergência contrastiva.

A divergência contrastiva é um método de aproximação usado para estimar o gradiente da função de log-verossimilhança. Isso nos permite atualizar os pesos e vieses na máquina de Boltzmann de forma eficiente. A ideia básica por trás da divergência contrastiva é executar algumas etapas da amostragem de Gibbs, que envolve alternar entre atualizar as unidades ocultas e atualizar as unidades visíveis, a partir de um vetor de dados.

Para atualizar as unidades ocultas, podemos amostrar seus estados com base nas probabilidades determinadas pela energia da configuração conjunta das unidades visíveis e ocultas. Em seguida, atualizamos as unidades visíveis com base nos novos estados das unidades ocultas. Este processo é repetido por algumas iterações até que a cadeia de Markov atinja um equilíbrio aproximado.

Uma vez obtida uma amostra da distribuição posterior sobre configurações ocultas, podemos usá-la para calcular as associações positivas e negativas entre as unidades visíveis e ocultas. As associações positivas são calculadas tomando o produto externo do vetor de dados e a configuração oculta amostrada. As associações negativas são calculadas de maneira semelhante, mas usando as unidades visíveis obtidas do processo de amostragem de Gibbs.

Tomando a diferença entre as associações positivas e negativas, podemos calcular o gradiente da função de verossimilhança logarítmica. Esse gradiente é então usado para atualizar os pesos e vieses da máquina de Boltzmann por meio de uma regra de aprendizado, como a descida estocástica do gradiente.

O processo de aprendizado continua aplicando repetidamente a divergência contrastiva, amostrando da distribuição posterior e atualizando os pesos e vieses. Com o tempo, a máquina de Boltzmann aprende a capturar os padrões e distribuições subjacentes presentes nos dados de treinamento.

É importante observar que treinar uma máquina de Boltzmann pode ser uma tarefa desafiadora, especialmente para grandes redes com muitas unidades ocultas. A complexidade computacional aumenta exponencialmente com o número de unidades, dificultando a execução de cálculos exatos. No entanto, métodos aproximados como divergência contrastiva fornecem uma solução prática para aprendizado em máquinas de Boltzmann.

O aprendizado em uma máquina de Boltzmann envolve o ajuste dos pesos e vieses por meio da divergência contrastiva, que aproxima o gradiente da função log-verossimilhança. Ao amostrar iterativamente da distribuição posterior e atualizar os parâmetros do modelo, a máquina de Boltzmann pode aprender a modelar os padrões subjacentes nos dados binários.

Lecture 11.5 — How a Boltzmann machine models data [Neural Networks for Machine Learning]
Lecture 11.5 — How a Boltzmann machine models data [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
 

Aula 12.1 — Aprendizado de máquina de Boltzmann



Aula 12.1 — Aprendizado de máquina Boltzmann [Redes neurais para aprendizado de máquina]

No vídeo anterior, demonstrei como uma máquina de Boltzmann pode ser usada como modelo probabilístico para vetores de dados binários. Agora, vamos nos aprofundar no algoritmo de aprendizado de máquina de Boltzmann.

Inicialmente, o algoritmo de aprendizado de máquina de Boltzmann era lento e barulhento, tornando-o impraticável. No entanto, várias técnicas foram desenvolvidas para acelerar significativamente o algoritmo, tornando-o mais prático e eficaz. Na verdade, ele foi usado com sucesso em uma competição de aprendizado de máquina de um milhão de dólares.

O algoritmo de aprendizado de máquina de Boltzmann é um algoritmo de aprendizado não supervisionado, o que significa que não requer dados rotulados. Em vez disso, visa construir um modelo de um conjunto de vetores de entrada (ou vetores de saída) maximizando o produto das probabilidades atribuídas pela máquina de Boltzmann aos vetores de treinamento. Isso também pode ser obtido maximizando a soma das probabilidades de log ou a probabilidade de obter os casos de treinamento.

Para treinar a máquina de Boltzmann, seguimos um processo de ajuste para uma distribuição estacionária várias vezes sem entrada externa. Em seguida, amostramos o vetor visível e repetimos esse processo várias vezes para obter amostras da distribuição posterior.

Aprender na máquina de Boltzmann pode ser desafiador devido às interações entre os pesos. Cada peso precisa saber sobre outros pesos para determinar a direção apropriada para a mudança. Surpreendentemente, um algoritmo de aprendizado simples usando apenas informações locais é suficiente. A regra de aprendizado é baseada na diferença de duas correlações, capturando as informações necessárias para atualizações de peso.

A regra de aprendizagem consiste em dois termos. O primeiro termo aumenta os pesos proporcionalmente ao produto das atividades unitárias observadas na apresentação dos dados. Este termo é semelhante ao termo de armazenamento em uma rede Hopfield. Porém, sem controle, os pesos continuariam crescendo, levando à instabilidade. O segundo termo diminui os pesos proporcionais ao produto das atividades unitárias ao amostrar da distribuição do modelo. Este termo ajuda a eliminar mínimos espúrios e mantém a estabilidade.

A derivada da probabilidade logarítmica de um vetor visível em relação a um peso é notavelmente simples. Pode ser expresso como o produto das duas atividades da unidade conectadas. Essa simplicidade decorre da relação linear entre as probabilidades de log e a função de energia, que, por sua vez, é linear nos pesos.

A fase negativa no processo de aprendizagem serve para desaprender ou reduzir a influência de certas configurações. Ele se concentra em diminuir a energia dos termos que contribuem significativamente para a função de partição, reduzindo assim seu impacto.

Para coletar estatísticas necessárias para a regra de aprendizado, um método chamado divergência contrastiva é comumente usado. Na fase positiva, os vetores de dados são fixados nas unidades visíveis e as unidades ocultas são atualizadas até que o equilíbrio térmico seja alcançado. As correlações entre os pares de unidades são então amostradas e calculadas a média sobre todos os vetores de dados. Na fase negativa, nenhum dado é bloqueado e a rede pode se estabilizar sem interferência externa. As correlações entre pares de unidades são novamente amostradas várias vezes.

Determinar o número de iterações necessárias na fase negativa pode ser um desafio, pois o cenário de energia da máquina de Boltzmann pode conter vários modos. Esses modos representam diferentes configurações com níveis de energia semelhantes, e a amostragem repetida é necessária para capturá-los de forma eficaz.

Ao lidar com uma máquina de Boltzmann, é crucial considerar o número de repetições necessárias na fase negativa. Devido à presença de vários modos no cenário de energia, o algoritmo precisa fazer uma amostragem extensiva para garantir que todos os modos sejam adequadamente representados.

O processo de aprendizado em uma máquina de Boltzmann envolve a atualização iterativa dos pesos com base nas correlações obtidas nas fases positiva e negativa. Ao comparar as correlações nessas fases, o algoritmo pode ajustar os pesos para melhorar a representação dos dados pelo modelo.

Um aspecto importante a ser observado é que o algoritmo de aprendizado de máquina de Boltzmann é uma forma de aprendizado Hebbian. Segue o princípio proposto por Donald Hebb nas décadas de 1940 ou 1950, sugerindo que as sinapses no cérebro fortalecem as conexões entre os neurônios com base em sua coativação. Na máquina de Boltzmann, a fase positiva eleva os pesos proporcionalmente ao produto das atividades unitárias observadas durante a apresentação dos dados, lembrando a ideia de Hebb.

Porém, sem um mecanismo de contrapeso, os pesos continuariam crescendo indefinidamente, levando à instabilidade. A fase negativa atende a esse propósito reduzindo os pesos com base no produto das atividades da unidade ao amostrar da distribuição do modelo. Esse equilíbrio garante que a máquina de Boltzmann permaneça estável durante o processo de aprendizagem.

Vale a pena mencionar que o algoritmo de aprendizado de máquina de Boltzmann tem fundamentos teóricos relacionados a funções de energia e distribuições de probabilidade. A probabilidade de uma configuração global em equilíbrio térmico segue uma função exponencial de sua energia. A relação linear entre os pesos e a probabilidade de log permite cálculos diretos de derivativos e facilita atualizações de peso eficientes.

O algoritmo de aprendizado de máquina de Boltzmann é uma abordagem de aprendizado não supervisionado que visa construir um modelo de vetores de entrada ou saída. Ao maximizar as probabilidades atribuídas aos vetores de treinamento, o algoritmo ajusta os pesos usando uma combinação de correlações positivas e negativas. Esse processo de aprendizado, juntamente com técnicas como divergência contrastiva, ajuda a máquina de Boltzmann a capturar padrões complexos nos dados.

Lecture 12.1 — Boltzmann machine learning [Neural Networks for Machine Learning]
Lecture 12.1 — Boltzmann machine learning [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
For cool updates on AI research, follow me at https://twitter.com/iamvriad.Lecture from the course Neural Networks for Machine Learning, as taught by Geoffre...
Razão: