Интересное что-то
517 subscribers
2.72K photos
253 videos
139 files
4.52K links
Материалы и мысли, понадерганные отовсюду
Блог: https://t.me/asisakov_channel
Чат: https://t.me/youknowds_chat
Download Telegram
Часть 2: Преобразования Уолша-Фурье в диаграммы постоянства

Стоффер предположил, что спектральный анализ Уолша подходит для анализа временных рядов с дискретными и категориальными значениями, а также временных рядов, содержащих резкие разрывы. Построение преобразования Уолша-Фурье использует метод Шанкса для разложения временного ряда {xₜ, t = 1, …, T} на последовательность функций Уолша, каждая из которых представляет собой отличительный бинарный шаблон последовательности.

Если длина временного ряда T не равна 2, пусть T₂ обозначает следующую степень 2. Например, если T = 1440, то T₂ = 2¹¹ = 2048. Я использую заполнение нулем для получения временного ряда длиной T₂, установив значение x(T+1), x(T+2), …, x_(T₂) = 0.

Для j = 0, …, T₂ - 1 пусть λⱼ = j/T₂ обозначает j-ю последовательность. Пусть W(t,j) обозначает t-е значение функции Уолша в последовательности λⱼ. Функции Уолша генерируются итеративно следующим образом (Шанкс, 1969), где [a] обозначает целую часть a. Более подробную информацию о функциях Уолша см. в работе Стоффера (1991).

Преобразование Уолша-Фурье (WFT) временного ряда вычисляется как показано на рисунке 4. Вычислительная сложность равна O(T log(T)) (Шанкс, 1969). В примере я иллюстрирую построение диаграммы постоянства для категориального временного ряда с двумя уровнями.

Пример: Преобразование Уолша-Фурье в диаграмму постоянства

На рисунке 5 в первом столбце показан смоделированный категориальный временной ряд длиной T = 120 с двумя уровнями, 0 или 1. Уровень 1 происходит только в период между t = 21 и t = 100. В среднем столбце показан временной интервал, в то время как в третьем столбце показана диаграмма его постоянства. На диаграмме есть одна точка, удаленная от диагональной линии, которая является важной точкой рождения и смерти 0-й гомологической группы. Ниже показан R-код для моделирования временных рядов и преобразования WFT в диаграмму постоянства.

# Создание временного ряда
x.ts <- c(rep(0, 20), rep(1, 80), rep(0, 20))

# WFT
x.diag <- gridDiag(FUNvalues = x.WFTs, location = FALSE, sublevel = TRUE)$diagram
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
MLOps guide by Chip Huyen

A collection of materials from introductory to advanced. This is roughly the path she would follow if she were to start my MLOps journey again.

Table of contents:
- ML + engineering fundamentals
- MLOps
- Overview
- Intermediate
- Advanced
- Career
- Case studies
- Bonus

Link: Guide

Navigational hashtags: #armtutorials
General hashtags: #ml #mlops

@data_science_weekly
Forwarded from Sinекура
Сегодняшние лекции — об одной из центральных тем и этого семестра, и машинного обучения в целом: о вариационных приближениях. Это классическая идея, изначально пришедшая из теоретической физики, но в итоге именно в машинном обучении оказалось всё время нужно приближать очень сложные распределения в пространствах высокой размерности — как правило, апостериорные распределения в сложных вероятностных моделях.

Такая идея, конечно, не потерялась и в эпоху глубокого обучения. Например, оба главных инструмента современных порождающих моделей для изображений и видео основаны на вариационных приближениях. Вы наверняка слышали о вариационных автокодировщиках, в чьём латентном пространстве до сих пор обычно порождают коды text-to-image модели (за GPT-4o, правда, уже не ручаюсь). Главный "секретный соус" VAE — правильная форма регуляризации, которая как раз из вариационной нижней оценки и получается. См. хотя бы мой давний пост в блоге Synthesis AI на эту тему.

Но и диффузионные модели тоже насквозь пронизаны вариационными приближениями: распределения, появляющиеся в процессе обратной диффузии (тот самый denoising), конечно, точно не посчитаешь, там на каждом шаге происходит аппроксимация. Об этом у меня тоже был пост в блоге Synthesis AI.

