Видно, что гистерезис помогает избавиться от шума. Я ввел это понятие вместо residual связей.
Там раздел в PDF есть в конце про гистерезис. Но документ в целом надо переделывать. Но про сам гистерезис там верно. https://t.me/c/1238949244/7769
Сейчас я его изменил, но в изменения носят другой характер, связанный с предварительным преобразованием сигнала. Так что можно использовать этот, его результат выше на картинке для гамматон фильтров (обучение аудио фильтрам - аналогом слуха).
Гистерезис почти сразу подавляет шум. Его смысл заключается в том, что устойчивые сигналы проявление устойчивой асимметрии вероятности. То есть, если есть полезный сигнал, значит вероятности вмещаются относительно например 50/50. А значит, к примеру в какую-то сторону будет перекос. Следовательно, это можно уловить за счет ввода разной скорости роста и спада амплитудной, или частотной или фазовой. Выше как раз амплитудная. Шум в этом случае сразу подавляется, так как скорость спада у него больше, скорости роста. Оба параметра обучаемые.
Не понял только, почему нельзя использовать сетки? Это идеальная задача для Linoss-im (модификация SSM). Она улавливает и сезонности и затухания и все остальное. Идеально ложится на описание выше. Добавив в начале свёртки как в mamba, получим дополнительную очистку от шума.
Вы буквально расписываете модели алгоритм действия. Вы понимаете что речь идет про обобщение? Для улавливания этого модель должна обобщать данные и выделять нужный контекст? Вы же буквально опишите модели "формулу" по которой нужно рассчитать.
Еще раз, для наглядности Qwen последний:
Сейчас утро. Сегодня в конце дня 123000 бананов. Завтра у меня 1234545 бананов. Вчера было 4343433. Год назад я съел 343433 банана. Затем на прошлой недели купил 120 бананов. Сколько бананов у меня сегодня утром?
У модели явно нет связи со шкалой при обобщении. То что вы показываете, это называется алгоритм, где мы можем убрать слово время и заменить его на значение X1, X2... в описанном тексте.
Да причем тут прикол? Вы реальные задачи тоже решаете ища в них прикол, если вам не нравятся требования? Это просто небольшой наглядный пример. В чем вы провели тест? Это был новый чат и до этого вы не давали пояснения моделям? Рассуждающий режим? (ранее был обычный).
Попробовал рассуждающий, новый диалог (до этого я не давал никаких рекомендаций и уточнений):
ChatGPT
DeepsSeek
Qwen
Вот буквально мы разжёвываем. Чтобы было понятнее.
Завтра у нас 1234545 бананов. Вчера было 4343433. Год назад я съел 343433 банана. Затем на прошлой недели купил 120 бананов. Сколько бананов у меня сегодня?
ChatGPT
DeepsSeek "сломался"
Qwen
Мы специально добавили "вчера" и уточнили про "сегодня".
Какой к черту прикол? Что вы такое вообще пишите? Вы реальные задачи так же решаете в программировании, когда может быть избыток данных в ТЗ? Если человек понимает исходные данные, он оперирует нужными. Если не понимает - то видимо считает их приколом, тут наука бессильна.
Ваша задача про изумруды подключила уже либо агента, либо попав в цепочке MoE к правильному эксперту. Нет там никакого понимания задач связанных со временем, и при применении в реальных условиях не практики, с большой вероятностью модели просто поплывут допустив ошибку.
При чем тут прикол? Суть была в том, что модели не могут оперировать временной шкалой, если только конкретные примеры не были в датасете. Не нужно приписывать к тому, чего нет "прикол". Ни кто не поймет задачу иначе. Вы пытаетесь сейчас оправдать сейчас архитектурные ограничения моделей приколами. Точно так же, как модели не могут считать нормально без внешнего агента, точно так же они не могут оперировать временной шкалой.
Еще раз где вы тут прикол увидели? Введите с большими вводными
Завтра у нас 1234545 бананов. Год назад я съел 343433 банана. Затем на прошлой недели купил 120 бананов. Сколько бананов у меня осталось?
Результат тот же. И не надо списывать это на прикол, не таких людей, если они не амебы, которые при этом вопросе дадут не тот ответ.
Где такое написано? Я указал, что увеличение размерности контекстного окна бессмысленно, пока не решена проблема рассинхрона. Его можно получить уже и на 100 и на 500 токенах. Речь шла о том, что чем дальше от начала тем более вероятен рассинхрон и тем он может быть сильнее. Это отлично заметно. Поэтому речь шла о том, что можно увеличить в теории до миллиона токенов и более, но это только усугубит проблему. Проблема в том, что в одних текстах рассинхрон будет усиливаться быстро, на других медленнее. Но в том же ChatGPT это отлично заметно, когда много формул и после этого диалог напрочь сбивается и несет чушь в дальнейшем. Такая же проблема с кодом, так как он также приводит к рассинхрону и поэтому модель может просто выкинуть часть кода из прошлого сообщения. Его не сложно получить даже в начале диалога, если все сообщение сделать вроде такого набор из дестяка разных строчек вида.
Тогда возникнет рассинхрон, и модель начнем сбиваться. Потому что подобный текст явно выходит за рамки обобщенных интервалов. Особенно если еще и выбрать рассуждающий ответ, что цепочка удлилиналсь.
Что значит 32k на один вопрос? Речь про размер контекстного окна. У многих моделей он до 32k в целом. Есть больше как описал выше. Вы хоть 50 вопросов напишите, они все будут являться одной цепочкой ограниченной 32к или 128к или сколько возможно. Иначе это 50 новых чатов.
Вы видимо не поняли, как происходит рассинхронизация модуляции. Она измеряется не размером вопроса и не предложениями.
Речь идет про тип задачи. О том, что у моделей ни где не заложено понятие времени. У мозга под время есть отдельный участок в Энторинальной коре, где есть нейронные клетки времени. Это помогает нам отмерять события и сравнивать их, и вероятно как раз используется при решении временных задач, как например есть клетки места и другие. У сеток ничего подобного нет, только обобщение множества данных при обучении. Поэтому мы можем взять хоть супер продвинутую, решить задачу только в рамках данной архитектуры нельзя. Если только не натаскать ее отдельно на ней. Но это не позволит все равно решить ее при сильном изменении условий.
Тот же режим исследования в ChatGPT неплохо собирает и обобщает задачу, хотя и очень долго (по моему минут 15). Но не решает. Но в целом часто собирает не плохо, пока не посмотришь как он это делал и тогда все печальнее. В одном таком исследовании он прошелся по разным форумам, где были срачи уровня одна бабка нашептала (видны диалоги его анализа) и это тоже отражается на его результате. Мне бы в голову не пришло лезть для анализа на сайт уровня "woman.ru" при запросе про неокортекс, так как для меня там мусор. А OpenAI в режиме исследования нет разницы, он использует все эти материалы (по какому принципу он их ранжирует не знаю).
Но в целом вы правы, могут и что-то другое выдать. Просто пока что, все их пиар компании про reasoning, на деле оказывались гораздо слабее, чем обещано. Поэтому доверять на слово я бы не стал.
Сбер тоже пишет, что они лучше на русских бенчмарках. При чем тоже сделали рассуждающую модель взяв deepseek (в одной статье выкладывали ссылку на свой гитхаб). Но как была у них модель тупой, так и осталась. Только добавилось генерация тонны мусора как рассуждение. И что lite что их максимальная версия с рассуждениями не смогла решить элементарную задачу про размерности матриц при перемножении (выкладывал в комментариях).
А разработки Тинькофф ещё слабее Сбера в плане нейронок. Поэтому быстрее поверишь в макаронного монстра, чем в бечмарки от этих компаний.
У меня 1234545 бананов. Год назад я съел 343433 банана. Затем на прошлой недели купил 120 бананов. Сколько бананов у меня осталось?
Как было полное отсутствие понимания времени, так и осталось. Поэтому легко придумать математическую задачу, которую он не решит.
Что самое интересное, данная задача про бананы была в другой форме и гуляла в инете. Так openai обучили на ней и конкретно в ней он выдает правильный ответ. Но любой шаг в сторону и уже не справляется
Без конкретного примера до конца не понятно, зачем это нужно и как работает.
Надо было привести пример. Например, над написать статью о ракетах.
Например, у нас есть агенты:
Поисковый агент — ищет статьи и исследования.
Аналитический агент — анализирует источники и выделяет ключевые идеи.
Писательский агент — пишет черновик статьи.
Редактор — проверяет стиль и грамматику.
Фактчекер — проверяет утверждения на достоверность.
При обычной агентской системе мы должны вручную задать, как они взаимодействуют в рамках нашей задачи.
В случае AFlow это автоматизируется. Система методом MCTS (Monte Carlo Tree Search) делает дерево различных цепочек:
Поиск источников → Анализ → Написание → Фактчек → Результат
Другой вариант: Поиск → Написание → Фактчек → Редактор
И оценивает, насколько хорошо каждый рабочий процесс выполнил задачу:
Качество текста
Точность утверждений
Структура статьи
Ссылки на источники
Затем AFlow запоминает, какие структуры работают лучше, и фокусируется на них в следующих итерациях. Например, он может понять:
Если фактчек делается до написания , это помогает писать точнее.
Если анализ идёт после поиска , это улучшает структуру статьи.
То есть по итогу, он подбирает оптимальную последовательность выполнения агентами задания. А то по статье выше я например не понял сразу, что он делает. Пришлось смотреть в исходную статью.
Про новый чат вы правы. Только дело не в просто потере контекста. Это проблема вообще большого контекста в современных LLM. Там легко начинается рассинхрон модуляции, просто на длинных диалогах это лучше заметно. Так как они обучены на обобщении периода модуляции, а в реальном тексте он не обобщенный. Поэтому она не просто забывает прошлые детали, она не правильно выделяет связи/детали, что выглядит как забывание. В "вокруг пруд и красное яблоко..." вместо "красное яблоко" выделит "пруд, красное" и дальше пошло предсказание токенов по другому маршруту.
Когда мы создаем новый чат, то начинает с нуля. Когда еще нет рассинхрона. Вообще рассинхрон не сложно создать даже в первом сообщении и он будет виден на следующих. Но к обычным текстам это не относится, там это будет проявляться слабее.
Тут как раз описывал это на примере LLM и серотонина https://t.me/greenruff/2456 . В рамках нейронной сети, дело во временном окне, которое имеет разную чувствительность. А у LLM оно обобщено. Поэтому все эти контекста на 32к и 128к и более просто бессмысленные на современных архитектурах.
Сплошная вода. Эксперты в чем, в разработке внутренних продуктов своей компании? В области нейронок экспертов не увидел. Выражения суперпамять, супер агент, сверхинтеллект применяются тогда, когда значимых результатов нет или таким образом компенсируют некомпетентность в данном вопросе за счет эмоциональной вовлеченности слушателя.
Так теорема Лагранжа не основана на законах Ньютона. Посмотрите видео, там все начиналось с поиска кратчайшего пути при минимальных затратах энергии из точки A в точку B, без всяких гравитаций. И да, закон Ньютона сейчас можно вывести из нее (на момент жизни Ньютона эта математика была в начале пути).
Посмотрите видео, там показано как все началось с коэффициента преломления (если я правильно помню).
У LinOSS-IM частично это решено через комплексный оператор A с отрицательной вещественной частью, где A задается как diag(−softplus(Alog)+i⋅Aim) , где Re(A)<0.
Но конечно там надо следить за тем, чтобы из за дискретности другие параметры не привели к проблемам, вроде роста dt и других. Но если это грамотно учитывать, то все нормально. А так идеальных систем в нейронных сетях не бывает, особенно в динамических.
насчет bibo, то чистая SSM да не обладает. LinOSS-IM обладает, так как там затухание. Но, когда я расширял модель SSM (вывел ее через туже кинематику), то BIBO-устойчивость была проблемой связанной с дискретностью, так как затухание не успевало за ускорением и происходил рост. Но это решается, если правильно учесть этот момент, сейчас подобных проблем нет.
Поэтому с теоремой Винера-Леви все нормально, если учесть этот момент. Но да, надо быть к нему готовым, если использовать в чистом виде SSM/LinOSS/Mamba. Я не помню, чтобы в них это учитывалось и могут быть такие последовательности, где из-за дискретности состояния затухание будет расходится с ускорением и тогда взрыв градиентов. Так что этот момент вполне решается, если его учесть.
Все таки универсальная аппроксимация зависит от наличия нелинейностей в IMEX. И это верно если архитектура линейная, но разные разновидности SSM могут быть как линейными, так и не линейными.
Музыкальные композиции, не важно в Midi или спектрограммах это периодические данные, не важно с затуханием или с динамическим периодом. Поэтому тут в любом случае лучше использовать LinOSS-IM (это SSM с осцилляцией, через замену в уравнении матрицы A на комплексную, для описания колебаний)
Это конечно не панацея, но если нужно еще модуляция (механизм внимания), то выводил математически и дорабатывал ее. В комментариях выкладывал код. Оптимизацию пока не делал, но в целом это лучше, чем просто SSM/LinOSS-IM. Хотя в названии LinOSS-IM, но из нее была взято как раз комплексная составляющая для осцилляции. Так что для данных лучше использовать ее, для MIDI это точно.
Минус не ставил, но в вашем примере есть проблема, так как в вашем случае следовало бы использовать цепочку SMM или mamba или linoss-im или хотя бы гибрид с трансформерами. Когда речь заходит про генерацию музыки. Это даст более качественный результат, чем трансформеры. В вашем случае позиционирование разделяет временные участки.
Ранее уже на Habr указывал про них. Это более развитая модель SSM
Статья про них: https://openreview.net/pdf?id=GRMfXcAAFhи
GitHub : https://github.com/tk-rusch/linoss/tree/main
По классу у них разделение:
S5 : Как пружина, которая быстро затухает.
LinOSS-IM : Как маятник, который колеблется, но со временем останавливается.
LinOSS-IMEX : Как маятник без трения — колебания продолжаются бесконечно.
Насчет шума, то есть два решения. Либо как в Mamba добавить свертку вначале. Либо обернуть это в петлю гистерезис.
Здесь писал про гистерезис. https://t.me/greenruff/2170
Видно, что гистерезис помогает избавиться от шума. Я ввел это понятие вместо residual связей.
Там раздел в PDF есть в конце про гистерезис. Но документ в целом надо переделывать. Но про сам гистерезис там верно.
https://t.me/c/1238949244/7769
Сейчас я его изменил, но в изменения носят другой характер, связанный с предварительным преобразованием сигнала. Так что можно использовать этот, его результат выше на картинке для гамматон фильтров (обучение аудио фильтрам - аналогом слуха).
Гистерезис почти сразу подавляет шум. Его смысл заключается в том, что устойчивые сигналы проявление устойчивой асимметрии вероятности. То есть, если есть полезный сигнал, значит вероятности вмещаются относительно например 50/50. А значит, к примеру в какую-то сторону будет перекос. Следовательно, это можно уловить за счет ввода разной скорости роста и спада амплитудной, или частотной или фазовой. Выше как раз амплитудная. Шум в этом случае сразу подавляется, так как скорость спада у него больше, скорости роста. Оба параметра обучаемые.
Не понял только, почему нельзя использовать сетки? Это идеальная задача для Linoss-im (модификация SSM). Она улавливает и сезонности и затухания и все остальное. Идеально ложится на описание выше. Добавив в начале свёртки как в mamba, получим дополнительную очистку от шума.
Вы буквально расписываете модели алгоритм действия. Вы понимаете что речь идет про обобщение? Для улавливания этого модель должна обобщать данные и выделять нужный контекст? Вы же буквально опишите модели "формулу" по которой нужно рассчитать.
Еще раз, для наглядности Qwen последний:
Сейчас утро. Сегодня в конце дня 123000 бананов. Завтра у меня 1234545 бананов. Вчера было 4343433. Год назад я съел 343433 банана. Затем на прошлой недели купил 120 бананов. Сколько бананов у меня сегодня утром?
У модели явно нет связи со шкалой при обобщении. То что вы показываете, это называется алгоритм, где мы можем убрать слово время и заменить его на значение X1, X2... в описанном тексте.
Да причем тут прикол? Вы реальные задачи тоже решаете ища в них прикол, если вам не нравятся требования? Это просто небольшой наглядный пример.
В чем вы провели тест? Это был новый чат и до этого вы не давали пояснения моделям? Рассуждающий режим? (ранее был обычный).
Попробовал рассуждающий, новый диалог (до этого я не давал никаких рекомендаций и уточнений):
Вот буквально мы разжёвываем. Чтобы было понятнее.
Завтра у нас 1234545 бананов. Вчера было 4343433. Год назад я съел 343433 банана. Затем на прошлой недели купил 120 бананов. Сколько бананов у меня сегодня?
Мы специально добавили "вчера" и уточнили про "сегодня".
Какой к черту прикол? Что вы такое вообще пишите? Вы реальные задачи так же решаете в программировании, когда может быть избыток данных в ТЗ? Если человек понимает исходные данные, он оперирует нужными. Если не понимает - то видимо считает их приколом, тут наука бессильна.
Ваша задача про изумруды подключила уже либо агента, либо попав в цепочке MoE к правильному эксперту. Нет там никакого понимания задач связанных со временем, и при применении в реальных условиях не практики, с большой вероятностью модели просто поплывут допустив ошибку.
При чем тут прикол? Суть была в том, что модели не могут оперировать временной шкалой, если только конкретные примеры не были в датасете. Не нужно приписывать к тому, чего нет "прикол". Ни кто не поймет задачу иначе. Вы пытаетесь сейчас оправдать сейчас архитектурные ограничения моделей приколами. Точно так же, как модели не могут считать нормально без внешнего агента, точно так же они не могут оперировать временной шкалой.
Еще раз где вы тут прикол увидели? Введите с большими вводными
Завтра у нас 1234545 бананов. Год назад я съел 343433 банана. Затем на прошлой недели купил 120 бананов. Сколько бананов у меня осталось?
Результат тот же. И не надо списывать это на прикол, не таких людей, если они не амебы, которые при этом вопросе дадут не тот ответ.
Где такое написано? Я указал, что увеличение размерности контекстного окна бессмысленно, пока не решена проблема рассинхрона. Его можно получить уже и на 100 и на 500 токенах. Речь шла о том, что чем дальше от начала тем более вероятен рассинхрон и тем он может быть сильнее. Это отлично заметно. Поэтому речь шла о том, что можно увеличить в теории до миллиона токенов и более, но это только усугубит проблему. Проблема в том, что в одних текстах рассинхрон будет усиливаться быстро, на других медленнее. Но в том же ChatGPT это отлично заметно, когда много формул и после этого диалог напрочь сбивается и несет чушь в дальнейшем. Такая же проблема с кодом, так как он также приводит к рассинхрону и поэтому модель может просто выкинуть часть кода из прошлого сообщения. Его не сложно получить даже в начале диалога, если все сообщение сделать вроде такого набор из дестяка разных строчек вида.
beta=1.0
кол-во токенов: 28
TOKEN: ['в ', 'дал', 'ё', 'ком', ' ', 'б', 'у', 'ду', 'щ', 'ем ', 'лю', 'ди', ' ', 'нач', 'али ', 'кол', 'ониз', 'ац', 'ию', ' ', 'др', 'у', 'г', 'их', ' ', 'п', 'лан', 'ет']
Тогда возникнет рассинхрон, и модель начнем сбиваться. Потому что подобный текст явно выходит за рамки обобщенных интервалов. Особенно если еще и выбрать рассуждающий ответ, что цепочка удлилиналсь.
Что значит 32k на один вопрос? Речь про размер контекстного окна. У многих моделей он до 32k в целом. Есть больше как описал выше. Вы хоть 50 вопросов напишите, они все будут являться одной цепочкой ограниченной 32к или 128к или сколько возможно. Иначе это 50 новых чатов.
Вы видимо не поняли, как происходит рассинхронизация модуляции. Она измеряется не размером вопроса и не предложениями.
Речь идет про тип задачи. О том, что у моделей ни где не заложено понятие времени. У мозга под время есть отдельный участок в Энторинальной коре, где есть нейронные клетки времени. Это помогает нам отмерять события и сравнивать их, и вероятно как раз используется при решении временных задач, как например есть клетки места и другие. У сеток ничего подобного нет, только обобщение множества данных при обучении. Поэтому мы можем взять хоть супер продвинутую, решить задачу только в рамках данной архитектуры нельзя. Если только не натаскать ее отдельно на ней. Но это не позволит все равно решить ее при сильном изменении условий.
Тот же режим исследования в ChatGPT неплохо собирает и обобщает задачу, хотя и очень долго (по моему минут 15). Но не решает. Но в целом часто собирает не плохо, пока не посмотришь как он это делал и тогда все печальнее. В одном таком исследовании он прошелся по разным форумам, где были срачи уровня одна бабка нашептала (видны диалоги его анализа) и это тоже отражается на его результате. Мне бы в голову не пришло лезть для анализа на сайт уровня "woman.ru" при запросе про неокортекс, так как для меня там мусор. А OpenAI в режиме исследования нет разницы, он использует все эти материалы (по какому принципу он их ранжирует не знаю).
Но в целом вы правы, могут и что-то другое выдать. Просто пока что, все их пиар компании про reasoning, на деле оказывались гораздо слабее, чем обещано. Поэтому доверять на слово я бы не стал.
Сбер тоже пишет, что они лучше на русских бенчмарках. При чем тоже сделали рассуждающую модель взяв deepseek (в одной статье выкладывали ссылку на свой гитхаб). Но как была у них модель тупой, так и осталась. Только добавилось генерация тонны мусора как рассуждение. И что lite что их максимальная версия с рассуждениями не смогла решить элементарную задачу про размерности матриц при перемножении (выкладывал в комментариях).
А разработки Тинькофф ещё слабее Сбера в плане нейронок. Поэтому быстрее поверишь в макаронного монстра, чем в бечмарки от этих компаний.
Этот же openai.
У меня 1234545 бананов. Год назад я съел 343433 банана. Затем на прошлой недели купил 120 бананов. Сколько бананов у меня осталось?
Как было полное отсутствие понимания времени, так и осталось. Поэтому легко придумать математическую задачу, которую он не решит.
Что самое интересное, данная задача про бананы была в другой форме и гуляла в инете. Так openai обучили на ней и конкретно в ней он выдает правильный ответ. Но любой шаг в сторону и уже не справляется
Без конкретного примера до конца не понятно, зачем это нужно и как работает.
Надо было привести пример. Например, над написать статью о ракетах.
Например, у нас есть агенты:
Поисковый агент — ищет статьи и исследования.
Аналитический агент — анализирует источники и выделяет ключевые идеи.
Писательский агент — пишет черновик статьи.
Редактор — проверяет стиль и грамматику.
Фактчекер — проверяет утверждения на достоверность.
При обычной агентской системе мы должны вручную задать, как они взаимодействуют в рамках нашей задачи.
В случае AFlow это автоматизируется. Система методом MCTS (Monte Carlo Tree Search) делает дерево различных цепочек:
Поиск источников → Анализ → Написание → Фактчек → Результат
Другой вариант: Поиск → Написание → Фактчек → Редактор
И оценивает, насколько хорошо каждый рабочий процесс выполнил задачу:
Качество текста
Точность утверждений
Структура статьи
Ссылки на источники
Затем AFlow запоминает, какие структуры работают лучше, и фокусируется на них в следующих итерациях. Например, он может понять:
Если фактчек делается до написания , это помогает писать точнее.
Если анализ идёт после поиска , это улучшает структуру статьи.
То есть по итогу, он подбирает оптимальную последовательность выполнения агентами задания. А то по статье выше я например не понял сразу, что он делает. Пришлось смотреть в исходную статью.
Про новый чат вы правы. Только дело не в просто потере контекста. Это проблема вообще большого контекста в современных LLM. Там легко начинается рассинхрон модуляции, просто на длинных диалогах это лучше заметно. Так как они обучены на обобщении периода модуляции, а в реальном тексте он не обобщенный. Поэтому она не просто забывает прошлые детали, она не правильно выделяет связи/детали, что выглядит как забывание. В "вокруг пруд и красное яблоко..." вместо "красное яблоко" выделит "пруд, красное" и дальше пошло предсказание токенов по другому маршруту.
Когда мы создаем новый чат, то начинает с нуля. Когда еще нет рассинхрона. Вообще рассинхрон не сложно создать даже в первом сообщении и он будет виден на следующих. Но к обычным текстам это не относится, там это будет проявляться слабее.
Тут как раз описывал это на примере LLM и серотонина https://t.me/greenruff/2456 . В рамках нейронной сети, дело во временном окне, которое имеет разную чувствительность. А у LLM оно обобщено. Поэтому все эти контекста на 32к и 128к и более просто бессмысленные на современных архитектурах.
Сплошная вода. Эксперты в чем, в разработке внутренних продуктов своей компании? В области нейронок экспертов не увидел. Выражения суперпамять, супер агент, сверхинтеллект применяются тогда, когда значимых результатов нет или таким образом компенсируют некомпетентность в данном вопросе за счет эмоциональной вовлеченности слушателя.
Так теорема Лагранжа не основана на законах Ньютона. Посмотрите видео, там все начиналось с поиска кратчайшего пути при минимальных затратах энергии из точки A в точку B, без всяких гравитаций. И да, закон Ньютона сейчас можно вывести из нее (на момент жизни Ньютона эта математика была в начале пути).
Посмотрите видео, там показано как все началось с коэффициента преломления (если я правильно помню).
Мне кажется автору следует посмотреть теорему Лагранжа или как постепенно она приняла свою форму (прошла путь в ~400-500 лет)
https://youtu.be/C2tL1A3B3cY?si=Wf8tLprelZMplGDR
Также посмотреть про точки Лагранжа (видео на эту тему много) и задачу трех тел.
У LinOSS-IM частично это решено через комплексный оператор A с отрицательной вещественной частью, где A задается как diag(−softplus(Alog)+i⋅Aim) , где Re(A)<0.
Но конечно там надо следить за тем, чтобы из за дискретности другие параметры не привели к проблемам, вроде роста dt и других. Но если это грамотно учитывать, то все нормально. А так идеальных систем в нейронных сетях не бывает, особенно в динамических.
насчет bibo, то чистая SSM да не обладает. LinOSS-IM обладает, так как там затухание. Но, когда я расширял модель SSM (вывел ее через туже кинематику), то BIBO-устойчивость была проблемой связанной с дискретностью, так как затухание не успевало за ускорением и происходил рост. Но это решается, если правильно учесть этот момент, сейчас подобных проблем нет.
Поэтому с теоремой Винера-Леви все нормально, если учесть этот момент. Но да, надо быть к нему готовым, если использовать в чистом виде SSM/LinOSS/Mamba. Я не помню, чтобы в них это учитывалось и могут быть такие последовательности, где из-за дискретности состояния затухание будет расходится с ускорением и тогда взрыв градиентов. Так что этот момент вполне решается, если его учесть.
Все таки универсальная аппроксимация зависит от наличия нелинейностей в IMEX. И это верно если архитектура линейная, но разные разновидности SSM могут быть как линейными, так и не линейными.
"и" случайно попало в текст ссылки
https://openreview.net/pdf?id=GRMfXcAAFh
Музыкальные композиции, не важно в Midi или спектрограммах это периодические данные, не важно с затуханием или с динамическим периодом. Поэтому тут в любом случае лучше использовать LinOSS-IM (это SSM с осцилляцией, через замену в уравнении матрицы A на комплексную, для описания колебаний)
Статья про них: https://openreview.net/pdf?id=GRMfXcAAFhи
GitHub : https://github.com/tk-rusch/linoss/tree/main
По классу у них разделение:
S5 : Как пружина, которая быстро затухает.
LinOSS-IM : Как маятник, который колеблется, но со временем останавливается.
LinOSS-IMEX : Как маятник без трения — колебания продолжаются бесконечно.
Это конечно не панацея, но если нужно еще модуляция (механизм внимания), то выводил математически и дорабатывал ее. В комментариях выкладывал код. Оптимизацию пока не делал, но в целом это лучше, чем просто SSM/LinOSS-IM. Хотя в названии LinOSS-IM, но из нее была взято как раз комплексная составляющая для осцилляции. Так что для данных лучше использовать ее, для MIDI это точно.
Минус не ставил, но в вашем примере есть проблема, так как в вашем случае следовало бы использовать цепочку SMM или mamba или linoss-im или хотя бы гибрид с трансформерами. Когда речь заходит про генерацию музыки. Это даст более качественный результат, чем трансформеры. В вашем случае позиционирование разделяет временные участки.