stringtranslate.com

Леабра

Leabra означает локальный, управляемый ошибками и ассоциативный, биологически реалистичный алгоритм . Это модель обучения , которая представляет собой баланс между Хеббианским обучением и обучением, основанным на ошибках, с другими сетевыми характеристиками. Эта модель используется для математического прогнозирования результатов на основе входных данных и влияния предыдущего обучения. Эта модель находится под сильным влиянием и вносит свой вклад в проекты и модели нейронных сетей. Этот алгоритм является алгоритмом по умолчанию в Emergent (преемнике PDP++) при создании нового проекта и широко используется в различных симуляциях.

Обучение Хебба осуществляется с использованием алгоритма условного анализа главных компонентов (CPCA) с поправочным коэффициентом для редких ожидаемых уровней активности.

Обучение на основе ошибок выполняется с использованием GeneRec , который является обобщением алгоритма рециркуляции и аппроксимирует рекуррентное обратное распространение ошибки Алмейды-Пинеды . Используется симметричная версия GeneRec со средней точкой, которая эквивалентна контрастному алгоритму обучения Хеббиана (CHL). См. более подробную информацию в O'Reilly (1996; Neural Computation).

Функция активации представляет собой приближение точечных нейронов как с дискретными выбросами , так и с непрерывным выходным сигналом скорости.

Запрет на уровне слоя или группы единиц можно вычислить непосредственно с помощью функции k-победители получают все (KWTA), создавая разреженные распределенные представления.

Чистые входные данные вычисляются как среднее, а не сумма, по соединениям на основе нормализованных, сигмоидально преобразованных весовых значений, которые подлежат масштабированию на уровне группы соединений для изменения относительных вкладов. Автоматическое масштабирование выполняется для компенсации различий в ожидаемом уровне активности в разных проекциях.

Документацию об этом алгоритме можно найти в книге «Вычислительные исследования в когнитивной нейронауке: понимание разума путем моделирования мозга», опубликованной MIT Press. [1] и в экстренной документации.

Обзор алгоритма Лебры

Здесь приведен псевдокод для Leabra, показывающий, как именно сочетаются друг с другом части алгоритма, описанные более подробно в последующих разделах.

Переберите минусовую и плюсовую фазы урегулирования для каждого события. o В начале урегулирования для всех единиц: - Инициализируйте все переменные состояния (активация, v_m и т. д.). - Применить внешние шаблоны (зафиксировать ввод в минусе, ввод и вывод в плюс). - Вычислить условия масштабирования чистого входа (константы, вычисленные вот так сеть можно динамически переделывать). - Оптимизация: вычислять чистый ввод один раз для всех статических активаций. (например, жестко ограниченные внешние входы). o Во время каждого цикла стабилизации для всех незафиксированных единиц: - Вычисление возбуждающего сетевого ввода (g_e(t), также известного как eta_j или net) -- Оптимизация на основе отправителя путем игнорирования неактивных данных. - Вычислить подавление кВтТА для каждого слоя на основе g_i^Q: * Сортировка юнитов на две группы по g_i^Q: top k и оставшиеся k+1 -> n. * Если базовый уровень, найдите k и k+1-е место по величине. Если на основе среднего, вычислите среднее значение 1 -> k & k+1 -> n. * Установите тормозную проводимость g_i из g^Q_k и g^Q_k+1. - Вычислить активацию точечных нейронов, сочетая возбуждающий вход и торможение o После заселения для всех объектов запишите активацию окончательного заселения. как минусовая или плюсовая фаза (y^-_j или y^+_j).После того, как обе фазы обновят веса (на основе линейного тока значения веса), для всех соединений: o Вычисление изменений веса из-за ошибок с помощью CHL с мягким ограничением веса. o Вычислить изменения веса Хеббиана с помощью CPCA на основе активаций плюс-фазы. o Вычислить изменение чистого веса как взвешенную сумму ошибок и Хеббиана. o Увеличивайте веса в соответствии с изменением веса нетто.

Реализации

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

Если вы хотите детально разобраться в алгоритме, вам будет легче читать неоптимизированный код. Для этого ознакомьтесь с версией MATLAB. Также доступна версия R, которую можно легко установить через install.packages("leabRa")R и которая содержит краткое введение в использование пакета. Версии MATLAB и R не подходят для построения очень больших сетей, но их можно быстро установить и (при наличии некоторого опыта программирования) они просты в использовании. Кроме того, их также можно легко адаптировать.

Специальные алгоритмы

Рекомендации

  1. ^ О'Рейли, Р.К., Мунаката, Ю. (2000). Вычислительные исследования в когнитивной нейробиологии . Кембридж: MIT Press. ISBN 0-19-510491-9.{{cite book}}: CS1 maint: несколько имен: список авторов ( ссылка )

Внешние ссылки