Токенизация изображений: от сверток к трансформерам
Долгие годы для представления картинок в сжатом виде использовали разные вариации автоэнкодеров. Чтобы получить дискретное представление (то есть набор конкретных "символов" вместо непрерывных значений), применяли VQ-VAE — это по сути обычный авто энкодер, но с vector-quantized слоем посередине.
Но в середине прошлого года трансформеры добрались и до этой области.
Главная идея состоит в том, чтобы:
1. Заменить свертки на трансформеры
2. Убрать 2D-сетку и представлять картинку как просто последовательность токенов (без явной пространственной привязки для каждого токена)
TiTok: An Image is Worth 32 Tokens
link: https://arxiv.org/abs/2406.07550
Главная фишка — всего 32/64/128 токенов достаточно для представления целого изображения!
Как это работает:
- Энкодер и декодер — оба на основе Vision Transformer
- К патчам изображения присоединяются специальные registers токены
- Эти register токены квантуются (превращаются в вектора из словаря)
- эти токены подаются на вход декодеру вместе с [MASK] токенами
Интересно, что эта архитектура похожа на MAE (Masked Autoencoder), только с акцентом на компактное представление.
Для генерации используется maskGIT, и получаются довольно качественные изображения. При этом никакой диффузии — всё быстро и понятно.
FlexTok: гибкая длина токенов
link: https://arxiv.org/abs/2502.13967
FlexTok берет идею TiTok, но вместо работы с оригинальным изображением начинает с VAE-latents:
- Добавляет flow matching для декодера
- Использует регистры как условие для модели
- Применяет nested dropout для регистров, чтобы декодер мог работать с разным числом токенов (от 1 до 256)
- use FSQ квантизацию как COSMOS by NVIDIA
FlowMO: прямой подход
link: https://www.arxiv.org/abs/2503.11056
FlowMO - Это TiTok но с диффузией для декодера.
- Работаем напрямую с картинками
- Используем все токены для реконструкции
- тоже диффузионный декодер
Сравнение моделей
TiTok работает с исходными изображениями, не использует диффузионный декодер, применяет дистилляцию через MagViT VQVAE и стандартную квантизацию.
FlexTok работает с VAE-латентами, использует диффузионный декодер, обходится без дистилляции и применяет FSQ квантизацию с 64k векторов.
FlowMO работает с исходными изображениями, использует диффузионный декодер, обходится без дистилляции и применяет LFQ (sign) квантизацию со сложными функциями потерь.
Мои мысли о развитии этих подходов
Объединить MAE с TiTok:
- используем маскирование входного изображения, как в MAE. По идеи ддолжно ускорить работу и сделать токены ещё более информативными.
Объединить FlexTok, TiTok и MAE в один универсальный экстрактор признаков:
- Случайное маскирование для входного изображения (0, 0.25, 0.5, 0.75, 1)
- Nested dropout для латентов (как в FlexTok)
- Маскирование токенов для декодера: 0.5, 0.75, 1 как это делают уже в maskGIT
- Плюс сюда же ещё добавить REPA
Долгие годы для представления картинок в сжатом виде использовали разные вариации автоэнкодеров. Чтобы получить дискретное представление (то есть набор конкретных "символов" вместо непрерывных значений), применяли VQ-VAE — это по сути обычный авто энкодер, но с vector-quantized слоем посередине.
Но в середине прошлого года трансформеры добрались и до этой области.
Главная идея состоит в том, чтобы:
1. Заменить свертки на трансформеры
2. Убрать 2D-сетку и представлять картинку как просто последовательность токенов (без явной пространственной привязки для каждого токена)
TiTok: An Image is Worth 32 Tokens
link: https://arxiv.org/abs/2406.07550
Главная фишка — всего 32/64/128 токенов достаточно для представления целого изображения!
Как это работает:
- Энкодер и декодер — оба на основе Vision Transformer
- К патчам изображения присоединяются специальные registers токены
- Эти register токены квантуются (превращаются в вектора из словаря)
- эти токены подаются на вход декодеру вместе с [MASK] токенами
Интересно, что эта архитектура похожа на MAE (Masked Autoencoder), только с акцентом на компактное представление.
Для генерации используется maskGIT, и получаются довольно качественные изображения. При этом никакой диффузии — всё быстро и понятно.
FlexTok: гибкая длина токенов
link: https://arxiv.org/abs/2502.13967
FlexTok берет идею TiTok, но вместо работы с оригинальным изображением начинает с VAE-latents:
- Добавляет flow matching для декодера
- Использует регистры как условие для модели
- Применяет nested dropout для регистров, чтобы декодер мог работать с разным числом токенов (от 1 до 256)
- use FSQ квантизацию как COSMOS by NVIDIA
FlowMO: прямой подход
link: https://www.arxiv.org/abs/2503.11056
FlowMO - Это TiTok но с диффузией для декодера.
- Работаем напрямую с картинками
- Используем все токены для реконструкции
- тоже диффузионный декодер
Сравнение моделей
TiTok работает с исходными изображениями, не использует диффузионный декодер, применяет дистилляцию через MagViT VQVAE и стандартную квантизацию.
FlexTok работает с VAE-латентами, использует диффузионный декодер, обходится без дистилляции и применяет FSQ квантизацию с 64k векторов.
FlowMO работает с исходными изображениями, использует диффузионный декодер, обходится без дистилляции и применяет LFQ (sign) квантизацию со сложными функциями потерь.
Мои мысли о развитии этих подходов
Объединить MAE с TiTok:
- используем маскирование входного изображения, как в MAE. По идеи ддолжно ускорить работу и сделать токены ещё более информативными.
Объединить FlexTok, TiTok и MAE в один универсальный экстрактор признаков:
- Случайное маскирование для входного изображения (0, 0.25, 0.5, 0.75, 1)
- Nested dropout для латентов (как в FlexTok)
- Маскирование токенов для декодера: 0.5, 0.75, 1 как это делают уже в maskGIT
- Плюс сюда же ещё добавить REPA
What does it mean to understand the brain function?
In search of neuroscience paradigms [part 0 - introduction]
A lot of papers are published daily on brain function on multiple levels. What I found interesting is that each study contains an implicit set of assumptions, which are part of a larger research program. Thus, different researchers mean different things when generating scientific insight.
This can lead to vastly different interpretations of the same experimental result. The biggest problem is in my opinion that these assumptions/paradigms are kept implicit and researchers are sometimes not even aware which theories they assume to be true while generating hypotheses and conducting experiments.
I will attempt to bridge this brain-science to "meta-science" gap in the next few posts, of course on the level of a beginner PhD student and from a perspective of a neuroscientist (within rather than above science) that seeks precision and awareness of scientific frameworks we all choose to work on.
Neuroscience is one of the fields with a unique position in this regard - as opposed to physics we really don't have a coherent picture unifying different scales where we established certain laws. We actually rarely have laws and theories that are universally accepted - this is the beauty of being in this field, but also a curse because hot debates are unavoidable.
So, in the next posts I will cover some of the old and emerging theories & frameworks about what it means to understand a biological neural network:
1. "Grandmother cells" & single-neuron frameworks
2. Cell-assemblies & Hebbian associations
3. Embodied & ecological cognition, naturalistic settings
4. Predictive coding & Bayesian brain
5. Feedforward processing & I/O relations, decoding
6. Dynamical systems & population codes
7. Connectomics & structural mapping
8. Computations in electric fields vs spiking
9. Cognitive modules vs distributed processing
What I won't cover for now but maybe will, is the philosophy of scientific insight (realism vs instrumentalism, functional vs mechanistic, reductionist vs holistic, explanation vs description). Also I won't touch AI computations for now, however might do in the future when it becomes more relevant to my research.
Hopefully, after this post series you will gain something valuable to apply to your work. Or you will learn about the existential troubles neuroscientists face, if you're just interested in the field 😉
Which topic would you like to read about first?
P.S. As for the extended read for those interested, here is the paper that stimulated my deeper exploration. Frankly I did not enjoy it too much but it definitely asked the right questions and forced me to try to prove the authors wrong.
In search of neuroscience paradigms [part 0 - introduction]
A lot of papers are published daily on brain function on multiple levels. What I found interesting is that each study contains an implicit set of assumptions, which are part of a larger research program. Thus, different researchers mean different things when generating scientific insight.
This can lead to vastly different interpretations of the same experimental result. The biggest problem is in my opinion that these assumptions/paradigms are kept implicit and researchers are sometimes not even aware which theories they assume to be true while generating hypotheses and conducting experiments.
I will attempt to bridge this brain-science to "meta-science" gap in the next few posts, of course on the level of a beginner PhD student and from a perspective of a neuroscientist (within rather than above science) that seeks precision and awareness of scientific frameworks we all choose to work on.
Neuroscience is one of the fields with a unique position in this regard - as opposed to physics we really don't have a coherent picture unifying different scales where we established certain laws. We actually rarely have laws and theories that are universally accepted - this is the beauty of being in this field, but also a curse because hot debates are unavoidable.
So, in the next posts I will cover some of the old and emerging theories & frameworks about what it means to understand a biological neural network:
1. "Grandmother cells" & single-neuron frameworks
2. Cell-assemblies & Hebbian associations
3. Embodied & ecological cognition, naturalistic settings
4. Predictive coding & Bayesian brain
5. Feedforward processing & I/O relations, decoding
6. Dynamical systems & population codes
7. Connectomics & structural mapping
8. Computations in electric fields vs spiking
9. Cognitive modules vs distributed processing
What I won't cover for now but maybe will, is the philosophy of scientific insight (realism vs instrumentalism, functional vs mechanistic, reductionist vs holistic, explanation vs description). Also I won't touch AI computations for now, however might do in the future when it becomes more relevant to my research.
Hopefully, after this post series you will gain something valuable to apply to your work. Or you will learn about the existential troubles neuroscientists face, if you're just interested in the field 😉
Which topic would you like to read about first?
P.S. As for the extended read for those interested, here is the paper that stimulated my deeper exploration. Frankly I did not enjoy it too much but it definitely asked the right questions and forced me to try to prove the authors wrong.
arXiv.org
What does it mean to understand a neural network?
We can define a neural network that can learn to recognize objects in less than 100 lines of code. However, after training, it is characterized by millions of weights that contain the knowledge...
❤5🤓1
Forwarded from the last neural cell (Aleksejs Timčenko)
Which topics would you like me to cover? 👋
Anonymous Poll
33%
"Grandmother cells" & single-neuron frameworks
35%
Cell-assemblies & Hebbian associations
30%
Embodied & ecological cognition, naturalistic settings
54%
Predictive coding & Bayesian brain
37%
Feedforward processing & I/O relations, decoding
50%
Dynamical systems & population codes
30%
Connectomics & structural mapping
28%
Computations in electric fields vs spiking
28%
Cognitive modules vs distributed processing
2%
I will add my topic in the comments 🤔
EEG Foundation Challenge: From Cross-Task to Cross-Subject EEG Decoding
Делюсь с вами классным соревнование по EEG decoding. Главная цель построить универсальную модель которая сможет обобщаться на новые задачи и новых участников. В общем строим GPT для EEG.
Коротко про соревнование:
Данные: 3000+ участников, 128-канальная ЭЭГ
Дедлайн: 31 октября 2025
Призы: $2,500 + соревнование на NeurIPS 25
Что решаем?
Challenge 1: Cross-Task Transfer Learning
Вход: ЭЭГ из пассивной задачи (просмотр стимулов) + демографические данные
Выход: Время реакции (регрессия) + успешность ответа (классификация)
Суть: Предсказать как человек будет выполнять активную задачу по пассивной ЭЭГ
Challenge 2: Subject Invariant Representation
Вход: ЭЭГ записи из разных когнитивных задач
Выход: 4 психопатологических фактора (непрерывные скоры)
Тип: Регрессия
Суть: Предсказать ментальное здоровье по мозговой активности
Итог
Если вы занимаетесь обработкой ЭЭГ или МЭГ, то советую попробовать свои силы в этом соревновании. Много данных, прикольные задачи. Ну и возможность попасть в лидерборд neurips competition - это круто!
Делюсь с вами классным соревнование по EEG decoding. Главная цель построить универсальную модель которая сможет обобщаться на новые задачи и новых участников. В общем строим GPT для EEG.
Коротко про соревнование:
Данные: 3000+ участников, 128-канальная ЭЭГ
Дедлайн: 31 октября 2025
Призы: $2,500 + соревнование на NeurIPS 25
Что решаем?
Challenge 1: Cross-Task Transfer Learning
Вход: ЭЭГ из пассивной задачи (просмотр стимулов) + демографические данные
Выход: Время реакции (регрессия) + успешность ответа (классификация)
Суть: Предсказать как человек будет выполнять активную задачу по пассивной ЭЭГ
Challenge 2: Subject Invariant Representation
Вход: ЭЭГ записи из разных когнитивных задач
Выход: 4 психопатологических фактора (непрерывные скоры)
Тип: Регрессия
Суть: Предсказать ментальное здоровье по мозговой активности
Итог
Если вы занимаетесь обработкой ЭЭГ или МЭГ, то советую попробовать свои силы в этом соревновании. Много данных, прикольные задачи. Ну и возможность попасть в лидерборд neurips competition - это круто!
🔥9 3❤1
The 2025 PNPL Competition: Speech Detection and Phoneme Classification in the LibriBrain Dataset
Еще одно соревнование по BCI, на этот раз предлагают декодировать речь из MEG данных.
Коротко про соревнование:
Данные: LibriBrain - 50+ часов MEG с одного человека, 306 сенсоров
Дедлайны:
- 31 июля 2025: Speech Detection
- 30 сентября 2025: Phoneme Classification
- Декабрь 2025: презентация на NeurIPS
Призы: Минимум $10k призовых, топ-3 в каждом треке.
Что решаем?
🔘 Speech Detection - бинарная классификация: есть речь или нет (F1-macro, рефмодель 68%)
🔘 Phoneme Classification - 39 классов фонем (рефмодель 60%)
Ссылки, чтобы не потеряться
proposal
website
instruction
Еще одно соревнование по BCI, на этот раз предлагают декодировать речь из MEG данных.
Коротко про соревнование:
Данные: LibriBrain - 50+ часов MEG с одного человека, 306 сенсоров
Дедлайны:
- 31 июля 2025: Speech Detection
- 30 сентября 2025: Phoneme Classification
- Декабрь 2025: презентация на NeurIPS
Призы: Минимум $10k призовых, топ-3 в каждом треке.
Что решаем?
Ссылки, чтобы не потеряться
proposal
website
instruction
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5🔥2👀2
MEG hackathon update
Мы начали тренить модельки на соревнование по декодированию речи из мэга. Сейчас активен первый трек, бинарная классификация(есть речь /нет речи).
Я потратил 1.5 недели, чтобы сделать сильный baseline. Решил что он должен быть простым, поэтому никаких attention и rnn, только мои любимые свёртки!
Я уверенно залетел на лидерборд с результатом 85%. Минимальный порог от организаторов - 68%.
Со следующей недели ко мне присоединится ещё один админ этого канала(Лехас), а также ребята с которыми мы делали ALVI Interface. Будем собирать трансформер! А то пока все мои наивные экспы выглядят оч печально. Тупо не работает. Будем фиксить)
В общем не откладывайте, остался месяц. Тренируйте модели и залетайте на лидерборд. Советую обратить внимание на аугментации и на лоссы. У меня очень сильно повлияло на результат.
Ссылка на соревнование
Мы начали тренить модельки на соревнование по декодированию речи из мэга. Сейчас активен первый трек, бинарная классификация(есть речь /нет речи).
Я потратил 1.5 недели, чтобы сделать сильный baseline. Решил что он должен быть простым, поэтому никаких attention и rnn, только мои любимые свёртки!
Я уверенно залетел на лидерборд с результатом 85%. Минимальный порог от организаторов - 68%.
Со следующей недели ко мне присоединится ещё один админ этого канала(Лехас), а также ребята с которыми мы делали ALVI Interface. Будем собирать трансформер! А то пока все мои наивные экспы выглядят оч печально. Тупо не работает. Будем фиксить)
В общем не откладывайте, остался месяц. Тренируйте модели и залетайте на лидерборд. Советую обратить внимание на аугментации и на лоссы. У меня очень сильно повлияло на результат.
Ссылка на соревнование
🔥7🤓3⚡1🥴1
Brain-to-text '25
Самое интересное BCI соревнование этого лета наконец-то официально началось. Необходимо декодировать речь из моторной коры.
Коротко про соревнование:
Задача: Предсказать речь по активности мозга. Метрика word error rate.
Данные: 11,352 предложений, 256 электродов Utah Array, установленных в speech motor cortex
Дедлайн: 31 декабря 2025
Призы: $9000
Ссылки
paper
kaggle
Самое интересное BCI соревнование этого лета наконец-то официально началось. Необходимо декодировать речь из моторной коры.
Коротко про соревнование:
Задача: Предсказать речь по активности мозга. Метрика word error rate.
Данные: 11,352 предложений, 256 электродов Utah Array, установленных в speech motor cortex
Дедлайн: 31 декабря 2025
Призы: $9000
Ссылки
paper
kaggle
🤯10🔥2🤔2❤1
meg speech detection update v2
Осталось пять дней! Ещё есть время залететь на лидерборд!
Мы пока что вторые, но модели все ещё тренируются
gpus go brr..
Информация о соревновании
Осталось пять дней! Ещё есть время залететь на лидерборд!
Мы пока что вторые, но модели все ещё тренируются
gpus go brr..
Информация о соревновании
❤8
meg speech decoding update v3
Закончился первый трек по бинарной классификации.
Мы вошли в тройку на паблике. Позднее расскажу, что получилось, а что нет. Почти все что я пробовал в качестве улучшений не работало😅
Наша лучшая модель это conv + transformer encoder with rope.
С сегодняшнего дня открывается доступ к следующему треку по классификации фонем.
лидерборд:
https://eval.ai/web/challenges/challenge-page/2504/leaderboard/6249
Закончился первый трек по бинарной классификации.
Мы вошли в тройку на паблике. Позднее расскажу, что получилось, а что нет. Почти все что я пробовал в качестве улучшений не работало😅
Наша лучшая модель это conv + transformer encoder with rope.
С сегодняшнего дня открывается доступ к следующему треку по классификации фонем.
лидерборд:
https://eval.ai/web/challenges/challenge-page/2504/leaderboard/6249
❤12🔥8 6
Liquid AI introduced LFM2
Ребята подняли 250М в конце прошлого года, в том числе с целью создания новых архитектур. До этого у них были работы по Liquid Time-constant Networks and continuous rnn. В общем я ожидал чего-то реально крутого и необычного.
А что по итогу получили?
По факту они взяли типичный llm attention слой. rmsnorm, swiglu activation, rope, qk norm. Почти все это было еще в llama v2.
Собрали таких 6 слоев: attn + mlp.
К этим слоям добавили 10 сверточных: conv + mlp.
Сверточные слои это double-gated causal conv layer (их LIV операторы). То есть это просто 1d свертки с gated операциями. На скрине реализация.
На этом всё. В любом случае все молодцы, но я ожидал большего.
С другой стороны. Работает же, работает же. Поэтому и ладно. Всем урок - не усложняйте ради усложнения. gated conv + transformer beat just transformer.
Но статьи нет, есть только benchmark с другими моделями. Учитывая как они учили свои модели через distillation, sft and dpo может быть все таки получилось побить конкурентов за счет тренировки и данных а не архитектуры.
Но глобально это работает так что можно юзать.
blogpost: https://www.liquid.ai/blog/liquid-foundation-models-v2-our-second-series-of-generative-ai-models
Ребята подняли 250М в конце прошлого года, в том числе с целью создания новых архитектур. До этого у них были работы по Liquid Time-constant Networks and continuous rnn. В общем я ожидал чего-то реально крутого и необычного.
А что по итогу получили?
По факту они взяли типичный llm attention слой. rmsnorm, swiglu activation, rope, qk norm. Почти все это было еще в llama v2.
Собрали таких 6 слоев: attn + mlp.
К этим слоям добавили 10 сверточных: conv + mlp.
Сверточные слои это double-gated causal conv layer (их LIV операторы). То есть это просто 1d свертки с gated операциями. На скрине реализация.
На этом всё. В любом случае все молодцы, но я ожидал большего.
С другой стороны. Работает же, работает же. Поэтому и ладно. Всем урок - не усложняйте ради усложнения. gated conv + transformer beat just transformer.
Но статьи нет, есть только benchmark с другими моделями. Учитывая как они учили свои модели через distillation, sft and dpo может быть все таки получилось побить конкурентов за счет тренировки и данных а не архитектуры.
Но глобально это работает так что можно юзать.
blogpost: https://www.liquid.ai/blog/liquid-foundation-models-v2-our-second-series-of-generative-ai-models
❤5🤔1