Одна из причин, по которой алгоритмы искусственных нейронных сетей, такие как каскадная корреляция ( pdf ), вызывают интерес, заключается в том, что они начинают с минимальной топологии (просто блок ввода и вывода) и набирают новые скрытые блоки по мере обучения. Вывод из когнитивной науки (особенно из многих работ по психологии развития) — это аналогия с нейрогенезом (фактически, вы увидите, что эта аналогия упоминается в большинстве статей, использующих CC-NN).
Однако алгоритм CC не считается биологически разумным алгоритмом (например, ни обновление веса, ни правила набора юнитов не являются локальными), поэтому мой вопрос:
Существуют ли популярные алгоритмы нейронных сетей, которые начинают с минимальной топологии и набирают новые скрытые единицы, а также обновляют веса сети нейробиологически правдоподобным образом?
Как вновь созданные нейроны рекрутируются в существующие сети?
Я не знаю ни одного алгоритма NN, полностью соответствующего вашему определению, и я искал их (ранее и недавно). Вот некоторые документы, которые, как мне кажется, близки или находятся в том направлении, которое вы изучаете.
Использование теоретических моделей для анализа развития нейронов (обзор)
Язык инструкций для самоконструирования в контексте нейронных сетей
Развитый нейрогенез и синаптогенез для управления роботами: модель L-мозга
Первые две ссылки представляют собой статьи по вычислительной нейробиологии, в которых обсуждаются относительно сложные модели нейрогенеза, связанные с развитием нервной системы (а не нейрогенезом у взрослых). Некоторые из этих моделей (включая вторую статью) даже не включают сетевую активность, и в их нынешнем виде, вероятно, ни одна из них не способна или не подходит для решения практических задач. Третий документ, вероятно, наиболее близок к тому, что вы ищете (но у меня нет доступа), а четвертый соответствует своему названию.
Многие сетевые модели нейрогенеза сосредоточены на развитии нервной системы. Довольно очевидный вывод состоит в том, что причина этого в том, что наиболее важная биологическая роль нейрогенеза заключается в развитии нервной системы. Я много думал об использовании нейронауки для получения алгоритмов НС, которые были бы одновременно биологически правдоподобными и функциональными, и рассматривал нейрогенез в этом контексте. Мой нынешний вывод заключается в том, что за пределами нейроэволюции нейрогенез в настоящее время не является идеальным направлением для моделирования НС, потому что его роль в обучении и вычислениях, по-видимому, в основном ограничена особым случаем (гиппокамп), который недостаточно изучен (несмотря на его очевидную роль). важность).
Что касается каскадной корреляции, я подозреваю, что аналогичный эффект может быть достигнут в некоторых биологических нейронных сетях, использующих только синаптогенез и синаптическую пластичность. По сути, если у вас очень много нейронов, а новое обучение ограничено минимальным количеством синапсов, которые впоследствии защищены от будущих модификаций, то эффект может быть таким же, как если бы новое обучение всегда ограничивалось только что добавленными нейронами (как в CC-NN). ). Такой случай соответствовал бы этимнаходки, например. В такой модели было бы биологически неправдоподобно и, возможно, нежелательно, чтобы каждый нейрон был связан с каждым нейроном в предыдущем и последующем слоях, и поэтому потребовалась бы система для определения паттерна исследовательских связей. Для этого можно использовать модели нейроразвития, подобные приведенным выше (чтобы сместить цели синаптогенеза, засеять начальные связи сети или и то, и другое), или, в качестве альтернативы, попытаться вывести алгоритмы, которые аппроксимируют наблюдаемые паттерны связности биологических объектов. сети.
Я не знаю конкретной сетевой модели для этой работы (поэтому мой ответ будет неполным), но я считаю, что любая ассоциативная память, основанная на обучении Хебба, может быть легко структурирована для моделирования нейрогенеза. Эти неконтролируемые сети на самом деле являются нелинейными динамическими системами, которые можно понять с точки зрения их фазовых пространств. Фазовое пространство — это реализация динамизма сети во времени. Он содержит (возможно) несколько устойчивых состояний, называемых минимумами.
Рассмотрим сеть с n узлами. Когда вы добавляете n+1-й узел и соединяете его с остальной частью сети через определенное количество соединений, вы (гипотетически) видите, что фазовое пространство полностью не изменяется; но меняется плавно. Важно уточнить (спасибо Артему Казначчееву), что число n должно иметь достаточно большое значение. Представьте крайний случай, когда n равно 1; тогда вся структура исчезнет.
Я не очень хорошо разбираюсь в математике, но в принципе это позволяет моделировать нейрогенез на таких сетях, которые реализуют динамические системы. Можно разработать алгоритмы, которые набирают или удаляют узлы и соединения параллельно с обучением.
Как добавлять узлы: я считаю, что ответ на этот конкретный вопрос не влияет на нейробиологическую достоверность модели. Можно даже предположить, что узлы есть, но не используются (в силу предшествующей ненужности), а сейчас они нам нужны и их набираем.
Но, в заключение, я должен сказать, что такого метворка я еще не разрабатывал, поэтому я не могу поделиться здесь своим опытом.
Мэтт Мансон
Крис С
Артем Казначчеев
Артем Казначчеев
Джош
Шонни123
Артем Казначчеев