Forwarded from Старший Авгур
Базированная модель, часть 1
или почему RWKV/Mamba/RetNet не работали, но заработают.
Есть такая группа в Стэнфорде, HazyResearch. Это они сделали первые SSM (state space models) моделии их современные версии (H3, Hyena). Ну и всякие мелочи вроде FlashAttention.
На этот раз ребята начали с того, что обучили трансформеры / H3 / Hyena / RWKV не очень больших одинаковых размеров на 10B токенах из The Pile. Трансформеры выиграли!🤔
Возникает два вопроса: "кто виноват?" и "что делать?". На первый вопрос отвечает Zoology, на второй вопрос отвечает Based.
Кто виноват?
Zoology: Measuring and Improving Recall in Efficient Language Models, статья, пост 1, пост 2.
А виноваты оказались... повторяющиеся N-граммы🤨
То есть словосочетания, которые уже встречались в контексте. Ну, не все, только достаточно редкие, потому что частотные N-граммы любая модель хорошо запоминает. Пример такого редкого словосочетания: фамилия и имя какого-то человека, которые несколько раз встречаются в одном документе, и никогда больше не встречаются в обучающем корпусе.
Предсказание последнего токена такой повторяющейся N-граммы и вызывает трудности у моделей без внимания. В статье такие токены называют associatve recall hits, AR hits, и по ним отдельно считают перплексию. Для Гиены и RWKV разница перплексии на этих токенах полностью покрывает разницу в общей перплексии.
Самое забавное, что мы уже такое видели несколькими постами ранее, тут. Хронологически "Repeat After Me" вышла двумя месяцами позже, но эту статью они явно не читали, иначе бы их статья скорее всего не вышла бы😂
Теперь можно сформулировать, какая задача мешает не-трансформерам захватить мир. Задача называется multi-query associative recall (MQAR), и заключается она в поиске нескольких "иголок". Упрощенно она выглядит так:
В предыдущих работах показывали, что "одноиголочная" версия задачи вполне решается всеми моделями, но вот случае языкового моделирования этого недостаточно. В реальных текстах повторяющиеся N-граммы встречаются часто, и обычно больше одной за раз: вот например только что "повторяющиеся N-граммы" повторились. И ещё раз🤣
В задаче нет ничего сложного, просто модели нужно вычислять, куда возвращаться-то, а для этого всё нужно "запомнить". И у внимания с этим проблем нет, оно это делает за квадратичное время и за независящую от длины входа внутреннюю размерность модели. А вот перечисленным выше не-трансформерам нужно растить внутреннюю размерность линейно от длины входа, но зато время лучше квадратичного.
Есть и намёки, как это исправить! Нужно всего лишь добавить капельку внимания, то есть делать гибриды😂
Однако ж нам не нужна полная маска внимания, и мы можем либо точечно влиять на AR hits ("programmatic selection" метод в статье), либо на основе входов предсказывать, для каких k токенов нужно включить внимание. Втыкают 3 слоя внимания на 6% параметров, и этого достаточно, чтобы добить бОльшую часть перплексии.
И наконец, 30 страниц доказательств!😱
Что вообще доказывают:
- Обзывают все используемые в статье не-трансформерные модели вентильными свёртками (gated convolutions).
- Вводят архитектурный блок BaseConv: y = linear(x) ⊙ conv(h, x), где x - вход, y - выход, ⊙ - покомпонентное произведение, h - обучаемый фильтр.
- Доказывают эквивалентность между Гиеной и BaseConv в смысле симуляции за константное количество слоёв.
- Доказывают, что BaseConv может симулировать арифметические схемы, то есть вычислять многочлены.
- Доказывают эквивалентность между RetNet и BaseConv, в которой BaseConv нужно в log(d) раз больше слоёв.
- Выводят теоретическую оценку сложности для BaseConv на нашей задаче, MQAR, через построение алгоритма с параллельным бинпоиском и оценку его сложности.
К сожалению, я не слишком хорош в математике, чтобы всё это нормально осознать.
Вывод
RWKV не работает, совсем без внимания никак, гибриды победят, синтетические бенчмарки рулят.
Второй пост будет, и будет про непосредственно Based.
или почему RWKV/Mamba/RetNet не работали, но заработают.
Есть такая группа в Стэнфорде, HazyResearch. Это они сделали первые SSM (state space models) моделии их современные версии (H3, Hyena). Ну и всякие мелочи вроде FlashAttention.
На этот раз ребята начали с того, что обучили трансформеры / H3 / Hyena / RWKV не очень больших одинаковых размеров на 10B токенах из The Pile. Трансформеры выиграли!
Возникает два вопроса: "кто виноват?" и "что делать?". На первый вопрос отвечает Zoology, на второй вопрос отвечает Based.
Кто виноват?
Zoology: Measuring and Improving Recall in Efficient Language Models, статья, пост 1, пост 2.
А виноваты оказались... повторяющиеся N-граммы
То есть словосочетания, которые уже встречались в контексте. Ну, не все, только достаточно редкие, потому что частотные N-граммы любая модель хорошо запоминает. Пример такого редкого словосочетания: фамилия и имя какого-то человека, которые несколько раз встречаются в одном документе, и никогда больше не встречаются в обучающем корпусе.
Предсказание последнего токена такой повторяющейся N-граммы и вызывает трудности у моделей без внимания. В статье такие токены называют associatve recall hits, AR hits, и по ним отдельно считают перплексию. Для Гиены и RWKV разница перплексии на этих токенах полностью покрывает разницу в общей перплексии.
Самое забавное, что мы уже такое видели несколькими постами ранее, тут. Хронологически "Repeat After Me" вышла двумя месяцами позже, но эту статью они явно не читали, иначе бы их статья скорее всего не вышла бы
Теперь можно сформулировать, какая задача мешает не-трансформерам захватить мир. Задача называется multi-query associative recall (MQAR), и заключается она в поиске нескольких "иголок". Упрощенно она выглядит так:
Вход:
A 4 B 3 C 6 F 1 E 2
Запрос:
A ? C ? F ? E ? B ?
Ожидаемый выход:
4 6 1 2 3
В предыдущих работах показывали, что "одноиголочная" версия задачи вполне решается всеми моделями, но вот случае языкового моделирования этого недостаточно. В реальных текстах повторяющиеся N-граммы встречаются часто, и обычно больше одной за раз: вот например только что "повторяющиеся N-граммы" повторились. И ещё раз
В задаче нет ничего сложного, просто модели нужно вычислять, куда возвращаться-то, а для этого всё нужно "запомнить". И у внимания с этим проблем нет, оно это делает за квадратичное время и за независящую от длины входа внутреннюю размерность модели. А вот перечисленным выше не-трансформерам нужно растить внутреннюю размерность линейно от длины входа, но зато время лучше квадратичного.
Есть и намёки, как это исправить! Нужно всего лишь добавить капельку внимания, то есть делать гибриды
Однако ж нам не нужна полная маска внимания, и мы можем либо точечно влиять на AR hits ("programmatic selection" метод в статье), либо на основе входов предсказывать, для каких k токенов нужно включить внимание. Втыкают 3 слоя внимания на 6% параметров, и этого достаточно, чтобы добить бОльшую часть перплексии.
И наконец, 30 страниц доказательств!
Что вообще доказывают:
- Обзывают все используемые в статье не-трансформерные модели вентильными свёртками (gated convolutions).
- Вводят архитектурный блок BaseConv: y = linear(x) ⊙ conv(h, x), где x - вход, y - выход, ⊙ - покомпонентное произведение, h - обучаемый фильтр.
- Доказывают эквивалентность между Гиеной и BaseConv в смысле симуляции за константное количество слоёв.
- Доказывают, что BaseConv может симулировать арифметические схемы, то есть вычислять многочлены.
- Доказывают эквивалентность между RetNet и BaseConv, в которой BaseConv нужно в log(d) раз больше слоёв.
- Выводят теоретическую оценку сложности для BaseConv на нашей задаче, MQAR, через построение алгоритма с параллельным бинпоиском и оценку его сложности.
К сожалению, я не слишком хорош в математике, чтобы всё это нормально осознать.
Вывод
RWKV не работает, совсем без внимания никак, гибриды победят, синтетические бенчмарки рулят.
Второй пост будет, и будет про непосредственно Based.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Старший Авгур
Сопроводительные материалы к посту ниже.
Картинка 1: финальные результаты: проклятые трансформеры опять победили по качеству, но проиграли по скорости
Картинка 2: размер памяти на точность вспоминания (картинка с нормальными осями есть в самой статье)
Картинка 3: иллюстрация про совмещение нескольких типов слоёв
Картинка 4: скорость наше всё
Картинка 1: финальные результаты: проклятые трансформеры опять победили по качеству, но проиграли по скорости
Картинка 2: размер памяти на точность вспоминания (картинка с нормальными осями есть в самой статье)
Картинка 3: иллюстрация про совмещение нескольких типов слоёв
Картинка 4: скорость наше всё
Forwarded from Старший Авгур
Базированная модель, часть 2
Первая часть: ссылка. В ней мы определили основную проблему не-трансформерных моделей: запоминание повторяющихся N-грамм. Остался второй вопрос...
Что делать?
Simple linear attention language models balance the recall-throughput tradeoff, статья, пост 1, пост 2, твиттер, репо.
В этой статье авторы представляют новую архитектуру под названием Based, которая (как обычно) должна заменить трансформеры.
Для начала, напомню: основная цель большинства не-трансформеров сделать быстрее при том же качестве. В этой и прошлой статье у трансформеров лучше перплексия. Единственное место, где это не так — первый пост про Based. Кажется, они замерили там некорректные числа, но к выпуску основной статьи исправились💀
Ещё раз: за исключением первого старого поста со старыми числами, здесь нигде не заявляется превосходство по перплексии над трансформерами. Зато заявляется превосходство по пропускной способности и скорости генерации, даже против FlashAttention-2😳
У Based есть 3 типа слоёв, смешивающих эмеддинги токенов:
- BaseConv из предыдущего поста
- Линейное внимание
- Полное внимание на маленьком скользящем окне
В одном слое только один конкретный смеситель, например в первом слое линейное внимание, во втором скользящее окно, в третьем BaseConv, и так далее.
Кроме смесителей по токенам есть и стандартные MLP для смешивания каналов, одинаковые для каждого типа слоёв.
Что за линейное внимание? Сама концепция не нова: убираем софтмакс и получаем рекуррентную форму. Софтмакс убираем через аппроксимацию exp(qk) через ряд Тейлора до второго порядка малости: 1 + qk + (qk)^2 / 2. Подробнее об этом написано в другой статье, но тут всё равно показывают, что другие варианты аппроксимаций хуже.
Псевдокод вычисления:
В статье есть фундаментальная теорема: решение MQAR (а значит и языкового моделирования на реальных текстах) требует размер скрытого состояния, линейный от длины последовательности. Для внимания таким скрытым состоянием является KV-кэш, который имеет размер O(Nd). Для Based это KV-состояние для числителя и K-сотояние для знаменателя в симуляции софтмакса, с общей размерностью O(d^3), но в статье эту размерность несколько уменьшают проекциями. Это всё означает, что чем длиннее последовательность мы хотим корректно обрабатывать, тем жирнее нам нужно делать размерность модели😭
Для того, чтобы конкурировать с эффективными реализациями внимания, ребята написали кастомные ядра, которые стараются выполнять операции в SRAM, быстрой памяти GPU, по аналогии с FlashAttention. Получилось и правда быстро😘
В итоге имеем модель, которая по качеству на уровне трансформеров, но работает в 25 раз быстрее.
Что мне кажется сомнительным во всей этой истории:
- А что произошло с перплексией в первом посте? Что авторы изначально сделали не так?
- Нафига было разрабатывать BaseConv, чтобы потом вернуться к линейному вниманию? Зачем нам теперь вообще BaseConv нужен? Нет, в статье конечно есть секция C, в которой добавление BaseConv обосновывается выигрышем в перплексии, но это ничего не объясняет.
- Почему только 1b параметров? Спонсоров вроде много, люди богатые.
P.S. Немного покринжевал со слова "смеситель" в этом контексте, но решил оставить. Тоже смешивает же.
Первая часть: ссылка. В ней мы определили основную проблему не-трансформерных моделей: запоминание повторяющихся N-грамм. Остался второй вопрос...
Что делать?
Simple linear attention language models balance the recall-throughput tradeoff, статья, пост 1, пост 2, твиттер, репо.
В этой статье авторы представляют новую архитектуру под названием Based, которая (как обычно) должна заменить трансформеры.
Для начала, напомню: основная цель большинства не-трансформеров сделать быстрее при том же качестве. В этой и прошлой статье у трансформеров лучше перплексия. Единственное место, где это не так — первый пост про Based. Кажется, они замерили там некорректные числа, но к выпуску основной статьи исправились
Ещё раз: за исключением первого старого поста со старыми числами, здесь нигде не заявляется превосходство по перплексии над трансформерами. Зато заявляется превосходство по пропускной способности и скорости генерации, даже против FlashAttention-2
У Based есть 3 типа слоёв, смешивающих эмеддинги токенов:
- BaseConv из предыдущего поста
- Линейное внимание
- Полное внимание на маленьком скользящем окне
В одном слое только один конкретный смеситель, например в первом слое линейное внимание, во втором скользящее окно, в третьем BaseConv, и так далее.
Кроме смесителей по токенам есть и стандартные MLP для смешивания каналов, одинаковые для каждого типа слоёв.
Что за линейное внимание? Сама концепция не нова: убираем софтмакс и получаем рекуррентную форму. Софтмакс убираем через аппроксимацию exp(qk) через ряд Тейлора до второго порядка малости: 1 + qk + (qk)^2 / 2. Подробнее об этом написано в другой статье, но тут всё равно показывают, что другие варианты аппроксимаций хуже.
Псевдокод вычисления:
qk0 = [1]Мотивация добавления чего-либо к BaseConv всё та же: улучшить вспоминание информации, добавив входозависимые смесители. При этом, в отличие от трансформеров, у которых KV-кэш растёт линейно от длины последовательности, мы можем варьировать объём доступной нам памяти через размер скрытого состояния в линейном внимании. И таким образом можем разменивать точность вспоминания на скорость.
# Считаем слагаемые от q
q_first = [q1, ..., qd] # q
q_second = [q1 * q1, ..., q1 * qd, ..., qd * q1, ... qd * qd] # qq^T
q_new = cat(qk0, q_first, q_second / sqrt(2))
# Считаем слагаемые от k
k_first = [k1, ..., kd] # k
k_second = [k1 * k1, ..., k1 * kd, ..., kd * k1, ... kd * kd] # kk^T
k_new = cat(qk0, k_first, k_second / sqrt(2))
# Разложение экспоненты до второго порядка малости: 1 + qk + (qk)^2 / 2
y = (q_new * k_new).sum()
В статье есть фундаментальная теорема: решение MQAR (а значит и языкового моделирования на реальных текстах) требует размер скрытого состояния, линейный от длины последовательности. Для внимания таким скрытым состоянием является KV-кэш, который имеет размер O(Nd). Для Based это KV-состояние для числителя и K-сотояние для знаменателя в симуляции софтмакса, с общей размерностью O(d^3), но в статье эту размерность несколько уменьшают проекциями. Это всё означает, что чем длиннее последовательность мы хотим корректно обрабатывать, тем жирнее нам нужно делать размерность модели
Для того, чтобы конкурировать с эффективными реализациями внимания, ребята написали кастомные ядра, которые стараются выполнять операции в SRAM, быстрой памяти GPU, по аналогии с FlashAttention. Получилось и правда быстро
В итоге имеем модель, которая по качеству на уровне трансформеров, но работает в 25 раз быстрее.
Что мне кажется сомнительным во всей этой истории:
- А что произошло с перплексией в первом посте? Что авторы изначально сделали не так?
- Нафига было разрабатывать BaseConv, чтобы потом вернуться к линейному вниманию? Зачем нам теперь вообще BaseConv нужен? Нет, в статье конечно есть секция C, в которой добавление BaseConv обосновывается выигрышем в перплексии, но это ничего не объясняет.
- Почему только 1b параметров? Спонсоров вроде много, люди богатые.
P.S. Немного покринжевал со слова "смеситель" в этом контексте, но решил оставить. Тоже смешивает же.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Такие себе мысли
В продолжение ранее написанного. Вот хорошая, годная статья про трансформеры https://arxiv.org/abs/2312.10794 На вопросы, скорее, не отвечает, но зато там по человечески определен self-attention - как дин.система на пространстве вероятностных мер на сфере, являющаяся далеким обобщением модели Курамото. Да и много с чем еще хорошим связанная. Читаешь, и душа радуется, рекомендую.
Спасибо Герману за наводку.
Спасибо Герману за наводку.
arXiv.org
A mathematical perspective on Transformers
Transformers play a central role in the inner workings of large language models. We develop a mathematical framework for analyzing Transformers based on their interpretation as interacting...
Хроники ботки
В продолжение ранее написанного. Вот хорошая, годная статья про трансформеры https://arxiv.org/abs/2312.10794 На вопросы, скорее, не отвечает, но зато там по человечески определен self-attention - как дин.система на пространстве вероятностных мер на сфере…
Здесь beta = 1/(температура в attention), t - "непрерывный аналог" номера слоя. В статье действие attention слоев приближают непрерывный уравнением и смотрят динамику.
На левой картинке - вероятность, что точки (эмбединги токенов) сольются в один кластер в зависимости от beta и t для размерности 2.
На правой - пример динамики на плоскости
На левой картинке - вероятность, что точки (эмбединги токенов) сольются в один кластер в зависимости от beta и t для размерности 2.
На правой - пример динамики на плоскости
Forwarded from Борис опять
Есть такие крутые ребята: DeepSchool. Это команда практикующих ML инженеров, которая делает хорошие курсы по современному компьютерному зрению и не только.
Они выкладывают очень качественные материалы по современному CV. Например, мой близкий друг Антон написал для их канала серию постов про историю архитектур YOLO: YOLOv1, YOLOv2, YOLOv3, YOLOv4 и YOLOv5.
Другие крутые статьи:
- Diffusion Models — как устроены диффузионные модели
- ClearML Data Management — инструмент для версионирования данных
- 3D Gaussian Splatting — новый метод рендеринга
- DETR — как решать задачу детекции напрямую
- Negative learning — метод улучшения качества на шумных данных
В общем, советую их телеграм канал, подписывайтесь 🙂
Они выкладывают очень качественные материалы по современному CV. Например, мой близкий друг Антон написал для их канала серию постов про историю архитектур YOLO: YOLOv1, YOLOv2, YOLOv3, YOLOv4 и YOLOv5.
Другие крутые статьи:
- Diffusion Models — как устроены диффузионные модели
- ClearML Data Management — инструмент для версионирования данных
- 3D Gaussian Splatting — новый метод рендеринга
- DETR — как решать задачу детекции напрямую
- Negative learning — метод улучшения качества на шумных данных
В общем, советую их телеграм канал, подписывайтесь 🙂
Telegram
DeepSchool
Это канал школы deepschool.ru. Здесь мы будем:
- напоминать вам теорию ML/DL в виде коротких постов,
- задавать вопросы с собеседований,
- рассказывать про полезные фреймворки
- и делиться советами, которые помогут вам в работе.
@deepschool_support
- напоминать вам теорию ML/DL в виде коротких постов,
- задавать вопросы с собеседований,
- рассказывать про полезные фреймворки
- и делиться советами, которые помогут вам в работе.
@deepschool_support
Хроники ботки
Есть такие крутые ребята: DeepSchool. Это команда практикующих ML инженеров, которая делает хорошие курсы по современному компьютерному зрению и не только. Они выкладывают очень качественные материалы по современному CV. Например, мой близкий друг Антон…
Кажется что действительно много хороших материалов
Forwarded from о фундаментальном
когда вы впервые задумались о том,
1. что существует всего лишь 2 (два!) распространенных способа универсально задать закон распределения случайной величины?
"универсально" — то есть, не опираясь на существование моментов и не опираясь на конечность случайной величины?
Эти способы — этофункция распределения (CDF) и характеристическая функция (CF)
2. а о том, что
Другими словами, вы можете ввести туеву хучу разных собственных скалярных произведений и "вырастить" на них свои необычные характеристические функции?
Например, вы можете положить вейвлеты в основу ваших
3. что работа с
И все это за довольно символическую плату в одномерном случае: эффективная работа с
1. что существует всего лишь 2 (два!) распространенных способа универсально задать закон распределения случайной величины?
"универсально" — то есть, не опираясь на существование моментов и не опираясь на конечность случайной величины?
Эти способы — это
2. а о том, что
CF
обычно опирается на скалярное произведение евклидвого пространства, а скалярное произведение евклидового пространства — это просто частный случай скалярного произведения в гильбертовых пространствах? Другими словами, вы можете ввести туеву хучу разных собственных скалярных произведений и "вырастить" на них свои необычные характеристические функции?
Например, вы можете положить вейвлеты в основу ваших
CF
.3. что работа с
CDF
не требует гильбертовости, и даже не требует линейности от вашего топологического векторного пространства, т.е CDF
работает в любых векторных пространствах, где есть отношение порядка для каждой координаты. И все это за довольно символическую плату в одномерном случае: эффективная работа с
CDF
потребует сортировку, т.е. вычислительная сложность будет O(n*log(n))
, где n
— это число наблюдений. В то время как для CF
вычислительная сложность будет O(n)
, но от вас потребуют полноценную гильбертовость!список судьбоносных работ по нейронкам от Ильи Суцкевера
arc.net
Ilya 30u30
Forwarded from о фундаментальном
@boringnickname2 скинул отличную ссылку на 12 проблем в теорвере, которыми никто не хочет заниматься.
а вот как на русском их сформулировала GPT4o:
——————
Вот список из 12 задач в теории вероятностей, которые редко обсуждаются, как их представил Джан-Карло Рота:
Проблема невозможных событий: Как трактовать события, вероятность которых равна нулю? Это приводит к проблемам с определением таких понятий, как "почти всюду" и "почти наверняка" (MathOverflow).
Неизмеримые множества: Существование множеств, для которых нельзя определить вероятность, создает проблемы в стандартной теории меры и вероятностей (MathOverflow).
Точки и событийность: Могут ли быть вероятностные пространства, не основанные на точках? Это связано с понятием "бесконечноструктурных" теорий вероятностей (MathOverflow).
Сложные функции плотности: Аргументы, зависящие от точного значения функции плотности вероятности в одной точке, могут быть ошибочными, так как функция, совпадающая почти всюду, должна считаться эквивалентной (MathOverflow).
Кумулянты: Определение фундаментальных неравенств, которым подчиняются кумулянты случайных величин, остается открытой проблемой в теории вероятностей (MathOverflow).
Парадоксальные результаты в статистике: Наличие статистических парадоксов, таких как парадокс Монти Холла, вызывает вопросы о корректности интуитивных интерпретаций вероятностей.
Проблема выборки и апостериорных вероятностей: Как правильно учитывать априорные вероятности и выборку в статистическом выводе?
Эргодические теоремы и случайные процессы: Применение эргодических теорем к случайным процессам требует тщательного анализа, особенно в контексте долгосрочных средних значений.
Меры риска и надежности: Определение и применение различных мер риска в вероятностном анализе, особенно в финансовых моделях и страховании.
Когерентность вероятностных распределений: Условие когерентности (согласованности) распределений вероятностей для сложных систем и сетей событий.
Двойственность в вероятностях: Изучение двойственных пространств и их применение в теории вероятностей, что связано с понятием локалов и топологических пространств.
Фундаментальные парадоксы в вероятности: Решение таких парадоксов, как парадокс Берксона или парадокс трех узников, которые показывают противоречивость интуитивных подходов к вероятности.
Эти задачи освещают сложные и часто игнорируемые аспекты теории вероятностей, подчеркивая необходимость более глубокого понимания и пересмотра традиционных подходов.
а вот как на русском их сформулировала GPT4o:
——————
Вот список из 12 задач в теории вероятностей, которые редко обсуждаются, как их представил Джан-Карло Рота:
Проблема невозможных событий: Как трактовать события, вероятность которых равна нулю? Это приводит к проблемам с определением таких понятий, как "почти всюду" и "почти наверняка" (MathOverflow).
Неизмеримые множества: Существование множеств, для которых нельзя определить вероятность, создает проблемы в стандартной теории меры и вероятностей (MathOverflow).
Точки и событийность: Могут ли быть вероятностные пространства, не основанные на точках? Это связано с понятием "бесконечноструктурных" теорий вероятностей (MathOverflow).
Сложные функции плотности: Аргументы, зависящие от точного значения функции плотности вероятности в одной точке, могут быть ошибочными, так как функция, совпадающая почти всюду, должна считаться эквивалентной (MathOverflow).
Кумулянты: Определение фундаментальных неравенств, которым подчиняются кумулянты случайных величин, остается открытой проблемой в теории вероятностей (MathOverflow).
Парадоксальные результаты в статистике: Наличие статистических парадоксов, таких как парадокс Монти Холла, вызывает вопросы о корректности интуитивных интерпретаций вероятностей.
Проблема выборки и апостериорных вероятностей: Как правильно учитывать априорные вероятности и выборку в статистическом выводе?
Эргодические теоремы и случайные процессы: Применение эргодических теорем к случайным процессам требует тщательного анализа, особенно в контексте долгосрочных средних значений.
Меры риска и надежности: Определение и применение различных мер риска в вероятностном анализе, особенно в финансовых моделях и страховании.
Когерентность вероятностных распределений: Условие когерентности (согласованности) распределений вероятностей для сложных систем и сетей событий.
Двойственность в вероятностях: Изучение двойственных пространств и их применение в теории вероятностей, что связано с понятием локалов и топологических пространств.
Фундаментальные парадоксы в вероятности: Решение таких парадоксов, как парадокс Берксона или парадокс трех узников, которые показывают противоречивость интуитивных подходов к вероятности.
Эти задачи освещают сложные и часто игнорируемые аспекты теории вероятностей, подчеркивая необходимость более глубокого понимания и пересмотра традиционных подходов.
SpringerLink
Twelve problems in probability no one likes to bring up
The purpose of this lecture, and of the lectures that will follow it, is a controversial one. It is, plainly and simply, to reopen some questions in the foundations of probability, and thus also a much touchier and much neglected subject, the foundations…
Уважаемые коллеги, тех, кому интересна математика и машинное обучение, наши коллеги приглашают принять в неформальном проекте.
Минимальное требование - Вы знакомы с Питоном, и у Вас есть несколько часов свободного времени в неделю. (Альтернативно - можно не знать Питон, но хорошо знать теорию групп.) Цель проекта - применить машинное обучение к теории групп. Результат проекта - написание статьи в хорошем журнале. Другим бонусом будет являться - работа под руководством опытных специалистов в области машинного обучения и приобретение навыков по современным методам нейронных сетей, Reinforcement Learning и т.д.
Примерный список направлений
1) Задача поиска короткого пути на графах Кэли (сборка кубика - аналог Каггл Санта23 - но для произвольных групп)
2) Оценки диаметра ("числа бога") для графов (то есть расстояние между самыми дальними точками на графах)
3) Бенчмарк эмбедингов графов на основе математических результатов о графах
4) Многое другое, что тесно связано - случайные блуждания, гипотеза Ловаса о обязательном существовании гамильтонова пути на любом графе Кэли,
Если Вам интересно участие - напишите @alexander_v_c (Александр Червов), чат для обсуждений тут .
Проект осуществляется при участии опытных специалистов (и многие ведут телеграм каналы):
Александр Червов (к.ф.-м.н. 25 лет math&DS )
Кирилл Хоружий (ex-Физтех, Max Planck Institute of Quantum Optics )
Андрей Лукьяненко (Kaggle Grandmaster, 11 лет в IT &DS )
Александр Абрамов (Kaggle Master, SberDevices, 10 лет в DS )
Павел Снопов (ИППИ РАН )
Владимир Шитов (Helmholtz Munich )
Сергей Нечаев (д.ф.-м.н., directeur de recherche au CNRS-Universite Paris-Saclay )
Минимальное требование - Вы знакомы с Питоном, и у Вас есть несколько часов свободного времени в неделю. (Альтернативно - можно не знать Питон, но хорошо знать теорию групп.) Цель проекта - применить машинное обучение к теории групп. Результат проекта - написание статьи в хорошем журнале. Другим бонусом будет являться - работа под руководством опытных специалистов в области машинного обучения и приобретение навыков по современным методам нейронных сетей, Reinforcement Learning и т.д.
Примерный список направлений
1) Задача поиска короткого пути на графах Кэли (сборка кубика - аналог Каггл Санта23 - но для произвольных групп)
2) Оценки диаметра ("числа бога") для графов (то есть расстояние между самыми дальними точками на графах)
3) Бенчмарк эмбедингов графов на основе математических результатов о графах
4) Многое другое, что тесно связано - случайные блуждания, гипотеза Ловаса о обязательном существовании гамильтонова пути на любом графе Кэли,
Если Вам интересно участие - напишите @alexander_v_c (Александр Червов), чат для обсуждений тут .
Проект осуществляется при участии опытных специалистов (и многие ведут телеграм каналы):
Александр Червов (к.ф.-м.н. 25 лет math&DS )
Кирилл Хоружий (ex-Физтех, Max Planck Institute of Quantum Optics )
Андрей Лукьяненко (Kaggle Grandmaster, 11 лет в IT &DS )
Александр Абрамов (Kaggle Master, SberDevices, 10 лет в DS )
Павел Снопов (ИППИ РАН )
Владимир Шитов (Helmholtz Munich )
Сергей Нечаев (д.ф.-м.н., directeur de recherche au CNRS-Universite Paris-Saclay )
Telegram
(sci)Berloga Всех Наук и Технологий
Мультидисциплинарный канал о науке и технологиях.
Data Science, Bioinformatics, Biology, Mathematics, Physics, IT, Computer Science.
@sberlogabio био и дата сайнс
@sberlogasci математика, физика и ДС
https://www.youtube.com/c/SciBerloga
Data Science, Bioinformatics, Biology, Mathematics, Physics, IT, Computer Science.
@sberlogabio био и дата сайнс
@sberlogasci математика, физика и ДС
https://www.youtube.com/c/SciBerloga
Fourier Features Let Networks Learn
High Frequency Functions in Low Dimensional Domains
https://arxiv.org/abs/2006.10739
Статья 2020 года с нипса, которая объясняет, почему же позиционные эмбединги трансформеров хорошо работают именно в таком странном виде эмбедингов из синусов и косинусов (но не только).
Основная мысль: если подавать время, позиции, координаты - т.е. числа или вектора низкой размерности - как есть, то сетка даже на обучающей выборке не может выучить высокочастотные компоненты целевой функции. А если преобразовать их в вектора высокой размерности, лежащие на гиперсфере, частным случаем чего являются позиционные эмбединги, то подобной проблемы не возникает. Такое преобразование авторы и называют fourier features. Пишут, что идея статьи пришла при работе над NERF'ом.
Общий вид изучаемых эмбедингов позиций, времени, 2d и 3d координат:
f_feat(p) =(a1*cos(2Pi*<w1, p>), a1*sin (2Pi*<w1, p>), ..., a_d *cos(2Pi*<wd, p>), a_d*sin(2Pi*<wd, p>)).
Что с ними делают:
1) пытаются теоретически объяснить, почему подобное преобразование работает лучше, чем подавать данные нейросетке в исходном виде.
2) пытаются определить качественное влияние параметров a_i, w_i на получающееся решение
3) проводят мотивирующие эксперименты
Теоретическое объяснение:
Через neural tangent kernel в несколько шагов:
1) Пусть k_ntk - это neural tangent kernel, соответствующей данной нейросети. Введем матрицу K, состояющую из значений этого ядра на обучающей выборке:
K_ij = k_ntk(xi, xj)
err_t - ошибка сетки на обучающей выборке с learning rate lr на шаге обучения t - может быть аппроксимирована с помощью выражения, использующего матрицу K:
|err_t| ~= e^(-lr *K*t) * y_t,
где y_t - вектор/матрица значений целевой функции на обучающей выборке
y_t: y_t[I] =y(x_i)
2) матрица K неотрицательно определена, поэтому можно использовать разложение K=QDQ^T, где Q ортонормированная матрица собственных векторов, а D - диагональная и D_ii>= 0:
Q^T*(err_t) ~=e^(-lr *D*t)Q^T
и
[Q^T*(err_t)]_i ~=e^(-lr *l_i*t)Q^T
3) Получается, что скорость сходимости ошибки на обучающей выборке зависит от спектра матрицы K. Если собственные значения сильно отличаются друг от друга, то разные компоненты ошибки будут сходиться с разной скоростью. А если матрица плохо обусловлена, т.е. есть собственные значения близкие к нулю, то соответствующие компоненты ошибки не сойдутся к нулю фактически никогда
4) Если же элементы обучающей выборки x_i расположены на гиперсфере, то (по другому результату)
k_ntk(x_i, x_j) =k_ntk'(<x_i, x_j>).
Для fourier features
norm(f_feat(x_i)) =const,
<f_feat(x_i), f_feat(x_j)>=h(x_i-x_j),
поэтому
k_ntk(f_feat(x_i), f_feat(x_j)) =k_ntk'(h(x_i-x_j)),
Т.е. neural tangent kernel зависит только от разности аргументов.
5) Из-за предыдущего равенства матрица K для выборки, преобразованной f_feat, будет матрицей стационарного ядра, и (видимо) подобная симметрия обеспечивает "хороший" спектр. В частности, K_ii =K_jj.
Пункты 3 и 5 дают нужные утверждения.
Также есть видео с красивой презентацией и наглядными визуализациями: https://youtu.be/nVA6K6Sn2S4?si=bhu-XmE-Ejk1Bhvz
и блогпост с неформальными поясениями https://bmild.github.io/fourfeat/
High Frequency Functions in Low Dimensional Domains
https://arxiv.org/abs/2006.10739
Статья 2020 года с нипса, которая объясняет, почему же позиционные эмбединги трансформеров хорошо работают именно в таком странном виде эмбедингов из синусов и косинусов (но не только).
Основная мысль: если подавать время, позиции, координаты - т.е. числа или вектора низкой размерности - как есть, то сетка даже на обучающей выборке не может выучить высокочастотные компоненты целевой функции. А если преобразовать их в вектора высокой размерности, лежащие на гиперсфере, частным случаем чего являются позиционные эмбединги, то подобной проблемы не возникает. Такое преобразование авторы и называют fourier features. Пишут, что идея статьи пришла при работе над NERF'ом.
Общий вид изучаемых эмбедингов позиций, времени, 2d и 3d координат:
f_feat(p) =(a1*cos(2Pi*<w1, p>), a1*sin (2Pi*<w1, p>), ..., a_d *cos(2Pi*<wd, p>), a_d*sin(2Pi*<wd, p>)).
Что с ними делают:
1) пытаются теоретически объяснить, почему подобное преобразование работает лучше, чем подавать данные нейросетке в исходном виде.
2) пытаются определить качественное влияние параметров a_i, w_i на получающееся решение
3) проводят мотивирующие эксперименты
Теоретическое объяснение:
Через neural tangent kernel в несколько шагов:
1) Пусть k_ntk - это neural tangent kernel, соответствующей данной нейросети. Введем матрицу K, состояющую из значений этого ядра на обучающей выборке:
K_ij = k_ntk(xi, xj)
err_t - ошибка сетки на обучающей выборке с learning rate lr на шаге обучения t - может быть аппроксимирована с помощью выражения, использующего матрицу K:
|err_t| ~= e^(-lr *K*t) * y_t,
где y_t - вектор/матрица значений целевой функции на обучающей выборке
y_t: y_t[I] =y(x_i)
2) матрица K неотрицательно определена, поэтому можно использовать разложение K=QDQ^T, где Q ортонормированная матрица собственных векторов, а D - диагональная и D_ii>= 0:
Q^T*(err_t) ~=e^(-lr *D*t)Q^T
и
[Q^T*(err_t)]_i ~=e^(-lr *l_i*t)Q^T
3) Получается, что скорость сходимости ошибки на обучающей выборке зависит от спектра матрицы K. Если собственные значения сильно отличаются друг от друга, то разные компоненты ошибки будут сходиться с разной скоростью. А если матрица плохо обусловлена, т.е. есть собственные значения близкие к нулю, то соответствующие компоненты ошибки не сойдутся к нулю фактически никогда
4) Если же элементы обучающей выборки x_i расположены на гиперсфере, то (по другому результату)
k_ntk(x_i, x_j) =k_ntk'(<x_i, x_j>).
Для fourier features
norm(f_feat(x_i)) =const,
<f_feat(x_i), f_feat(x_j)>=h(x_i-x_j),
поэтому
k_ntk(f_feat(x_i), f_feat(x_j)) =k_ntk'(h(x_i-x_j)),
Т.е. neural tangent kernel зависит только от разности аргументов.
5) Из-за предыдущего равенства матрица K для выборки, преобразованной f_feat, будет матрицей стационарного ядра, и (видимо) подобная симметрия обеспечивает "хороший" спектр. В частности, K_ii =K_jj.
Пункты 3 и 5 дают нужные утверждения.
Также есть видео с красивой презентацией и наглядными визуализациями: https://youtu.be/nVA6K6Sn2S4?si=bhu-XmE-Ejk1Bhvz
и блогпост с неформальными поясениями https://bmild.github.io/fourfeat/
arXiv.org
Fourier Features Let Networks Learn High Frequency Functions in...
We show that passing input points through a simple Fourier feature mapping enables a multilayer perceptron (MLP) to learn high-frequency functions in low-dimensional problem domains. These results...
а) Сравнение матрицы K для neural tangent kernel для 1d координат и их преобразования в fourier features. Видно что для исходных координат матрица K должна иметь много маленьких собственных значений, а для преобразованных на диагонали все хорошо
б) влияние параметров эмбедингов aj =(1/j)^p, wj=j на получающееся ядро одномерной свертки k_ntk'. Наглядно можно представить, что ответ нейросетки это взвешенное среднее с весами k_ntk'(x_i-x_j). Можно прикинуть, какие параметры приведут к недообучению, какие а переобучения, а какие самый раз.
б) влияние параметров эмбедингов aj =(1/j)^p, wj=j на получающееся ядро одномерной свертки k_ntk'. Наглядно можно представить, что ответ нейросетки это взвешенное среднее с весами k_ntk'(x_i-x_j). Можно прикинуть, какие параметры приведут к недообучению, какие а переобучения, а какие самый раз.
Эксперимент, на котором проверяют скорость сходимости низких, средних и высоких частот модельной целевой функции в зависимости от параметров fourier features a_j=1/j^p, w_j =j при изменении параметра p. Параметр p фактически регулирует размерность эмбединга.
Видно, что в исходном виде выучиваются только очень низкие частоты. При низкой фактической размерности высокие частоты тоже плохо выучиваются, а чем выше p, тем более высоких частот, вплоть до переобучения.
Видно, что в исходном виде выучиваются только очень низкие частоты. При низкой фактической размерности высокие частоты тоже плохо выучиваются, а чем выше p, тем более высоких частот, вплоть до переобучения.
This media is not supported in your browser
VIEW IN TELEGRAM
Как сходится регрессия без эмбедингов координат в фурье фичи и с фурье фичами