А вот ещё пара случайных примеров (абсолютно первых попавшихся) недавних интересных статей о вариационных приближениях:
Piriyakulkij et al. (2024) используют диффузионные модели как выразительные приближённые апостериорные распределения в вероятностных моделях со скрытыми переменными;
Sordoni et al. (2023) рассматривают стек из языковых моделей: их Deep Language Network — это два слоя, каждый из которых представляет собой LLM, и выход первой — скрытая переменная, которая как раз вариационным выводом и оптимизируется;
Gong et al. (2025) строят модель со скрытыми переменными для моделирования человеческих предпочтений, которые потом можно использовать для alignment; эти скрытые переменные кодируют факторы, из которых складываются предпочтения, и обучаются они тоже, как обычно со смесями, через вариационную нижнюю оценку.

А в лекциях мы обсудили основную идею и несколько относительно простых примеров. Ну как простых — вариационное приближение для смеси гауссианов уже не так просто построить, но вроде мы по модулю некоторых вычислений справились. Главное — увидели основную магию вариационных приближений: как из предположения о независимости q(Z_1), ..., q(Z_M) сразу получаются и формы распределений в оптимальной аппроксимации, причём оптимальные они не по отдельности, а все вместе, как произведение q(Z) = q(Z_1)...q(Z_M).

https://www.youtube.com/watch?v=848vDVNAnAM
Forwarded from rizzearch
Multi-Fidelity Policy Gradient Algorithms

если вы углублялись в концепцию полиси градиентов (ппо или рейнфорс например), то сталкивались с вопросом разброса такого обжектива, о чем уже достаточно давно говорят

еще критичнее это становится в относительно дорогих симуляторах (или же вообще непосредственно в реальном мире) с данными “высокого разрешения/точности”: из-за дисперсии надо дольше учиться, дольше гонять симулятор подороже, который еще и больше чувствителен к предиктивным ошибкам

но что если у нас есть возможность получать обедненные данные в бОльшем количестве (иначе смысла нет), так называемых low-fidelity environments, может ли это как-то помочь снизить нам разброс в градиент апдейтах?

и вот авторы смогли примерно что-то такое сделать из такого предположения. полиси обучаются при помощи high- & low-fidelity энвах, при том для обновления на более точных данных используется поправка с контрольной переменной, где вычитается скоррелированное слагаемое из основного приближения полиси градиента. и поскольку обедненная энва предполагает и того же агента, и примерно ту же динамику среды, то корреляцию можно считать выполненной (при том чем выше коррреляция тем сильнее эффект снижения дисперсии что интуитивно понятно)

обучали в такой манере рейнфорс и ппо - по результатам выглядит все довольно вкусно

- в 10 раз меньше можно использовать семплов из более крутой энвы по сравнению с бейзлайнами
- обучение становится стабильнее (просто потому что данных можно побольше нафигачить хоть и качества похуже)
- однако для скоррелированости нужно, чтобы у действий для обоих сред было одинаковое вероятностное пространство, то есть семплить действия в соответствии с одинаковым сидом (для непрерывных действий этому помогает reparametrization trick, для дискретных - Gumbel-max)

однако есть как раз-таки нюанс с вот этим low-fidelity энвами

- в качестве экспериментов обедненные среды делали просто упрощенными версиями таргет сред
- для картпола (который определяется диффуром второго порядка) - линеаризовали динамику
- для муджоко - инвертнули ревард, сохраняли 70%-90% гравитации изначальной среды

и по идее да, это более лайтовые энвы, но например в случае муджоко симуляция получается не прям дешевой-дешевой (из govna конфетку не получить). если же в качестве low-fidelity брать что-то совсем игрушечное, то корреляция между средами (спекулирую) сильно полетит и результаты могут получаться даже хуже бейзлайнов имхо (присказка для future work)

👀LINK
Наша статья принята на SIGIR (конференция уровня A*) 2025 🎉!

Мы долго шли к этому моменту - и вот, наконец, наша с коллегами статья принята на SIGIR 2025, международную конференцию в Италии 🇮🇹! Это уже третья итальянская конференция за год, куда нам посчастливилось пройти.

