Здравствуйте, MaximVK, Вы писали:
V>>Но стоить добавить немного шума к каждому нейрону, и можно получить изоморфную некоторым видам цепей Маркова структуру. MVK>А можете подробней про вот этот момент?
Например, если сеть Маркова не является чисто генеративной, а еще производит вычисления над входными данными.
Например, внешние данные через некие вычисления управляют плотностью вероятности используемого генератора случайных чисел.
Т.е., внешние данные как бы "подталкивают" сеть в некоем пространстве направлений за счёт повышения вероятности перехода в те области.
Ну и, плюсом недетерминированных автоматов является то, что одновременно можно "протягивать" несколько наборов состояний, коль из каждого узла у нас потенциально более одного перехода.
Т.е., в этом месте могут резвиться "подходы верхнего уровня", бо область ИИ и вообще нечётких вычислений пока мест в зачаточном состоянии, там еще копать и копать...
Например, используемые сегодня подходы глубокого обучения — это жуткий нафталин из 80-90-х годов.
Одно время в нулевых я делал обзор текущего состояния исследований вокруг ИИ, самые передовые исследования у математиков происходили вокруг сеток с обратными связями (циклами).
Тогда активно изучалась устойчивость этих сетей, т.е. их сходимость (ведь эти сетки переходят в новое состояние не за один цикл вычислений, как это происходит в однонаправленных сетках, а итеративно, т.е. изменение на входе возбуждает сеть, далее сетка проходит через переходные процессы и должна устаканиться в некоем другом состоянии (т.е. следующая итерация обсчёта сетки не должна изменять её состояние более чем на некий эпсилон).
Сетки с обратными связями способны хранить больше данных при меньшем кол-ве узлов, но этого мало — повышение разрядности вычислений способно кардинально поднимать емкость сети даже без увеличения кол-ва узлов, т.к. обученная ф-ия сетки может иметь больше экстремумов (в данном случае минимумов, т.е. устойчивых состояний).
В этом смысле наработки из сетей Маркова полезны, конечно, как раз в плане исследований поведения циклов, устойчивости и достижимости состояний (эргодичности) сети и прочего такого, где математики ранее резвились именно на цепях Маркова.
Дело в том, что абстрактно теория хаоса в динамических системах (устойчивость, статистика-эргодичность и т.д.) исследовалась и ранее (например, активно Биркгофом, а книгой "Теория катастроф" и другими по этой теме зачитывался еще в старших классах и студенчестве без возможности оторваться, это must have чтиво).
Так вот, модель Маркова позволяет эти вещи исследовать не только абстрактно-теоретически, но и динамически на конечном пространстве состояний.
Просто в ИИ как везде — практика отстаёт от науки на многие десятилетия.
Се ля вуха такова. ))
Взять то же отличие SD от GAN — это сугубо "инженерный" трюк, а не "научный". ))
Эдакая небольшая оптимизация структуры, подходящая для параметров вычислительных машин в данный исторический период.
Здравствуйте, Nuzhny, Вы писали:
V>>По какому "другому"? N>Ну, генерация может быть разной, тот же GAN и Stable diffusion работают по разным принципам. Следовательно, хотя бы один из этих способов отличается от генерации текста с помощью LLM.
А, ну эт да, от генерации текста общая модель отличается, конечно.
Но опять же — не сильно, а из-за особенностей архитектуры сети (или подсети), ответственной за распознавание изображений — там специфическая сетка.
Но алгоритм верхнего уровня будет сильно похож, если есть намерение сделать речь чат-бота "живой", т.е. разнообразной, с различными оттенками настроений или видов лексики (деловой, неформальный, специфический для предметной области и т.д.), где чат-бот будет "улавливать" оттенки речи собеседника.
В общем, я бы не стал утверждать, что Stable Diffusion (SD) не является разновидностью GAN (или не является развитием идеи GAN).
Весь трюк в том, что в случае SD одна сетка выполняет обе роли, т.е. это вопрос кодирования входных/выходных данных.
Оба подхода используют итеративный метод уточнения исходного "шума + оценочных параметров", но в случае GAN разделение ролей явное по двум независимым сеткам, а в случае SD разделение только по областям входных и выходных сигналов, т.е. выходы и входы SD поделены на области, отвечающие за входной/конечный результат и за анализ его "достоверности" / "поправку". Т.е., у SD те же две "внешние" сетки, но с общей "внутренней".
Плюс, это ж разница в годах разработки подходов, а это важно! ))
Если обе сетки используют общие промежуточные слои, то это усложняет обучение, т.е. делает его более затратным, т.к. затраты на обучение зависят от размера сети не линейно, а в некоей степени, заметно большей 2 (для большей сетки больше итераций, помимо квадратичного увеличения стоимости каждой итерации).
Т.е. выгодней обучить две отдельные сетки с условными размерностями N и M, чем одну сетку с размерностью N+M, поэтому алгоритм GAN смотрелся из 1998-го неплохо, а Stable Diffusion выглядел бы в те года маниловщиной.
С другой стороны, общая внутренняя сеть SD ведь оперирует теми же самими данными для двух условных подсеток, которые для случая GAN дублируются, бо обучение обеих сеток происходит на одних и тех же данных. Т.е. SD при том же общем кол-ве нейронов способна быть "умнее" за счёт более эффективного их "переиспользования".
В этом и состоит трюк и это неплохо.
А всякие их саморекламы — откровенный фуфел для обывателя:
Кроме того, стабильная диффузия предназначена для работы в непрерывных скрытых пространствах, в то время как GAN работают в дискретных пиксельных пространствах.
Потому что сетки для распознавания изображений унутре в любом случае переводят входные пикселы в те самые "непрерывные скрытые пространства":
Свёрточная нейронная сеть ... нацеленная на эффективное распознавание образов, входит в состав технологий глубокого обучения. Использует некоторые особенности зрительной коры, в которой были открыты так называемые простые клетки, реагирующие на прямые линии под разными углами, и сложные клетки, реакция которых связана с активацией определённого набора простых клеток.
...
Структура сети — однонаправленная, принципиально многослойная.
V>>Другому чем что? Что ты себе уже нарисовал в голове? N>По другому, чем сабж. В голове я себе много чего рисую, визуализировать пока не научился.
Я просто неправильно тебя понял.
Мне показалось, что твоё замечание "не таким образом" относилось к сеткам генерации изображений и музыки, где на входе некий шум + набор параметров, например, для картинки будет описание её содержимого, а для песни — описание стиля и слова самой песни.
Там подходы очень похожие — я одно время плотно изучал Suno в бытность их версии движка 2.5, этот движок явно был выполнен с чётким разделением "генератор — проверяющий" (я подробно описывал однажды на этом сайте, т.е. это подход GAN).
Но после выхода их движка 3.0 я уже так сказать не могу. ))
Вполне возможно, что отличия их движков 2.5 и 3.0 примерно такие же, как отличия GAN от SD.
Здравствуйте, vdimas, Вы писали:
V>По какому "другому"?
Ну, генерация может быть разной, тот же GAN и Stable diffusion работают по разным принципам. Следовательно, хотя бы один из этих способов отличается от генерации текста с помощью LLM.
V>Другому чем что? Что ты себе уже нарисовал в голове?
По другому, чем сабж. В голове я себе много чего рисую, визуализировать пока не научился.
Здравствуйте, Pzz, Вы писали:
Pzz>Цепи Маркова должны быть эквиавалентны машине Тьюринга
Нет, не эквиваленты. Цепи Маркова можно смоделировать на машине Тьюринга, но не наоборот.
Цепи Маркова эквивалентны вероятностым конечным автоматам, а с помощью конечного автомата нельзя смоделировать машину Тьюринга.
Здравствуйте, Wolverrum, Вы писали:
W>Глядя на то, как работают языковые модели, не отпускает ощущение, что весь этот формализм лежащий в их основе — не какой-то новый язык или новый математический объект, а все те же скрытые цепи Маркова "вид сбоку".
И да и нет. По архитектуре и работе очень похожи, но есть и значительные отличия. И да есть новые направление, где нейронки делают в виде марковских цепей. Но пока это направление еще достаточно узкое.
Макровские цепи в виде HMM уже взлетали, но сейчас более простые и далекие от них нейронки показывают лучше результаты, но это пока. В стандартных сверточных нейронках уже уткнулись в потолок и начинаю возвращаться к марковщине, но уже на новом уровне знаний и понимания.
И да — это самое новье пока и больше теоретическое, с крутыми практическими результатами пока там туго.
Кстати, по kaldi ты можешь понаблюдать, как от HMM переходили к нейронкам и возможно там уже есть и направления снова к марковщине.
Здравствуйте, Wolverrum, Вы писали:
W>Глядя на то, как работают языковые модели, не отпускает ощущение, что весь этот формализм лежащий в их основе — не какой-то новый язык или новый математический объект, а все те же скрытые цепи Маркова "вид сбоку".
Цепи Маркова должны быть эквиавалентны машине Тьюринга
Нейронки принимаю решение, помножая входные сигналы на накопленные в результате обучения коэффициенты а потом складывая результат.
Современные нейронки, с которыми достигнуты все эти впечатляющие результаты, они многослойные. Т.е., входные сигналы подаются на первый слой, у него много выходов — они подаются на второй слой (со своими коэффициентами) и так далее.
Собственно, прорыв (deep learning) заключается в том, что придумали способы эти самые промежуточные слои обучать. Deep — это не от каких-то углубленных знаний, которые вколачивают в эту самую нейронку, а от многослойности. Учат глубинные слои, что потребовало (1) новых подходов (2) недоступных ранее вычислительных ресурсов.
Так что в принципе, это новый математический объект. Не цепи Маркова.
Здравствуйте, Wolverrum, Вы писали:
W>Глядя на то, как работают языковые модели, не отпускает ощущение, что весь этот формализм лежащий в их основе — не какой-то новый язык или новый математический объект, а все те же скрытые цепи Маркова "вид сбоку".
Если на каждый нейрон подавать еще и шум некоей амплитуды, то будет в точности оно, конечно.
И есть предположение, что наш моск примерно так и работает.
Да и, генерирующие нейронки, собсно, именно это и делают — добавляют шум на входы.
Здравствуйте, vdimas, Вы писали:
V>Т.е. шум добавляется на выходе? ))
Это по желанию. Можно и без шума. Пользователь сам устанавливает степень случайности — температуру. В чистом виде модель генерирует фиксированный выход, можно решить, брать ли самый вероятный результат всегда или выбирать случайный из наиболее вероятных.
V>ХЗ как в языковых, а в генерации изображений и музыки шум добавляют на входе.
Генерация изображений работает по другому принципу.
Здравствуйте, σ, Вы писали:
σ>https://chatgpt.com/share/672f1945-5348-800a-8893-3fb0d7dc4a85 σ>[q]Нет, большие языковые модели (Large Language Models, LLM) и цепи Маркова не являются изоморфными. Хотя оба подхода связаны с моделированием последовательностей и использованием вероятностных переходов, они существенно различаются по своей структуре и возможностям.
σ>Цепи Маркова основаны на так называемом марковском свойстве: вероятность перехода в следующий состояние зависит только от текущего состояния, а не от всей предшествующей последовательности событий. Это означает, что модель учитывает только непосредственное прошлое при прогнозировании будущего.
Это неточное утверждение, бо цепью Маркова можно и нужно кодировать "контекст".
Т.е. в текущее состояние система и могла попасть лишь согласно определённой предыстории.
Плюс никто не мешает хранить саму предысторию.
Собсно, любой детерминированный автомат обладает таким св-вом — автомат может сохранять контекст или нет.
Сами состояния могут зависеть от контекста глубоко или нет.
σ>Большие языковые модели, такие как GPT-4, используют архитектуры глубокого обучения (например, трансформеры) для обработки и генерации текста. Эти модели способны учитывать длинные контексты и сложные зависимости в данных, а не только предыдущий токен или слово. LLM анализирует большую часть или весь предшествующий текст для прогнозирования следующего элемента в последовательности.
Цепи Маркова тоже можно строить через обучение.
Просто тут речь о достаточной размерности как ИИ, так и цепи Маркова.
σ>Таким образом, из-за различий в структуре, принципах работы и способности учитывать контекст, LLM и цепи Маркова не являются изоморфными.
Они не изоморфны, конечно, хотя бы из-за того, что ИИ в работе детерминирован.
Т.е. на один и тот же вход будет давать один и тот же выход.
Но стоить добавить немного шума к каждому нейрону, и можно получить изоморфную некоторым видам цепей Маркова структуру.
Здравствуйте, Wolverrum, Вы писали:
W>Глядя на то, как работают языковые модели, не отпускает ощущение, что весь этот формализм лежащий в их основе — не какой-то новый язык или новый математический объект, а все те же скрытые цепи Маркова "вид сбоку".
Начнем с определения (википедия)
Це́пь Ма́ркова — последовательность случайных событий с конечным или счётным числом исходов, где вероятность наступления каждого события зависит только от состояния, достигнутого в предыдущем событии
То есть для цепи Маркова имеют контекст длиной 1, если говорить в терминах LLM. Для такой постановки существуют строгие математические модели, на которых можно доказывать и опровергать свойства цепи.
LLM имеют гораздо большее окно контекста. Причем с токи зрения цепей можно в каждый узел поместить весь контекст, но тогда количество состояний и матрица переходов пухнуть настолько сильно, что вся математическая сторона теряет смысл.
Глядя на то, как работают языковые модели, не отпускает ощущение, что весь этот формализм лежащий в их основе — не какой-то новый язык или новый математический объект, а все те же скрытые цепи Маркова "вид сбоку".
Здравствуйте, Wolverrum, Вы писали:
W>Глядя на то, как работают языковые модели, не отпускает ощущение, что весь этот формализм лежащий в их основе — не какой-то новый язык или новый математический объект, а все те же скрытые цепи Маркова "вид сбоку".
Изоморфизм с точностью до чего? Вообще, имхо, лучше использовать слово эквивалентый. Изоморфизм — это про структурную идентичность, и если уж используешь это слово, то нужно как-то указать структурные свойства которые ты сравниваешь.
В целом можно считать , что LLM — это чистая фунция принимающая на вход очень много параметров. Ее результат строго детерменирован входным значением. Пространство входных и выходных параметров дискретно и конечно.
Такуж функцию можно смоделировать как вырожденную марковскую цепь, где пространство состояний — это все возмжные комбинации входных параметров LLM-ки с только одним возможным переходом (т.е. в матрице переходов в столбце будут все нолики и одна единичка), чтобы обеспечить чистоту.
Обратное же сделать невозможно, так как марковская цепь недетременирована.
Здравствуйте, MaximVK, Вы писали:
MVK>Насколько я помню, в языковых моделях шум на вход не добавляется. MVK>Там случайно выбирается один из сгенерированных токенов, т.е. уже на выходе.
Т.е. шум добавляется на выходе? ))
ХЗ как в языковых, а в генерации изображений и музыки шум добавляют на входе.
V>Если на каждый нейрон подавать еще и шум некоей амплитуды, то будет в точности оно, конечно. V>И есть предположение, что наш моск примерно так и работает.
Лучше колымить в Гондурасе, чем гондурасить на Колыме.
Нет, большие языковые модели (Large Language Models, LLM) и цепи Маркова не являются изоморфными. Хотя оба подхода связаны с моделированием последовательностей и использованием вероятностных переходов, они существенно различаются по своей структуре и возможностям.
Цепи Маркова основаны на так называемом марковском свойстве: вероятность перехода в следующий состояние зависит только от текущего состояния, а не от всей предшествующей последовательности событий. Это означает, что модель учитывает только непосредственное прошлое при прогнозировании будущего.
Большие языковые модели, такие как GPT-4, используют архитектуры глубокого обучения (например, трансформеры) для обработки и генерации текста. Эти модели способны учитывать длинные контексты и сложные зависимости в данных, а не только предыдущий токен или слово. LLM анализирует большую часть или весь предшествующий текст для прогнозирования следующего элемента в последовательности.
Таким образом, из-за различий в структуре, принципах работы и способности учитывать контекст, LLM и цепи Маркова не являются изоморфными.
Здравствуйте, Nuzhny, Вы писали:
V>>ХЗ как в языковых, а в генерации изображений и музыки шум добавляют на входе. N>Генерация изображений работает по другому принципу.
По какому "другому"?
Другому чем что? Что ты себе уже нарисовал в голове?
Здравствуйте, Wolverrum, Вы писали:
W>Глядя на то, как работают языковые модели, не отпускает ощущение, что весь этот формализм лежащий в их основе — не какой-то новый язык или новый математический объект, а все те же скрытые цепи Маркова "вид сбоку".
В философском смысле да, это одно и то же. LLM это история про определение состояний в скрытой цепи маркова (состояния здесь это конкретные сочетания токенов вплоть до длины контекста) и вероятностей переходов между ними путем глубокого обучения на больших данных. Дополнительно LMM оптимизирует схему хранения состояний и вероятностей чтобы не получить комбинаторный взрыв.
Здравствуйте, Miroff, Вы писали:
M>Дополнительно LMM оптимизирует схему хранения состояний и вероятностей чтобы не получить комбинаторный взрыв.
Кстате, хорошее замечание.
Цепи Маркова позволяют прогонять в параллель кучу "рассуждений" по одним и тем же входным данным, сохраняя веса путей цепочек.
Часть рассуждений в процессе может отваливаться (становиться тупиковыми), часть менять свой вес относительно других и т.д.
Здравствуйте, vdimas, Вы писали:
V>Но стоить добавить немного шума к каждому нейрону, и можно получить изоморфную некоторым видам цепей Маркова структуру.
V>Они не изоморфны, конечно, хотя бы из-за того, что ИИ в работе детерминирован. V>Т.е. на один и тот же вход будет давать один и тот же выход.
В смысле? Цепи Маркова задают вероятности перехода, LLM — вероятности токенов (насколько я понимаю) (ну и не обязательно LLM, другие модели тоже могут выдавать вероятности). А дальше семплируешь и получаешь разные траектории цепи или разные ответы от ИИ.
Здравствуйте, σ, Вы писали:
σ>В смысле? Цепи Маркова задают вероятности перехода, LLM — вероятности токенов (насколько я понимаю) (ну и не обязательно LLM, другие модели тоже могут выдавать вероятности). А дальше семплируешь и получаешь разные траектории цепи или разные ответы от ИИ.
Сам алгоритм обсчёта цепи разный. Цепь Маркова — динамическая, для изучения процессов.
ИИ — статическая сеть для чистых вычислений.
Но цепь Маркова может использоваться для анализа работы ИИ, раскидывая вероятность, допустим, состояний узлов/сигналов. Для сеток с обратными связями может выглядеть полезным.