Перейти к основному содержимому
ToolPotion

Hopfield Layers

В этой статье представлен новый слой Hopfield для PyTorch, основанный на современных сетях Хопфилда. Он обобщает классические сети Хопфилда на непрерывные состояния и паттерны, предлагая экспоненциальную емкость хранения и быструю сходимость. Показано, что правило обновления эквивалентно механизму самовнимания (self-attention) в трансформерах, что открывает возможности для новых архитектур глубокого обучения.

Посетить URL

Описание

В этой статье подробно рассматривается работа "Hopfield Networks is All You Need" и сопутствующий слой Hopfield для PyTorch. Начинается с прослеживания эволюции от классических сетей Хопфилда, которые хранят и извлекают бинарные паттерны с использованием функции энергии и синхронных или асинхронных обновлений, до современных сетей Хопфилда. Эти современные версии, также известные как плотные ассоциативные памяти (Dense Associative Memories), вводят обобщенную функцию энергии, которая допускает паттерны и состояния с непрерывными значениями, значительно увеличивая емкость хранения.

Основная инновация заключается в новой функции энергии и соответствующем ей правиле обновления. Доказано, что это новое правило математически сходится к локальному минимуму функции энергии. Важно отметить, что показано, что это правило обновления эквивалентно механизму самовнимания, используемому в сетях-трансформерах. Эта связь позволяет беспрепятственно интегрировать слои Хопфилда в архитектуры глубокого обучения, наделяя их возможностями ассоциативной памяти.

В статье представлены три типа слоев Хопфилда: Hopfield, HopfieldPooling и HopfieldLayer. Слои Hopfield предназначены для ассоциации и обработки двух наборов данных, аналогично механизму внимания в трансформерах. HopfieldPooling действует как слой пулинга при использовании одного статического паттерна состояния, обучаясь прототипу паттерна. HopfieldLayer подходит для хранения фиксированных паттернов или обучения внутренних прототипов, где хранимые паттерны являются статическими и могут быть обучены.

Дифференцируемость этих непрерывных слоев Хопфилда делает их идеальными для глубокого обучения. Они могут использоваться как заменяемые компоненты для существующих слоев или для специализированных приложений, таких как обучение с множеством экземпляров (multiple instance learning), обучение на основе наборов (set-based learning) и ассоциативное обучение. В статье также освещается передовое применение в классификации иммунного репертуара (DeepRC), где высокая емкость хранения современных сетей Хопфилда используется для решения сложной задачи обучения с множеством экземпляров в области вычислительной биологии.

Ключевые свойства новой функции энергии включают глобальную сходимость к локальному минимуму, экспоненциальную емкость хранения и сходимость после одного шага обновления. В статье приведены практические примеры и фрагменты кода для иллюстрации использования этих новых слоев Хопфилда в различных контекстах глубокого обучения, подчеркивая их гибкость и мощь.

Главное о Hopfield Layers

  • Обобщает классические сети Хопфилда на непрерывные состояния и паттерны.

  • Представляет новую функцию энергии, гарантированно сходящуюся к локальному минимуму.

  • Правило обновления эквивалентно механизму самовнимания в трансформерах.

  • Предлагает экспоненциальную емкость хранения.

  • Обеспечивает быструю сходимость, часто после одного шага обновления.

  • Дифференцируемый, что позволяет интегрировать его в архитектуры глубокого обучения.

  • Предоставляет три типа слоев Хопфилда: Hopfield, HopfieldPooling и HopfieldLayer.

  • Поддерживает ассоциацию двух наборов данных.

  • Обеспечивает поиск фиксированных паттернов и операции пулинга.

  • Способствует обучению внутренних прототипов или хранению фиксированных паттернов.

  • Применим к обучению с множеством экземпляров и обучению на основе наборов.

  • Используется в передовых приложениях, таких как классификация иммунного репертуара (DeepRC).

Начало работы с Hopfield Layers

  1. Доступ к модели: Используйте реализацию слоя Hopfield для PyTorch.

  2. Интеграция через API: Включите слои Hopfield в архитектуры глубокого обучения.

  3. Настройка параметров: Отрегулируйте такие параметры, как beta (обратная температура), для динамики обучения.

  4. Определение паттернов: Введите хранимые паттерны (Y) и паттерны состояний (R).

  5. Обучение сети: Интегрируйте слои Hopfield в более крупную нейронную сеть для обучения.

  6. Оптимизация: Тонко настройте конфигурации слоев для конкретных задач и наборов данных.

Варианты использования Hopfield Layers

  • Извлечение паттернов
  • Интеграция в глубокое обучение
  • Ассоциативная память
  • Внимание к последовательностям
  • Обучение с множеством экземпляров
  • Обучение на основе наборов
  • Классификация иммунного репертуара
  • Операции пулинга
  • Поиск фиксированных паттернов
  • Ассоциативное обучение

Часто задаваемые вопросы Hopfield Layers

Отзывы о Hopfield Layers

Загрузка...

Популярные ИИ-инструменты, похожие на Hopfield Layers

Этот репозиторий GitHub содержит официальную реализацию статьи NeurIPS 2021 «Пересмотр моделей глубокого обучения для табличных данных». В ней исследуются архитектуры глубокого…

ИИ-модели и LLM

AI-модели

Funnel-Transformer — это ИИ-модель, которая сжимает скрытые состояния для снижения вычислительных затрат. Она позволяет создавать более глубокие или широкие модели при том же…

ИИ-модели и LLM

AI-модели

Репозиторий серии ShuffleNet предлагает коллекцию высокоэффективных сверточных нейронных сетей, разработанных для мобильных устройств и сред с ограниченными ресурсами. Он включает…

ИИ-модели и LLM

AI-модели

SqueezeNet — это глубокая сверточная нейронная сеть, доступная через PyTorch. Она достигает точности уровня AlexNet со значительно меньшим количеством параметров и меньшим…

ИИ-модели и LLM

AI-модели

FNet — это эффективная архитектура кодировщика, подобная Transformer, которая заменяет самовнимание преобразованиями Фурье. Разработанная Google Research, она предлагает…

ИИ-модели и LLM

Reformer — это ИИ-модель, которая улучшает архитектуру Transformer для обработки обширных последовательных данных. Она решает проблемы механизмов внимания и распределения памяти,…

ИИ-модели и LLM

AI-модели

SAGPool — это официальная реализация метода Self-Attention Graph Pooling на PyTorch, представленная на конференции ICML 2019. Этот архивный репозиторий только для чтения содержит…

ИИ-модели и LLM

Эта модель ИИ описывает большую глубокую сверточную нейронную сеть, обученную для классификации ImageNet. Она достигла передовых результатов с показателями ошибок top-1 и top-5 в…

ИИ-модели и LLM