Шестислойная модель неокортекса и её связь с архитектурами ИИ
В этом посте кратко описана функциональная структура шестислойной модели неокортекса и её сопоставление с архитектурами трансформеров и Mamba. Из-за ограниченного объема, основная часть материала — в документе "neocortex_layered.pdf".
📄 В документе описаны:
Функции и механизмы работы каждого слоя без углубления в биологию
Перенос этих функций на архитектуры нейросетей
Возможные варианты реализации блоков (без привязки к единственному подходу)
📌 В будущих версиях документа планируется:
Добавление биологических деталей
Расширенное описание гистерезиса, флуктуаций и роли асимметрии
Представление модели как конечного автомата
👉 Документ полезен для тех, кто интересуется связью между нейробиологией и ИИ-архитектурами, но хочет сосредоточиться на функциональной стороне
В этом посте кратко описана функциональная структура шестислойной модели неокортекса и её сопоставление с архитектурами трансформеров и Mamba. Из-за ограниченного объема, основная часть материала — в документе "neocortex_layered.pdf".
📄 В документе описаны:
Функции и механизмы работы каждого слоя без углубления в биологию
Перенос этих функций на архитектуры нейросетей
Возможные варианты реализации блоков (без привязки к единственному подходу)
📌 В будущих версиях документа планируется:
Добавление биологических деталей
Расширенное описание гистерезиса, флуктуаций и роли асимметрии
Представление модели как конечного автомата
👉 Документ полезен для тех, кто интересуется связью между нейробиологией и ИИ-архитектурами, но хочет сосредоточиться на функциональной стороне
Выше изображена архитектура модели. Мы уходим от термина шестислойной модели неокортекса. Так как она является конечным автоматом. Не могу дать ему точное определение, так как это замкнутый, вложенный, хаотический автомат. Все что он делает, это выделяет асимметрию в исходном сигнале волны по амплитуде, частоте и фазе(?).
На схеме намеренно все обозначения заменены на F(X). Что это значит?
1) вы можете заменить их на W(X). FFN(X), Свертки, SSM/Mamba и так далее. Это лишь повлияет на то, как хорошо модель будет справляться с каждой функцией.
В исходниках, вы можете увидеть разные версии, где были свертки, расширенные FFN и просто слои. В последней версии, они все заменены на доработанные SMM/Mamba.
2) Вы можете убрать некоторые функции и получить классический трансформер или Mamba (она тоже является своего рода матрешкой этой модели). Это разберем.
Позже разберем сам автомат. Тут я слегка показал, что он как матрешка реализует нейрон, слои, области и целые зоны мозга. И немного затронул саморефлексию.
На схеме намеренно все обозначения заменены на F(X). Что это значит?
1) вы можете заменить их на W(X). FFN(X), Свертки, SSM/Mamba и так далее. Это лишь повлияет на то, как хорошо модель будет справляться с каждой функцией.
В исходниках, вы можете увидеть разные версии, где были свертки, расширенные FFN и просто слои. В последней версии, они все заменены на доработанные SMM/Mamba.
2) Вы можете убрать некоторые функции и получить классический трансформер или Mamba (она тоже является своего рода матрешкой этой модели). Это разберем.
Позже разберем сам автомат. Тут я слегка показал, что он как матрешка реализует нейрон, слои, области и целые зоны мозга. И немного затронул саморефлексию.
Очень сложно упростить.
Выше архитектура последней версии.
Не смотря на запутанность, сложного ничего нет.
Predictor - это просто блок предсказания сигнала из других областей мозга (блоков) для исходного сигнала
Слой 1 - это просто иерархия, обычный хаб. Мы даже можем не использовать его, заменив на аналог Predictor. Тот же DeepMind например использует в этом месте латеральное пространство, аналог предсказания сигнала.
Слой 2/3 находит будущие связи, затем разбивает на головы (кластеры).
Разница с трансформерами в том, что:
1) мы четко разделяем кластер на последовательные и пространственные признаки, а не просто через одну матрицу
2) явно задает влияние пространственных признаков на последовательные признаки.
3) В трансформерах слой 1 - заменен на упрощенный вариант Predictor, который прогнозирует сигнал только для слоя 2/3 (B_global и B_23).
Других особенностей нет.
MambaBlock - ради SMM (улавливает временную компоненту). Его можно заменить на другие решения.
Дальше предстоит оптимизация модели.
Выше архитектура последней версии.
Не смотря на запутанность, сложного ничего нет.
Predictor - это просто блок предсказания сигнала из других областей мозга (блоков) для исходного сигнала
Слой 1 - это просто иерархия, обычный хаб. Мы даже можем не использовать его, заменив на аналог Predictor. Тот же DeepMind например использует в этом месте латеральное пространство, аналог предсказания сигнала.
Слой 2/3 находит будущие связи, затем разбивает на головы (кластеры).
Разница с трансформерами в том, что:
1) мы четко разделяем кластер на последовательные и пространственные признаки, а не просто через одну матрицу
2) явно задает влияние пространственных признаков на последовательные признаки.
3) В трансформерах слой 1 - заменен на упрощенный вариант Predictor, который прогнозирует сигнал только для слоя 2/3 (B_global и B_23).
Других особенностей нет.
MambaBlock - ради SMM (улавливает временную компоненту). Его можно заменить на другие решения.
Дальше предстоит оптимизация модели.
👍4
Чтобы немного распутать приведенную выше архитектуру.Я бы хотел, выделять несколько важных вещей:
1) она не упирается только в нейробиологию. Поэтому я специально описал ее обобщенно.
2) мозг использует одни и те же механизмы. Выше один из примеров на уровне слоев и блоков.
3) важную роль играет обратная связь. Именно она модулирует ранние блоки. Когда в позднем блоке найдена связь Маша ела яблоко, то через обратную связь будут усилены признаки на прежнем уровне маша/ела/яблоко.
Трансформеры через глобальный контекст реализуют это в неявном виде.
Глобальный контекст в трансформерах это аналог слоя 1, как если бы мы решили оценить его влияние на все признаки в каждом блоке. Он в явном виде не учитывает иерархию и является избыточным. Мы полагаемся, что он сам научиться этой иерархии и влиянию слоя 1.
Как мы видим, обратная связь идет только в обратном порядке.
Именно реализация этой обратной связи должна позволить избавиться от необходимости в гигантских контекстах и реализовать влияние на слой 5.
1) она не упирается только в нейробиологию. Поэтому я специально описал ее обобщенно.
2) мозг использует одни и те же механизмы. Выше один из примеров на уровне слоев и блоков.
3) важную роль играет обратная связь. Именно она модулирует ранние блоки. Когда в позднем блоке найдена связь Маша ела яблоко, то через обратную связь будут усилены признаки на прежнем уровне маша/ела/яблоко.
Трансформеры через глобальный контекст реализуют это в неявном виде.
Глобальный контекст в трансформерах это аналог слоя 1, как если бы мы решили оценить его влияние на все признаки в каждом блоке. Он в явном виде не учитывает иерархию и является избыточным. Мы полагаемся, что он сам научиться этой иерархии и влиянию слоя 1.
Как мы видим, обратная связь идет только в обратном порядке.
Именно реализация этой обратной связи должна позволить избавиться от необходимости в гигантских контекстах и реализовать влияние на слой 5.
👍2
Флуктуация это одна из тех тем, которые еще предстоит исследовать.
На сегодня данные результаты получены экспериментальным путем. Не смотря на то, что они опираются на собственные исследования:
1) градиентов речи
2) пауз речи
3) теорию хаоса
4) асимметрию сигнала
цифры шума по умолчанию остаются эмпирическими, хотя и согласуются с множеством других исследований.
Думаю, что математическим доказательством физического смысла флуктуаций должно стать исследование асимметрии сигнала. Где начальная небольшая асимметрия порождает хаос.
Практическая сторона:
реализация флуктуации в функциях активации позволила избежать ям локальных минимумов. Система просто не может в них застрять. Всегда существует сигнал, который при наличии флуктуации способен вытащить ее из локальной ямы (шум зависит от уровня сигнала).
Благодаря этому, обучая на 1-10 примерах 1000-5000 раз, система никогда не застрянет на одном результате при продолжении обучения на других примеров.
В выложенных исходниках это: sk_func_active.py
На сегодня данные результаты получены экспериментальным путем. Не смотря на то, что они опираются на собственные исследования:
1) градиентов речи
2) пауз речи
3) теорию хаоса
4) асимметрию сигнала
цифры шума по умолчанию остаются эмпирическими, хотя и согласуются с множеством других исследований.
Думаю, что математическим доказательством физического смысла флуктуаций должно стать исследование асимметрии сигнала. Где начальная небольшая асимметрия порождает хаос.
Практическая сторона:
реализация флуктуации в функциях активации позволила избежать ям локальных минимумов. Система просто не может в них застрять. Всегда существует сигнал, который при наличии флуктуации способен вытащить ее из локальной ямы (шум зависит от уровня сигнала).
Благодаря этому, обучая на 1-10 примерах 1000-5000 раз, система никогда не застрянет на одном результате при продолжении обучения на других примеров.
В выложенных исходниках это: sk_func_active.py
👍2