SIGIR
(Special Interest Group on Information Retrieval) — по данным Вики, проводится с 1978 года. Конференция в целом посвящена информационному поиску: обычный поиск, рекомендательные системы, ответы на вопросы по базам знаний и т. д.

Наша статья посвящена новому способу диверсификации (= внесения разнообразия) в выдачах. Он был придуман из практических соображений, после того как мы попробовали хорошо известные MMR и DPP. Про статью и наш метод напишу после публикации, пока же — пару мыслей про диверсификацию.

Откуда возникает потребность в диверсификации?

Представим, что у нас есть бустинг-ранкер, который ранжирует айтемы и формирует финальную выдачу. Скорее всего, важными окажутся следующие признаки:

1) Схожесть пользователя с айтемом.
2) Схожесть + счётчики взаимодействий между пользователем и категорией/жанром/типом айтема.
3) Схожесть + счётчики взаимодействий между кластером пользователя (соцдемом/другим) и категорией/жанром/типом айтема.
4) Счётчики по категории/жанру/типу айтема.

Пусть среди айтемов-кандидатов есть 300 смартфонов. Тогда все 4 типа признаков у этих 300 телефонов будут примерно одинаковы! И если ранкер присвоит хоть одному смартфону высокий скор, то и остальным 299 смартфонам придётся выставить столь же высокие скоры (если другие группы фичей не позволят их различать).

Теперь представим, что мы играем с пользователем в «Поле чудес». Пользователь загадывает слово (где буквы — его интересы), а мы угадываем его, предлагая айтемы в ленте. В этом случае лента с 300 смартфонами без диверсификации — это как если бы мы называли одну и ту же букву снова и снова. Даже если пользователь говорит «нет» (= не взаимодействует с ними), мы продолжаем предлагать ему ту же самую «букву». Чтобы использовать попытки разумнее, можно попробовать назвать что-то менее вероятное, но зато другое. Тогда шанс угадать вырастет.

В целом, MMR и DPP — это эвристики, которые помогают «играть» в эту игру эффективнее, если у нас есть оценки релевантности айтемов и функции сходства между ними. Без таких эвристик система может составлять ленту из полностью однотипного контента, потому что обычно скоры рекомендаций рассчитываются для каждого айтема независимо. Когда модель рекомендует смартфон на 50-й позиции, она не знает, что выше уже было 49 смартфонов, и поэтому всё так же уверена, что 50-му нужно присвоить высокий скор.

Кому интересно копнуть чуть глубже в моделирование для автоматической диверсификации - советую прочитать статью 2024 года от LinkedIn и статью про Generative Next-Basket Recommendation от Tencent (постер скину в комментариях). Однако на практике, кажется, пока не существует хорошего автоматического диверсификатора, который был бы широко распространён и не являлся бы эвристикой.
Forwarded from Синтографист
Превратите любой текст в умные, действенные заметки . Идеально подходит для студентов, исследователей и профессионалов, которым нужно быстро извлечь ценность.

Основные характеристики

📝 Анализируйте тексты любой длины (статьи, отчеты, стенограммы)
🚀 Создавайте неограниченное количество заметок с помощью ИИ
🔍 Интеллектуальное обнаружение ключевых слов и выделение контекста
📂 Экспорт в форматах Markdown, JSON и Text
Приоритетный доступ к поддержке
🎯 Почему вам это понравится

Студенты: «Погружены в учебу? Text2Note быстро схватывает ключевые концепции».
Юристы: «Каждая строка имеет решающее значение? Мы отмечаем прецеденты и обязательные к знанию пункты».
Разработчики: «Документация раздута? Мгновенно извлекает спецификации API и фрагменты кода».
Дизайнеры: «Интервью пользователя — это беспорядок? Выявляет скрытые болевые точки».
Исследователи: «Тонем в статьях? Вытаскиваем методологии и выводы».
Умные заметки, никаких усилий. Просто вставьте и вперед. text2note.com
Forwarded from РИСЕРЧОШНАЯ
YouTube выкинул item ID и поднял качество рекомендаций. Почему это сработало?

