Pular para o conteúdo principal
ToolPotion

Camadas Hopfield

Este post de blog apresenta uma nova camada Hopfield em PyTorch baseada em Redes Hopfield modernas. Ela generaliza as Redes Hopfield clássicas para estados e padrões contínuos, oferecendo capacidade de armazenamento exponencial e convergência rápida. A regra de atualização é demonstrada como equivalente à auto-atenção do transformer, permitindo novas arquiteturas de deep learning.

Visitar URL

Descrição

Este post de blog detalha o artigo "Hopfield Networks is All You Need" e a camada Hopfield em PyTorch que o acompanha. Começa traçando a evolução das Redes Hopfield clássicas, que armazenam e recuperam padrões binários usando uma função de energia e atualizações síncronas ou assíncronas, para as Redes Hopfield modernas. Essas versões modernas, também conhecidas como Memórias Associativas Densas, introduzem uma função de energia generalizada que permite padrões e estados de valor contínuo, aumentando significativamente a capacidade de armazenamento.

A inovação central reside em uma nova função de energia e sua regra de atualização correspondente. Essa nova regra é matematicamente comprovada para convergir para um mínimo local da função de energia. Crucialmente, demonstra-se que essa regra de atualização é equivalente ao mecanismo de auto-atenção encontrado nas redes transformer. Essa conexão permite a integração perfeita de camadas Hopfield em arquiteturas de deep learning, fornecendo-lhes capacidades de memória associativa.

O post introduz três tipos de camadas Hopfield: Hopfield, HopfieldPooling e HopfieldLayer. As camadas Hopfield são projetadas para associar e processar dois conjuntos de dados, semelhante à atenção do transformer. HopfieldPooling atua como uma camada de pooling quando um único padrão de estado estático é usado, aprendendo um padrão protótipo. HopfieldLayer é adequada para armazenar padrões fixos ou aprender protótipos internos, onde os padrões armazenados são estáticos e podem ser aprendidos.

A diferenciabilidade dessas camadas Hopfield contínuas as torna ideais para deep learning. Elas podem ser usadas como substitutos plug-in para camadas existentes ou para aplicações especializadas como aprendizado de múltiplas instâncias, aprendizado baseado em conjuntos e aprendizado associativo. O post também destaca uma aplicação State-Of-The-Art na classificação de repertório imune (DeepRC), onde a alta capacidade de armazenamento das Redes Hopfield modernas é aproveitada para um desafiador problema de aprendizado de múltiplas instâncias em biologia computacional.

As principais propriedades da nova função de energia incluem convergência global para um mínimo local, capacidade de armazenamento exponencial e convergência após um único passo de atualização. O post de blog fornece exemplos práticos e trechos de código para ilustrar o uso dessas novas camadas Hopfield em vários contextos de deep learning, enfatizando sua flexibilidade e poder.

Destaques de Camadas Hopfield

  • Generaliza as Redes Hopfield clássicas para estados e padrões contínuos.

  • Introduz uma nova função de energia garantida para convergir para um mínimo local.

  • A regra de atualização é equivalente à auto-atenção do transformer.

  • Oferece capacidade de armazenamento exponencial.

  • Permite convergência rápida, muitas vezes após um único passo de atualização.

  • Diferenciável, permitindo a integração em arquiteturas de deep learning.

  • Fornece três tipos de camadas Hopfield: Hopfield, HopfieldPooling e HopfieldLayer.

  • Suporta a associação de dois conjuntos de dados.

  • Permite a busca de padrões fixos e operações de pooling.

  • Facilita o aprendizado de protótipos internos ou o armazenamento de padrões fixos.

  • Aplicável a aprendizado de múltiplas instâncias e aprendizado baseado em conjuntos.

  • Usado em aplicações State-Of-The-Art como classificação de repertório imune (DeepRC).

Primeiros passos com Camadas Hopfield

  1. Acessar modelo: Utilize a implementação da camada Hopfield em PyTorch.

  2. Integrar via API: Incorpore camadas Hopfield em arquiteturas de deep learning.

  3. Configurar parâmetros: Ajuste configurações como beta (temperatura inversa) para a dinâmica de aprendizado.

  4. Definir padrões: Insira padrões armazenados (Y) e padrões de estado (R).

  5. Treinar rede: Integre camadas Hopfield em uma rede neural maior para treinamento.

  6. Otimizar: Ajuste fino das configurações da camada para tarefas e conjuntos de dados específicos.

Casos de uso de Camadas Hopfield

  • Recuperação de Padrões
  • Integração em Deep Learning
  • Memória Associativa
  • Atenção de Sequência
  • Aprendizado de Múltiplas Instâncias
  • Aprendizado Baseado em Conjuntos
  • Classificação de Repertório Imune
  • Operações de Pooling
  • Busca de Padrões Fixos
  • Aprendizado Associativo

Perguntas frequentes de Camadas Hopfield

Avaliações de Camadas Hopfield

Carregando...

Ferramentas de IA populares como Camadas Hopfield

Este repositório GitHub fornece a implementação oficial do artigo NeurIPS 2021 'Revisiting Deep Learning Models for Tabular Data'. Ele explora arquiteturas de deep learning para…

Modelos de IA e LLMs

Modelos de IA

Funnel-Transformer é um modelo de IA que comprime estados ocultos para reduzir o custo computacional. Ele permite modelos mais profundos ou mais largos com os mesmos FLOPs e pode…

Modelos de IA e LLMs

Modelos de IA

O repositório ShuffleNet Series oferece uma coleção de modelos de redes neurais convolucionais altamente eficientes, projetados para dispositivos móveis e ambientes com recursos…

Modelos de IA e LLMs

SqueezeNet é um modelo de rede neural convolucional profunda disponível através do PyTorch. Ele atinge precisão de nível AlexNet com significativamente menos parâmetros e um…

Modelos de IA e LLMs

Modelos de IA

FNet é uma arquitetura de codificador eficiente semelhante a um Transformer que substitui a autoatenção por Transformadas de Fourier. Desenvolvido pelo Google Research, oferece…

Modelos de IA e LLMs

Reformer é um modelo de IA que aprimora a arquitetura Transformer para processar dados sequenciais extensos. Ele aborda limitações nos mecanismos de atenção e alocação de memória,…

Modelos de IA e LLMs

Modelos de IA

SAGPool é uma implementação oficial em PyTorch de Self-Attention Graph Pooling, apresentada na ICML 2019. Este repositório arquivado e somente leitura fornece o código para um…

Modelos de IA e LLMs

Este modelo de IA detalha uma rede neural convolucional grande e profunda treinada para classificação ImageNet. Atingiu resultados de ponta com taxas de erro top-1 e top-5 de…

Modelos de IA e LLMs