LLM_interpretability_AI _summary.pdf
71.2 KB
Over the past time I collected some interesting mechanistic interpretability papers - trying to understand the information processing in AI systems.
Since I'm not an expert, I delegated some of the work to AI itself 🙃
Why I find it interesting? Well, the field of "AI neuroscience" is emerging. This, firstly, brings two fields closer together (neuroAI doesn't count). Second, I believe both understanding of AI and the brain can be advanced by testing theories on the systems where everything can be measured and controlled.
Of course, LLMs are far from natural biological nervous systems, but I believe there are fundamental information processing principles that are shared.
💡Some insights:
> Activations in RNNs mirror the statistics of their input data
> Apparently chunking of computations is present akin to brain's hierarchical processing
> "Grandmother cell" are real but sparse, distributed processing is more likely to be happening
Have a look, it's fun 🙂
Since I'm not an expert, I delegated some of the work to AI itself 🙃
Why I find it interesting? Well, the field of "AI neuroscience" is emerging. This, firstly, brings two fields closer together (neuroAI doesn't count). Second, I believe both understanding of AI and the brain can be advanced by testing theories on the systems where everything can be measured and controlled.
Of course, LLMs are far from natural biological nervous systems, but I believe there are fundamental information processing principles that are shared.
💡Some insights:
> Activations in RNNs mirror the statistics of their input data
> Apparently chunking of computations is present akin to brain's hierarchical processing
> "Grandmother cell" are real but sparse, distributed processing is more likely to be happening
Have a look, it's fun 🙂
❤4🔥2🤓2
This media is not supported in your browser
VIEW IN TELEGRAM
Helix: A Vision-Language-Action Model for Generalist Humanoid Control
Figure сегодня показала своих роботов с новой системой управления. Обязательно посмотрите их отчёт - очень интересно! Видео взял прямиком из твиттера)
Technical report:
https://www.figure.ai/news/helix
Figure сегодня показала своих роботов с новой системой управления. Обязательно посмотрите их отчёт - очень интересно! Видео взял прямиком из твиттера)
Technical report:
https://www.figure.ai/news/helix
5🔥6🤯2❤1
Forwarded from rizzearch
World and Human Action Models towards gameplay ideation
вот и майкрософт, как оказывается, год назад уже смогли зафигачить модель мира на основе мультиплеер пвп bleeding edge от ninja theory (оказывается помимо devil may cry & hellblade они еще вот такое делали). но почему-то решили это отправить nature а не на архив по классике
собрали 28 террабайт датасета траекторий игроков (полмиллиона игровых сессий, 1.4B фреймов при 10Гц, 7+ лет реального времени, еще отфильтровали под конкретную карту примерно год по объему)
обсервейшны (картинки) 300х180х3 и действия маппят в одно и то же пространство токенов, при том для первых обучают сначала ViT-VQGAN в 300м параметров на реконструкцию и perpectual лоссы, а потом и добавляют ган обжектив непосредственно. в качестве ворлд модели выступает отдельный каузальный трансформер который моделирует последовательность токенов обсервейшнов и действий (в качестве них кстати выступают сигналы с контроллеров хбокс геймпада)
назвали это WHAM - World and Human Action Model
самый большой трансформер смогли натренить размером в 1.6B что не оч много но при этом довольно классные на глаз результаты получились (с учетом маленького разрешения фреймов). и присутствует то, что авторы называют persistency, diversity, consistency: генерации соответствуют игровой механике и более-менее геймер интерфейсу, они получаются разнообразными и способны адаптироваться под нововведенные объекты посреди инференса (например если добавить врага или какой-то игровой объект то очень естественно произойдет с ними взаимодействие)
насчет последнего так же они еще релизнули WHAM Demonstrator - как я понял это своеобразная гуишка, которая позволяет удобнее производить такие интервенции в момент генерации + смотреть на каких фреймах может происходить расхождения по разным сценариям с одинакового начального картиночного промпта (то что относится к диверсити)
paper
weights
dataset 75гб
P.S. у нас еще есть другие посты про модели мира - [1] [2] [3]
вот и майкрософт, как оказывается, год назад уже смогли зафигачить модель мира на основе мультиплеер пвп bleeding edge от ninja theory (оказывается помимо devil may cry & hellblade они еще вот такое делали). но почему-то решили это отправить nature а не на архив по классике
собрали 28 террабайт датасета траекторий игроков (полмиллиона игровых сессий, 1.4B фреймов при 10Гц, 7+ лет реального времени, еще отфильтровали под конкретную карту примерно год по объему)
обсервейшны (картинки) 300х180х3 и действия маппят в одно и то же пространство токенов, при том для первых обучают сначала ViT-VQGAN в 300м параметров на реконструкцию и perpectual лоссы, а потом и добавляют ган обжектив непосредственно. в качестве ворлд модели выступает отдельный каузальный трансформер который моделирует последовательность токенов обсервейшнов и действий (в качестве них кстати выступают сигналы с контроллеров хбокс геймпада)
назвали это WHAM - World and Human Action Model
самый большой трансформер смогли натренить размером в 1.6B что не оч много но при этом довольно классные на глаз результаты получились (с учетом маленького разрешения фреймов). и присутствует то, что авторы называют persistency, diversity, consistency: генерации соответствуют игровой механике и более-менее геймер интерфейсу, они получаются разнообразными и способны адаптироваться под нововведенные объекты посреди инференса (например если добавить врага или какой-то игровой объект то очень естественно произойдет с ними взаимодействие)
насчет последнего так же они еще релизнули WHAM Demonstrator - как я понял это своеобразная гуишка, которая позволяет удобнее производить такие интервенции в момент генерации + смотреть на каких фреймах может происходить расхождения по разным сценариям с одинакового начального картиночного промпта (то что относится к диверсити)
paper
weights
dataset 75гб
❤3🔥2
📚A collection of papers & tools on dynamical systems and deep learning
https://github.com/yantijin/dynamic-systems-DL
It's divided into the following topics:
Differential Equations in Deep Learning
General Architectures
Neural ODEs (ordinary diff. eq.)
Neural SDEs, CSDEs, CDEs...
Normalizing Flows
Applications
Energy based models
Hamilton
Applications
Lagrange
Deep Learning Methods for Differential Equations
Solving Differential Equations
Learning PDEs
Applications
Model Discovery
Deep Control
Model-Predictive-Control
Dynamical System View of Deep Learning
Recurrent Neural Networks
Theory and Perspectives
Optimization
Signals and systems
Software and Libraries
Python
Julia
Websites and Blogs
----
https://github.com/yantijin/dynamic-systems-DL
It's divided into the following topics:
Differential Equations in Deep Learning
General Architectures
Neural ODEs (ordinary diff. eq.)
Neural SDEs, CSDEs, CDEs...
Normalizing Flows
Applications
Energy based models
Hamilton
Applications
Lagrange
Deep Learning Methods for Differential Equations
Solving Differential Equations
Learning PDEs
Applications
Model Discovery
Deep Control
Model-Predictive-Control
Dynamical System View of Deep Learning
Recurrent Neural Networks
Theory and Perspectives
Optimization
Signals and systems
Software and Libraries
Python
Julia
Websites and Blogs
----
GitHub
GitHub - yantijin/dynamic-systems-DL: Collection of resources that combine dynamic systems, control with deep learning.
Collection of resources that combine dynamic systems, control with deep learning. - yantijin/dynamic-systems-DL
1❤6
ALVI Interface: Towards Full Hand Motion Decoding for Amputees Using sEMG
Мы решили выложить детали нашего интерфейса для людей с ампутацией. Этой работой я очень горжусь и хочу всех поблагодарить за очень крутой результат!
Я начал работать над этим проектом, потому что узнал, что протезы работают плохо. И вместе с командой мы решили создать самую лучшую систему управления.
Что за система управления?
Мы хотели, чтобы человек с ампутацией управлял искусственной рукой, как настоящий. Для этого мы разработали продвинутую систему контроля для протезов.
Что сделали, чтобы приблизиться к цели?
1. Использовали 8 электродный браслет для записи мышечных сигнала(EMG)
2. Разработали приложение для виртуальных очков - это позволило нам записывать много данных.
3. Обучили трансформер предсказывать движения пальце по активности мышц,
4. Реализовали быструю систему калибровки интерфейса "на лету", чтобы человек мог видеть результаты и повторять наиболее сложные жесты. Связали очки вр, с компом, с браслетом и с сервером.
Теперь мы выкладываем в открытый доступ описание нашей системы! Со временем, мы выложим код и данные. Надеюсь, что это ускорит научные исследования и мы реально увидим удобные и полезные протезы.
Видео: https://youtu.be/Dx_6Id2clZ0?si=E4Cw8TTZG2opkdZg
Статья https://arxiv.org/abs/2502.21256v1
Прошлый пост: https://t.me/neural_cell/135
Мы решили выложить детали нашего интерфейса для людей с ампутацией. Этой работой я очень горжусь и хочу всех поблагодарить за очень крутой результат!
Я начал работать над этим проектом, потому что узнал, что протезы работают плохо. И вместе с командой мы решили создать самую лучшую систему управления.
Что за система управления?
Мы хотели, чтобы человек с ампутацией управлял искусственной рукой, как настоящий. Для этого мы разработали продвинутую систему контроля для протезов.
Что сделали, чтобы приблизиться к цели?
1. Использовали 8 электродный браслет для записи мышечных сигнала(EMG)
2. Разработали приложение для виртуальных очков - это позволило нам записывать много данных.
3. Обучили трансформер предсказывать движения пальце по активности мышц,
4. Реализовали быструю систему калибровки интерфейса "на лету", чтобы человек мог видеть результаты и повторять наиболее сложные жесты. Связали очки вр, с компом, с браслетом и с сервером.
Теперь мы выкладываем в открытый доступ описание нашей системы! Со временем, мы выложим код и данные. Надеюсь, что это ускорит научные исследования и мы реально увидим удобные и полезные протезы.
Видео: https://youtu.be/Dx_6Id2clZ0?si=E4Cw8TTZG2opkdZg
Статья https://arxiv.org/abs/2502.21256v1
Прошлый пост: https://t.me/neural_cell/135
🔥13 6❤3
Low-rank RNNs are thought to underly neural manifolds (see works of Ostojic and Langdon), which in turn are linked the population coding of behavioral variables. So this short article about low-rank RNNs might be useful to get familiar with the theoretical basis.
I made a separate post on manifolds underlying neural activity, mostly to show that it's still a hot topic in neuro research.
I made a separate post on manifolds underlying neural activity, mostly to show that it's still a hot topic in neuro research.
Telegram
the last neural cell
✨ Continuing sharing newsletters for inspiration and general perspective broadening
Neural manifolds: Latest buzzword or pathway to understand the brain?
Check out this insightful piece from The Transmitter on neural manifolds and population coding.
The…
Neural manifolds: Latest buzzword or pathway to understand the brain?
Check out this insightful piece from The Transmitter on neural manifolds and population coding.
The…
🤓2
Forwarded from the Turing Machine
Low-rank RNNs in ten minutes
Artificial neural networks are super cool. They are known for all sorts of computational prowesses, and they also happen to model brain processes quite well. Among artificial neural networks, there are recurrent neural networks (RNNs), which contain a pool of interconnected neurons, whose activity evolves over time. These networks can be trained to perform all sorts of cognitive tasks, and they exhibit activity patterns that are quite similar to what is observed in many brain areas... [ Read more ]
A post by Adrian Valente
Follow: @theTuringMachine
Artificial neural networks are super cool. They are known for all sorts of computational prowesses, and they also happen to model brain processes quite well. Among artificial neural networks, there are recurrent neural networks (RNNs), which contain a pool of interconnected neurons, whose activity evolves over time. These networks can be trained to perform all sorts of cognitive tasks, and they exhibit activity patterns that are quite similar to what is observed in many brain areas... [ Read more ]
A post by Adrian Valente
Follow: @theTuringMachine
🤓5
Разбираемся в генеративных моделях: diffusion
Сейчас почти на каждом шагу можно встретить много разных генеративных моделей. Самый яркий пример — text-to-image/video модели, которые по текстовому описанию генерируют картинку или видео. Давайте погрузимся в термины diffusion и flow matching и разберемся, как это всё работает верхнеуровнево.
Предыстория и контекст
DDPM (Denoising Diffusion Probabilistic Models) стала одним из главных открытий в 2020 году. После этого ученые всерьез начали заниматься диффузиями и немного забросили работы по GAN, хотя их было очень много в то время.
Я прекрасно помню тот момент. Я работал в Huawei над улучшениями качества картинок, и в соседних командах потихоньку люди начинали обращать внимание на normalizing flows и diffusion. Мы тогда обучали U-Net подобные архитектуры и не отвлекались ни на что другое.
Проблема генерации данных
Собственно в чем суть. Чтобы генерировать данные, круто было бы понимать как эти данные распределены, в идеале иметь доступ к функции распределения. Ведь чтобы что-то генерировать/сэмплировать вам нужна эта функция.
Например, если у вас нормальное распределение (колокол) с известными средним и дисперсией, то вы с легкостью можете получать данные из этого распределения.
А как же быть с многомерными картинками? Ответ — никак, но... Невозможно получить распределение картинок, но можно его как-то попытаться смоделировать/аппроксимировать.
Основная идея диффузионных моделей
Итак, как я уже говорил, мы умеем получать значения из нормального распределения (ака шум). Теперь давайте обучим нейронку превращать наш шум в какие-нибудь данные (например, картинки).
Получаем шум, прогоняем модель, получаем картинку — вот так просто. Может это звучит немного странно, однако таким образом работают VAE и GAN.
Что особенного в диффузии?
Главное отличие заключается в том, что мы трансформируем шум в данные в несколько шагов, вместо одного. То есть мы учим нашу модель двигаться постепенно. Вот тебе 1000 шагов — потихоньку превращай шум в картинку.
И это работает просто и хорошо! Решаются проблемы VAE с размытостью генераций и GAN с нестабильным обучением. Да, процесс стал медленнее, но взамен мы получили стабильность и качество, а сам процесс обучения стал значительно проще.
Как это работает более подробно
В DDPM есть два процесса, прямой и обратный:
- В прямом мы зашумляем картинку, постепенно превращая в шум
- В обратном мы постепенно расшумляем, превращая в картинку
Существуют разные расписания шума, которые влияют на скорость и качество генерации.
Как мы учим модель расшумлять данные
Главное на что стоит обратить внимание — процесс стохастический. То есть даже во время генерации мы на каждом шаге добавляем шум. И как бы это ни звучало парадоксально, за счет этого шума мы как бы нивелируем небольшие неточности модели. То есть если модель на каком-то шаге свернула не туда, то добавленный шум может сгладить этот эффект. Это мое понимание. Если вы считаете иначе, пишите — обсудим.
Заключение
Надеюсь было полезно. Для более глубокого погружения - читаем отличный гайд на 80 страниц.
Tutorial on Diffusion Models for Imaging and Vision
В следующий раз поговорим про еще более простой способ.
Сейчас почти на каждом шагу можно встретить много разных генеративных моделей. Самый яркий пример — text-to-image/video модели, которые по текстовому описанию генерируют картинку или видео. Давайте погрузимся в термины diffusion и flow matching и разберемся, как это всё работает верхнеуровнево.
Предыстория и контекст
DDPM (Denoising Diffusion Probabilistic Models) стала одним из главных открытий в 2020 году. После этого ученые всерьез начали заниматься диффузиями и немного забросили работы по GAN, хотя их было очень много в то время.
Я прекрасно помню тот момент. Я работал в Huawei над улучшениями качества картинок, и в соседних командах потихоньку люди начинали обращать внимание на normalizing flows и diffusion. Мы тогда обучали U-Net подобные архитектуры и не отвлекались ни на что другое.
Проблема генерации данных
Собственно в чем суть. Чтобы генерировать данные, круто было бы понимать как эти данные распределены, в идеале иметь доступ к функции распределения. Ведь чтобы что-то генерировать/сэмплировать вам нужна эта функция.
Например, если у вас нормальное распределение (колокол) с известными средним и дисперсией, то вы с легкостью можете получать данные из этого распределения.
А как же быть с многомерными картинками? Ответ — никак, но... Невозможно получить распределение картинок, но можно его как-то попытаться смоделировать/аппроксимировать.
Основная идея диффузионных моделей
Итак, как я уже говорил, мы умеем получать значения из нормального распределения (ака шум). Теперь давайте обучим нейронку превращать наш шум в какие-нибудь данные (например, картинки).
Получаем шум, прогоняем модель, получаем картинку — вот так просто. Может это звучит немного странно, однако таким образом работают VAE и GAN.
Что особенного в диффузии?
Главное отличие заключается в том, что мы трансформируем шум в данные в несколько шагов, вместо одного. То есть мы учим нашу модель двигаться постепенно. Вот тебе 1000 шагов — потихоньку превращай шум в картинку.
И это работает просто и хорошо! Решаются проблемы VAE с размытостью генераций и GAN с нестабильным обучением. Да, процесс стал медленнее, но взамен мы получили стабильность и качество, а сам процесс обучения стал значительно проще.
Как это работает более подробно
В DDPM есть два процесса, прямой и обратный:
- В прямом мы зашумляем картинку, постепенно превращая в шум
- В обратном мы постепенно расшумляем, превращая в картинку
Существуют разные расписания шума, которые влияют на скорость и качество генерации.
Как мы учим модель расшумлять данные
def ddpm_train_step(self, x0):
"""
x0 - исходные данные
"""
batch_size = x0.shape[0]
# Выбираем случайный шаг времени
t = torch.randint(0, timesteps, (batch_size, 1))
# Добавляем шум к исходным данным
x_t, target_noise = add_noise(x0, t)
# Модель предсказывает добавленный шум
predicted_noise = model(x_t, t)
# Учим модель предсказывать правильно
loss = F.mse_loss(predicted_noise, target_noise)
return loss
Главное на что стоит обратить внимание — процесс стохастический. То есть даже во время генерации мы на каждом шаге добавляем шум. И как бы это ни звучало парадоксально, за счет этого шума мы как бы нивелируем небольшие неточности модели. То есть если модель на каком-то шаге свернула не туда, то добавленный шум может сгладить этот эффект. Это мое понимание. Если вы считаете иначе, пишите — обсудим.
Заключение
Надеюсь было полезно. Для более глубокого погружения - читаем отличный гайд на 80 страниц.
Tutorial on Diffusion Models for Imaging and Vision
В следующий раз поговорим про еще более простой способ.
5🔥8 3❤2🤓1
Разбираемся в генеративных моделях: Flow matching
Помните, в прошлый раз мы разбирали DDPM, где нужно было делать 1000 шагов для генерации? А что если я скажу, что можно сделать всё то же самое, но в разы проще и быстрее?
Сегодня поговорим про flow matching в его самой простой форме - linear interpolation. Если DDPM показался вам сложным, то тут вы офигеете насколько всё просто.
В чём основная идея? Вместо того чтобы учить модель убирать шум пошагово (как в DDPM), мы учим её находить прямой путь от шума к картинке. Да-да, просто рисуем линию из точки А в точку Б!
Как это работает:
1. Берём шум и настоящую картинку
2. Случайно выбираем точку между ними (это наше t)
3. Просим модель предсказать в какую сторону двигаться из этой точки
И всё! Вот честно - это весь алгоритм. Смотрите какой простой код для обучения:
А генерация ещё проще - просто идём маленькими шажками в нужном направлении:
А теперь самое интересное - то что мы тут делаем, по сути решаем обычный дифур!
Наш vector_field это просто производная dx/dt, а в sample мы используем метод Эйлера для решения этого дифура. И тут открывается целое поле для экспериментов - можно использовать любые солверы: Рунге-Кутту, multistep методы и прочие штуки из мира численных методов.
В общем берите любой солвер из scipy.integrate и вперёд! Некоторые из них позволят ещё сильнее уменьшить количество шагов при генерации.
Главные преимущества по сравнению с DDPM:
- Не нужно возиться с расписаниями шума
- Процесс полностью детерминированный (мы же просто решаем дифур!)
- Генерация работает в разы быстрее
- Код настолько простой, что его можно написать за 5 минут
Я сам офигел когда первый раз это запустил - на многих задачах качество получается сравнимое с DDPM, а кода в три раза меньше.
Единственный небольшой минус - модель иногда бывает менее стабильной при обучении, т.к. нет стохастичности как в DDPM. Но это решается правильным подбором learning rate.
Flow Matching Guide and Code: https://arxiv.org/pdf/2412.06264
Помните, в прошлый раз мы разбирали DDPM, где нужно было делать 1000 шагов для генерации? А что если я скажу, что можно сделать всё то же самое, но в разы проще и быстрее?
Сегодня поговорим про flow matching в его самой простой форме - linear interpolation. Если DDPM показался вам сложным, то тут вы офигеете насколько всё просто.
В чём основная идея? Вместо того чтобы учить модель убирать шум пошагово (как в DDPM), мы учим её находить прямой путь от шума к картинке. Да-да, просто рисуем линию из точки А в точку Б!
Как это работает:
1. Берём шум и настоящую картинку
2. Случайно выбираем точку между ними (это наше t)
3. Просим модель предсказать в какую сторону двигаться из этой точки
И всё! Вот честно - это весь алгоритм. Смотрите какой простой код для обучения:
def train_step(self, x0):
batch_size = len(x0)
z = torch.randn(batch_size, self.dim).to(self.device)
t = torch.rand(batch_size, 1).to(self.device)
xt = (1 - t) * z + t * x0 # линейная интерполяция между шумом и картинкой
pred_field = self.vector_field(xt, t)
true_field = x0 - z # вот оно - направление от шума к картинке
loss = F.mse_loss(pred_field, true_field)
return loss # возвращаем loss, а не x
А генерация ещё проще - просто идём маленькими шажками в нужном направлении:
def sample(self, batch_size=64, steps=100):
dt = 1.0 / steps
x = torch.randn(batch_size, self.dim).to(self.device)
for i in range(steps):
t = torch.ones(batch_size, 1).to(self.device) * i * dt
v = self.vector_field(x, t)
x = x + dt * v
return x
А теперь самое интересное - то что мы тут делаем, по сути решаем обычный дифур!
Наш vector_field это просто производная dx/dt, а в sample мы используем метод Эйлера для решения этого дифура. И тут открывается целое поле для экспериментов - можно использовать любые солверы: Рунге-Кутту, multistep методы и прочие штуки из мира численных методов.
В общем берите любой солвер из scipy.integrate и вперёд! Некоторые из них позволят ещё сильнее уменьшить количество шагов при генерации.
Главные преимущества по сравнению с DDPM:
- Не нужно возиться с расписаниями шума
- Процесс полностью детерминированный (мы же просто решаем дифур!)
- Генерация работает в разы быстрее
- Код настолько простой, что его можно написать за 5 минут
Я сам офигел когда первый раз это запустил - на многих задачах качество получается сравнимое с DDPM, а кода в три раза меньше.
Единственный небольшой минус - модель иногда бывает менее стабильной при обучении, т.к. нет стохастичности как в DDPM. Но это решается правильным подбором learning rate.
Flow Matching Guide and Code: https://arxiv.org/pdf/2412.06264
5🔥4 2❤1
Давайте я тоже выйду из тени, следуя примеру Александра 👋
Я на обеих фотках справа, это мы забавно поймали Joscha Bach после конференции в моём городке в Германии.
Меня зовут Алексей Тимченко, мы учились вместе с Сашей на программе "Когнитивные науки и технологии" ВШЭ. Там и зародилась идея писать разборы статей и посты, совмещая наши интересы в ИИ и нейронауках.
Сейчас нас разбросало по миру: я осенью закончил вторую магистратуру (уже по вычислительным нейронаукам) в Тюбингене и начал свой PhD в молодом институте Hertie institute for AI in brain health, а Саша разрабатывает vision BCI в Испании.
Во всей этой движухе мной движут вопросы фундаментальной науки. При всей полезности приложений, мне интересно понимать как конкретно устроены объекты, которые мы изучаем. В частности, до PhD я занимался тем как спайки и мозговые ритмы взаимодействуют между собой (фотка с FENS 2024 как раз про это). А в общности, я хочу понимать как динамика мозговых процессов опосредует вычисления, необходимые для выживания. Помимо этого, мне интересно всё смежное: сознание и подходы к нему через естественные науки и философию, BCI, эмерджентность в AI, агентность и модели мира в predictive coding.
Начинаем с малого, однако - с обработки зрительной информации. Во время PhD я постараюсь понять как геометрия естественных стимулов отражается в активности последующих структур: retina, thalamus, superior colliculus и V1. Для этого я буду работать в парадигме computation through low-dimensional dynamics и изучать вызванную стимулами динамику во всех перечисленных структурах. Думаю, придется основательно засесть за топологию и дифф. геометрию, чтобы охарактеризовать эти самые надоедливые нейроманифолды 😵💫
Путь интересный и непроторенный, так что буду писать о рандомных вещах в канал. Кстати, дайте знать, насколько интересны разборы фундаментальных концептов и теорий, я люблю погружаться в такие кроличье норы ✨
Я на обеих фотках справа, это мы забавно поймали Joscha Bach после конференции в моём городке в Германии.
Меня зовут Алексей Тимченко, мы учились вместе с Сашей на программе "Когнитивные науки и технологии" ВШЭ. Там и зародилась идея писать разборы статей и посты, совмещая наши интересы в ИИ и нейронауках.
Сейчас нас разбросало по миру: я осенью закончил вторую магистратуру (уже по вычислительным нейронаукам) в Тюбингене и начал свой PhD в молодом институте Hertie institute for AI in brain health, а Саша разрабатывает vision BCI в Испании.
Во всей этой движухе мной движут вопросы фундаментальной науки. При всей полезности приложений, мне интересно понимать как конкретно устроены объекты, которые мы изучаем. В частности, до PhD я занимался тем как спайки и мозговые ритмы взаимодействуют между собой (фотка с FENS 2024 как раз про это). А в общности, я хочу понимать как динамика мозговых процессов опосредует вычисления, необходимые для выживания. Помимо этого, мне интересно всё смежное: сознание и подходы к нему через естественные науки и философию, BCI, эмерджентность в AI, агентность и модели мира в predictive coding.
Начинаем с малого, однако - с обработки зрительной информации. Во время PhD я постараюсь понять как геометрия естественных стимулов отражается в активности последующих структур: retina, thalamus, superior colliculus и V1. Для этого я буду работать в парадигме computation through low-dimensional dynamics и изучать вызванную стимулами динамику во всех перечисленных структурах. Думаю, придется основательно засесть за топологию и дифф. геометрию, чтобы охарактеризовать эти самые надоедливые нейроманифолды 😵💫
Путь интересный и непроторенный, так что буду писать о рандомных вещах в канал. Кстати, дайте знать, насколько интересны разборы фундаментальных концептов и теорий, я люблю погружаться в такие кроличье норы ✨
🔥32❤8 4🦄2
Forwarded from All about AI, Web 3.0, BCI
Berkeley developed a streaming “brain-to-voice” neuroprosthesis which restores naturalistic, fluent, intelligible speech to a person who has paralysis.
Researchers adopted streaming transducer techniques similar to methods used by popular ASR methods like Siri or Alexa, and repurposed them for personalized brain-to-voice synthesis.
This approach resulted in significant improvements in the decoding speed of the brain-to-voice neuroprosthesis compared to prior approaches with longer delays.
Researchers also show continuous long-form brain-to-voice synthesis, robustness to model-generated auditory feedback, and out-of-vocabulary brain-to-voice synthesis.
Researchers adopted streaming transducer techniques similar to methods used by popular ASR methods like Siri or Alexa, and repurposed them for personalized brain-to-voice synthesis.
This approach resulted in significant improvements in the decoding speed of the brain-to-voice neuroprosthesis compared to prior approaches with longer delays.
Researchers also show continuous long-form brain-to-voice synthesis, robustness to model-generated auditory feedback, and out-of-vocabulary brain-to-voice synthesis.
🔥7 1
Introduction | Smart stimulation patterns for visual prostheses
Я уже рассказывал, что начал работать над визуальными кортикальными имплантами. В этой области долгие годы используются одни и те же стандартные паттерны стимуляции — обычно 10-50 импульсов через несколько электродов за 100-200 мс. Такой подход далек от естественной активности мозга, но стабильно вызывает фосфены.
Я считаю, что можно существенно улучшить эту технологию. Например, отслеживать нейронную активность во время стимуляции и адаптировать параметры в реальном времени. Или использовать прямой фидбек пациента для итеративной оптимизации. Сейчас идеальное время для продвижения этой области — нужно сделать стимуляцию более естественной, использовать многоэлектродные массивы и создать замкнутые системы с нейронной обратной связью.
Я подготовил обзор четырех важных статей в этой области.
Towards biologically plausible phosphene simulation — использует in silico модель V1 коры для создания дифференцируемого симулятора фосфенов.
https://doi.org/10.7554/eLife.85812
Human-in-the-Loop Optimization — на синтетических данных ретинальных протезов разработан метод сжатия тысяч параметров стимуляции до 13 через байесовскую оптимизацию.
http://arxiv.org/abs/2306.13104
MiSO: Optimizing brain stimulation — на реальных записях Utah-массива (96 электродов) из PFC макаки создана система предсказания нейронных состояний от мультиэлектродной стимуляции.
https://openreview.net/forum?id=Gb0mXhn5h3
Precise control with dynamically optimized electrical stimulation — на ex vivo сетчатке мыши разработан алгоритм временного дизеринга( стимуляруем с небольшими задержками)
https://doi.org/10.7554/eLife.83424
Следующий пост будет с review. https://t.me/neural_cell/271
Я уже рассказывал, что начал работать над визуальными кортикальными имплантами. В этой области долгие годы используются одни и те же стандартные паттерны стимуляции — обычно 10-50 импульсов через несколько электродов за 100-200 мс. Такой подход далек от естественной активности мозга, но стабильно вызывает фосфены.
Я считаю, что можно существенно улучшить эту технологию. Например, отслеживать нейронную активность во время стимуляции и адаптировать параметры в реальном времени. Или использовать прямой фидбек пациента для итеративной оптимизации. Сейчас идеальное время для продвижения этой области — нужно сделать стимуляцию более естественной, использовать многоэлектродные массивы и создать замкнутые системы с нейронной обратной связью.
Я подготовил обзор четырех важных статей в этой области.
Towards biologically plausible phosphene simulation — использует in silico модель V1 коры для создания дифференцируемого симулятора фосфенов.
https://doi.org/10.7554/eLife.85812
Human-in-the-Loop Optimization — на синтетических данных ретинальных протезов разработан метод сжатия тысяч параметров стимуляции до 13 через байесовскую оптимизацию.
http://arxiv.org/abs/2306.13104
MiSO: Optimizing brain stimulation — на реальных записях Utah-массива (96 электродов) из PFC макаки создана система предсказания нейронных состояний от мультиэлектродной стимуляции.
https://openreview.net/forum?id=Gb0mXhn5h3
Precise control with dynamically optimized electrical stimulation — на ex vivo сетчатке мыши разработан алгоритм временного дизеринга( стимуляруем с небольшими задержками)
https://doi.org/10.7554/eLife.83424
Следующий пост будет с review. https://t.me/neural_cell/271
❤5🔥3
Review | Smart stimulation patterns for visual prostheses
🔘 Towards biologically plausible phosphene simulation
tl;dr: Differentiable PyTorch simulator translating V1 stimulation to phosphene perception for end-to-end optimization
- Fully differentiable pipeline allowing optimization of all stimulation parameters via backpropagation
- Based on many experimental data.
- Bridges gap between electrode-level stimulation and resulting visual perception
link: https://doi.org/10.7554/eLife.85812
🔘 Human-in-the-Loop Optimization for Visual Prostheses
tl;dr: Neural encoder + Preference bayesian optimization.
- Train deep stimulus encoder (DSE): transform images -> stimulation.
- Add "patient params" 13 values as additional input into DSE.
- Uses Preferential Bayesian Optimization with GP prior to update only "patients" params using only binary comparisons
- Achieves 80% preference alignment after only 150 comparisons despite 20% simulated noise in human feedback
link: https://arxiv.org/abs/2306.13104
🔘 MiSO: Optimizing brain stimulation for target neural states
tl;dr: ML system that predicts and optimizes multi-electrode stimulation to achieve specific neural activity patterns
- Utah array on monkey PFC
- One-two electrode stimulation with fixed frequency/amplitude
- Collect paired (stim, signals) data across multiple sessions
- Extract latent features using Factor Analysis (FA)
- Align latent spaces across sessions using Procrustes method
- Train CNN to predict latent states from stim patterns
- Apply epsilon-greedy optimizer to find optimal stimulation in closed-loop
link: https://www.nature.com/articles/s41467-023-42338-8
🔘 Precise control with dynamically optimized electrical stimulation
tl;dr: Temporal dithering algorithm exploits neural integration window to enhance visual prosthesis performance by 40%
- Uses triphasic pulses at 0.1ms intervals optimized within neural integration time window (10-20ms)
- Implements spatial multiplexing with 200μm exclusion zones to prevent electrode interference
- Achieves 87% specificity in targeting ON vs OFF retinal pathways, solving a fundamental limitation of current implants
link: https://doi.org/10.7554/eLife.83424
my thoughts
The field is finally moving beyond simplistic zap-and-see approaches. These papers tackle predicting perception, minimizing patient burden, targeting neural states, and improving power efficiency. What excites me most is how these methods could work together - imagine MiSO's targeting combined with human feedback and efficient stimulation patterns. The missing piece? Understanding how neural activity translates to actual perception. Current approaches optimize for either brain patterns OR what people see, not both. I think the next breakthrough will come from models that bridge this gap, perhaps using contrastive learning to connect brain recordings with what people actually report seeing.
tl;dr: Differentiable PyTorch simulator translating V1 stimulation to phosphene perception for end-to-end optimization
- Fully differentiable pipeline allowing optimization of all stimulation parameters via backpropagation
- Based on many experimental data.
- Bridges gap between electrode-level stimulation and resulting visual perception
link: https://doi.org/10.7554/eLife.85812
tl;dr: Neural encoder + Preference bayesian optimization.
- Train deep stimulus encoder (DSE): transform images -> stimulation.
- Add "patient params" 13 values as additional input into DSE.
- Uses Preferential Bayesian Optimization with GP prior to update only "patients" params using only binary comparisons
- Achieves 80% preference alignment after only 150 comparisons despite 20% simulated noise in human feedback
link: https://arxiv.org/abs/2306.13104
tl;dr: ML system that predicts and optimizes multi-electrode stimulation to achieve specific neural activity patterns
- Utah array on monkey PFC
- One-two electrode stimulation with fixed frequency/amplitude
- Collect paired (stim, signals) data across multiple sessions
- Extract latent features using Factor Analysis (FA)
- Align latent spaces across sessions using Procrustes method
- Train CNN to predict latent states from stim patterns
- Apply epsilon-greedy optimizer to find optimal stimulation in closed-loop
link: https://www.nature.com/articles/s41467-023-42338-8
tl;dr: Temporal dithering algorithm exploits neural integration window to enhance visual prosthesis performance by 40%
- Uses triphasic pulses at 0.1ms intervals optimized within neural integration time window (10-20ms)
- Implements spatial multiplexing with 200μm exclusion zones to prevent electrode interference
- Achieves 87% specificity in targeting ON vs OFF retinal pathways, solving a fundamental limitation of current implants
link: https://doi.org/10.7554/eLife.83424
my thoughts
The field is finally moving beyond simplistic zap-and-see approaches. These papers tackle predicting perception, minimizing patient burden, targeting neural states, and improving power efficiency. What excites me most is how these methods could work together - imagine MiSO's targeting combined with human feedback and efficient stimulation patterns. The missing piece? Understanding how neural activity translates to actual perception. Current approaches optimize for either brain patterns OR what people see, not both. I think the next breakthrough will come from models that bridge this gap, perhaps using contrastive learning to connect brain recordings with what people actually report seeing.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2❤1🤯1🤓1
the last neural cell pinned «Introduction | Smart stimulation patterns for visual prostheses Я уже рассказывал, что начал работать над визуальными кортикальными имплантами. В этой области долгие годы используются одни и те же стандартные паттерны стимуляции — обычно 10-50 импульсов…»