Недавно наткнулся на статью с RecSys 2024 — Better Generalization with Semantic IDs. Ребята из Google Research разобрали, как улучшить рекомендательные системы, чтобы они не тупили на новых или редких объектах.

📥 Проблема старая, как мир
Обычно в РС каждому видео или товару дают случайный ID — просто номерок, за которым стоит эмбеддинг. Модель запоминает, что популярно, и круто ранжирует хиты. Но стоит появиться новому видео или нишевому контенту — всё, привет, она теряется. Почему? Потому что ID ничего не говорит о смысле: два похожих ролика для модели — как чужие. Плюс таблицы эмбеддингов раздуваются до миллиардов строк, а хеширование ID в кучу только добавляет шума.

😊 Что придумали?
Авторы предложили Semantic IDs — коды, которые не просто числа, а отражают содержание. Берут контент видео (аудио, картинку), прогоняют через нейронку (VideoBERT), получают вектор, а потом сжимают его в 8 коротких кодов с помощью RQ-VAE. Главное — похожие видео получают похожие коды. Например, два ролика про котиков будут частично совпадать, и модель это поймет.

Сначала коды генерят и замораживают, а потом пихают в ранжирующую модель YouTube. Есть два варианта: разбить коды на кусочки (N-граммы) или сделать умное разбиение через SentencePiece (SPM). SPM оказался круче — он сам решает, где склеить частые комбинации, а где оставить детали для редких видео.

Тестили на миллиардах видео YouTube. Обычные контентные эмбеддинги без ID провалились — модель забыла популярное. А вот Semantic IDs дали прирост: новые видео (cold-start) стали ранжироваться лучше, редкие тоже, а хиты не пострадали. SPM вообще показал себя звездой — гибко балансирует между запоминанием и обобщением.

Что это значит?
С такими ID модель не просто зубрит, а понимает связи между контентом. Новое видео про котиков сразу подхватывает опыт старых — и в топ! Плюс экономия памяти: вместо миллиардов эмбеддингов — тысячи осмысленных кодов. Масштабируется на ура.

🌸 Куда дальше?
Можно прикрутить это к профилям юзеров, улучшить кодировщик или даже замиксовать с генеративными рекомендациями. Короче, будущее РС — за умными ID, которые не просто цифры, а смысл.

➡️ Статья тут

Что думаете, зайдет такой подход в реальной жизни?

#RESEARCH #RECSYS
Please open Telegram to view this post
VIEW IN TELEGRAM
Что самое главное в b2c маркетинге? 💻

Как вы наверное заметили, я не маркетолог 😅 Но в стартапе иногда приходится делать все и сразу, поэтому сейчас я занимаюсь в том числе этим направлением. Мой подход довольно фундаментальный - я верю, что везде, и в кодинге, и в маркетинге должна быть система и фреймворк, а не "я так чувствую" или "делаю по опыту" особенно когда этого опыта нет 🐵

👀 Поэтому чем больше изучаю эту тему, общаюсь с другими фаундерами, CPO и CMO, тем больше убеждаюсь, что самое важное - это не бюджет и не количество креаторов, а:

- Четкое понимание ценности продукта для пользователей
- Трендвотчинг


Если с первым все индивидуально и требует глубокого погружения в продукт, то со вторым есть общий фреймворк, который значительно снижает рандомность и помогает привлекать именно ту аудиторию, которая вам нужна. И это работает на любой площадке: инста, тик ток, шортс, что угодно 🙂

Лично мне невероятно помогла разобраться в этой теме Саша - наш эдвайзор по маркетингу, которая умеет разложить все по полочкам: от трендвотчинга до стратегий роста. Сейчас у нее небольшое агентство, и она фокусируется на стартапах, выходящих на US и Европу.

Например, для американского бьюти-бренда с фаундером из снг она разработала коммуникационную стратегию, которая попала прямо в сердце аудитории: себестоимость контента снизилась в 3 раза, а один из роликов набрал 55М просмотров ⚡️

Если вы ищете мощную экспертизу в маркетинге, трендвотчинге и стратегиях роста на западные рынки, очень рекомендую обратиться к Саше 😎

Кстати, а вот и тот самый гайд по трендвотчингу 🤝
Please open Telegram to view this post
VIEW IN TELEGRAM