Forwarded from Data Blog
АЕ, АЕ, сегодня про AE aka Autoencoders.
Я уверенно, но чуть медленно продолжаю цикл туториалов, посвященных области explainable AI. Так, уже были разобраны метод Logit Lens на примере ViT, зондирование gpt2, CAM на примере Yolo NAS — всё можно найти по статьям в профиле на Хабр.
В этом, новом туториале, мы разберем идею применения автокодировщиков для анализа и извлечения признаков из скрытых состояний модели.
В процессе, вы:
* Изучите или повторите, как работает извлечение признаков в Visual Transformers;
* Построите и примените автокодировщик для сжатия скрытых представлений, выученных моделью ViT в задаче классификации котиков и собачек;
* Сравните Vit и PCA в данной задаче.
🐥 Залетайте читать! AE — конечно, не SAE и в задачах сложнее лучше использовать именно SAE, но туториал позволит пощупать базовую идею применения энкодеров.
В скором времени надеюсь сделать материал и по SAE!
Хорошей весны!
Ваш Дата Автор!
Я уверенно, но чуть медленно продолжаю цикл туториалов, посвященных области explainable AI. Так, уже были разобраны метод Logit Lens на примере ViT, зондирование gpt2, CAM на примере Yolo NAS — всё можно найти по статьям в профиле на Хабр.
В этом, новом туториале, мы разберем идею применения автокодировщиков для анализа и извлечения признаков из скрытых состояний модели.
В процессе, вы:
* Изучите или повторите, как работает извлечение признаков в Visual Transformers;
* Построите и примените автокодировщик для сжатия скрытых представлений, выученных моделью ViT в задаче классификации котиков и собачек;
* Сравните Vit и PCA в данной задаче.
🐥 Залетайте читать! AE — конечно, не SAE и в задачах сложнее лучше использовать именно SAE, но туториал позволит пощупать базовую идею применения энкодеров.
В скором времени надеюсь сделать материал и по SAE!
Хорошей весны!
Ваш Дата Автор!
Хабр
Сабрина aka sad__sabrina
- Автор и исследователь в области explainable AI.
- Автор и исследователь в области explainable AI.
Сабрина aka sad__sabrina. Опубликовал 13 статей на Хабр и оставил 17 комментариев.
Forwarded from Диджитализируй!
Показал, как я веду базу книг в Obsidian — на этом примере вы научитесь вести базы любых данных в Obsidian, автоматически их анализировать и визуализировать произвольным образом.
Вжух!
YouTube | VK | RuTube | Дзен | Платформа
0:00 Что будем делать
0:47 Коротко об Obsidian
1:19 Метаданные и их использование
2:26 Установка и настройка dataview
3:10 Выборки данных с dataview
6:46 Заведение метаданных
8:57 Использование шаблонов для добавления записей
10:15 Использование метаданных с dataview
13:06 Мякотка — использование dataviewjs
17:10 Произвольная JS-логика в dataviewjs
19:39 Настраиваемая ширина отдельных заметок с CSS
25:08 Пишем свой JS/HTML/CSS для визуализации данных
34:45 Возможности воодушевляют!
36:31 Сложно? Не упарывайтесь, просто пишите заметки!
39:35 Спасибо!
Вжух!
YouTube | VK | RuTube | Дзен | Платформа
0:00 Что будем делать
0:47 Коротко об Obsidian
1:19 Метаданные и их использование
2:26 Установка и настройка dataview
3:10 Выборки данных с dataview
6:46 Заведение метаданных
8:57 Использование шаблонов для добавления записей
10:15 Использование метаданных с dataview
13:06 Мякотка — использование dataviewjs
17:10 Произвольная JS-логика в dataviewjs
19:39 Настраиваемая ширина отдельных заметок с CSS
25:08 Пишем свой JS/HTML/CSS для визуализации данных
34:45 Возможности воодушевляют!
36:31 Сложно? Не упарывайтесь, просто пишите заметки!
39:35 Спасибо!
YouTube
🍑Obsidian / Dataview / JS — базы данных и произвольная визуализация в заметках
0:00 Что будем делать
0:47 Коротко об Obsidian
1:19 Метаданные и их использование
2:26 Установка и настройка dataview
3:10 Выборки данных с dataview
6:46 Заведение метаданных
8:57 Использование шаблонов для добавления записей
10:15 Использование метаданных…
0:47 Коротко об Obsidian
1:19 Метаданные и их использование
2:26 Установка и настройка dataview
3:10 Выборки данных с dataview
6:46 Заведение метаданных
8:57 Использование шаблонов для добавления записей
10:15 Использование метаданных…
Forwarded from Neural Kovalskii
Мы в red_mad_robot реализовали интересный кейс с применением workflow агентов на базе RAG CoT+SO
Переходите читать на Хабр
Раскрыли некоторые технические детали
Переходите читать на Хабр
Раскрыли некоторые технические детали
Хабр
Как AI-агенты ускоряют работу девелопера: автоматизация данных и управление знаниями
Привет! На связи команда NDT by red_mad_robot . Рассказываем, как создавали смарт-платформу с двумя workflow AI-агентами для группы компаний ФСК — одного из крупнейших российских девелоперов. Система...
Forwarded from Унарный код || прунинг
Пост разделен на две части. В первом разделе обсуждается TDA, начиная с вариаций преобразования Фурье для временных рядов с непрерывным значением, в то время как во втором разделе показано, как строить диаграммы постоянства на основе преобразований Уолша-Фурье для категориальных временных рядов.
В этом разделе мы рассмотрим топологические свойства временных рядов через их представления в частотной области, такие как спектры второго порядка. Я строю диаграмму постоянства, используя фильтрацию набора подуровней на основе сглаженной конической оценки спектра второго порядка временного ряда {xₜ, t = 1, …, T}. Модифицированный DFT (Stoffer,1991) и соответствующая периодограмма с сужением представлены на рисунке 1, для t= 1,2,...,T, где ht - функция конусности.
Я использую функцию R
gridDiag для построения диаграмм постоянства для тех же трех сигналов периодического временного ряда, показанных в предыдущей серии постов. В случае 1 spc.t1 обозначает сглаженную конусообразную периодограмму (конусность = 0.1 по умолчанию в спецификации функции R) и сглаживание с помощью модифицированного окна Даниэля (0.25, 0.5, 0.25) временного ряда ts1.# Шаг 1: Регрессия и стандартизация
x.1 <- 1:length(ts1)
ts1 <- lm(ts1 ~ x.1)$residuals
ts1 <- ts1 / sd(ts1)
# Шаг 2: Вычисление спектра
spc.t1 <- spec.pgram(ts1, kernel = kernel("modified.daniell", c(1)), plot = FALSE)
# Шаг 3: Построение диаграммы постоянства
PD.t1 <- gridDiag(FUNvalues = spc.t1$spec, location = FALSE, sublevel = TRUE)$diagram
На втором рисунке в верхнем ряду показаны сигналы временных рядов, в среднем ряду — спектры второго порядка, а в нижнем ряду — диаграммы постоянства. Пики в спектрах приходятся на разные частоты и соответствуют вкладам этих частот в общую дисперсию xₜ. Три диаграммы постоянства в нижнем ряду похожи друг на друга, поскольку этот метод нечувствителен к различиям в периодичности временных рядов.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Унарный код || прунинг
Стоффер предположил, что спектральный анализ Уолша подходит для анализа временных рядов с дискретными и категориальными значениями, а также временных рядов, содержащих резкие разрывы. Построение преобразования Уолша-Фурье использует метод Шанкса для разложения временного ряда {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
Forwarded from Инжиниринг Данных (Dmitry)
Open AI запустил академию, где много разных программ обучения https://academy.openai.com
OpenAI Academy
Unlock the new opportunities of the AI era by equipping yourself with the knowledge and skills to harness artificial intelligence effectively.
Forwarded from Artem Ryblov’s Data Science Weekly
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
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
Такая идея, конечно, не потерялась и в эпоху глубокого обучения. Например, оба главных инструмента современных порождающих моделей для изображений и видео основаны на вариационных приближениях. Вы наверняка слышали о вариационных автокодировщиках, в чьём латентном пространстве до сих пор обычно порождают коды 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
YouTube
СПбГУ -- 2025.04.01 -- Вариационные приближения
Это лекция из курса "Графические вероятностные модели", который читается на Факультете математики и компьютерных наук СПбГУ вместе с двумя другими частями курса машинного обучения -- "Основами байесовского вывода" и "Глубоким обучением". Все материалы этой…
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
если вы углублялись в концепцию полиси градиентов (ппо или рейнфорс например), то сталкивались с вопросом разброса такого обжектива, о чем уже достаточно давно говорят
еще критичнее это становится в относительно дорогих симуляторах (или же вообще непосредственно в реальном мире) с данными “высокого разрешения/точности”: из-за дисперсии надо дольше учиться, дольше гонять симулятор подороже, который еще и больше чувствителен к предиктивным ошибкам
но что если у нас есть возможность получать обедненные данные в бОльшем количестве (иначе смысла нет), так называемых low-fidelity environments, может ли это как-то помочь снизить нам разброс в градиент апдейтах?
и вот авторы смогли примерно что-то такое сделать из такого предположения. полиси обучаются при помощи high- & low-fidelity энвах, при том для обновления на более точных данных используется поправка с контрольной переменной, где вычитается скоррелированное слагаемое из основного приближения полиси градиента. и поскольку обедненная энва предполагает и того же агента, и примерно ту же динамику среды, то корреляцию можно считать выполненной (при том чем выше коррреляция тем сильнее эффект снижения дисперсии что интуитивно понятно)
обучали в такой манере рейнфорс и ппо - по результатам выглядит все довольно вкусно
- в 10 раз меньше можно использовать семплов из более крутой энвы по сравнению с бейзлайнами
- обучение становится стабильнее (просто потому что данных можно побольше нафигачить хоть и качества похуже)
- однако для скоррелированости нужно, чтобы у действий для обоих сред было одинаковое вероятностное пространство, то есть семплить действия в соответствии с одинаковым сидом (для непрерывных действий этому помогает reparametrization trick, для дискретных - Gumbel-max)
однако есть как раз-таки нюанс с вот этим low-fidelity энвами
- в качестве экспериментов обедненные среды делали просто упрощенными версиями таргет сред
- для картпола (который определяется диффуром второго порядка) - линеаризовали динамику
- для муджоко - инвертнули ревард, сохраняли 70%-90% гравитации изначальной среды
и по идее да, это более лайтовые энвы, но например в случае муджоко симуляция получается не прям дешевой-дешевой (из govna конфетку не получить). если же в качестве low-fidelity брать что-то совсем игрушечное, то корреляция между средами (спекулирую) сильно полетит и результаты могут получаться даже хуже бейзлайнов имхо (присказка для future work)
👀LINK