Forwarded from Onigiri
Я нагенерировал много картинок через новую мультимодальную генерацию GPT, посмотрел, как генерируют другие, какие промты используют, что-то адаптировал, что-то придумал сам. Вот, делюсь интересным:
1. Генерируем превью для ютуб-видео:
2. Инфографика:
Примерно тот же промт. Интересно, что GPT выдумало Mandelbreich, но он так хорошо вписывается, как будто и правда такой фрактал есть.
3. Превращаем фотку в постер к фильму:
4. Генерируем карточки для игры:
Покажу на примере Magic The Gathering: сначала я написал GPT
А затем полученный ответ добавил после промта:
5. Генерируем фотку с надписью:
Сами промты можно писать как на английском, так и на русском, но на русском GPT иногда делает опечатки в тексте на картинке, поэтому немного лучше сначала писать на английском, а потом можно просто попросить перевести картинку на русский, если нужно. Либо еще можно написать весь конкретный текст на русском в кавычках, кажется, что так получается лучше
1. Генерируем превью для ютуб-видео:
A fun colorful youtube thumbnail for a video about making an onigiri in 3D. Something fun and attention grabbing, that would work well as a viral organic video.2. Инфографика:
Примерно тот же промт. Интересно, что GPT выдумало Mandelbreich, но он так хорошо вписывается, как будто и правда такой фрактал есть.
A fun colorful infographic showcasing different fractals. Something fun and attention grabbing, that would work well as a social media viral organic post.3. Превращаем фотку в постер к фильму:
A movie poster of a new Hollywood Movie called Big Floppa, a heroic cat (from image) saving the world from disaster.4. Генерируем карточки для игры:
Покажу на примере Magic The Gathering: сначала я написал GPT
Придумай карту для Magic the Gathering про кота Big Floppa. Он должен быть легендарным, и у него способность будет создавать токены креветок, которыми можно лечить существ. Напиши его описание на английском.А затем полученный ответ добавил после промта:
Make an image of a trading card in the style of Magic the Gathering. The card title should be "Big Floppa". Here is a suggestion for its inner contents:5. Генерируем фотку с надписью:
A dark, low quality phone camera photo of a fat cat staring at the camera in a backyard on a stone patio at night, with a snapchat caption reading "Нейросеть бы такое не нарисовала"Сами промты можно писать как на английском, так и на русском, но на русском GPT иногда делает опечатки в тексте на картинке, поэтому немного лучше сначала писать на английском, а потом можно просто попросить перевести картинку на русский, если нужно. Либо еще можно написать весь конкретный текст на русском в кавычках, кажется, что так получается лучше
Forwarded from Machine learning Interview
OpenAI запустила "Академию OpenAI", которая претендует на роль главного учебника по ИИ. Платформа поможет освоить нейросети, понять их возможности и научиться эффективно использовать ChatGPT и Sora в повседневной жизни и работе.
▪ Обширная база обучающих материалов доступна на отдельном сайте.
▪ Живые трансляции и офлайн-мероприятия помогут глубже разобраться в технологиях.
▪ Бесплатный доступ — OpenAI стремится расширить аудиторию, а не ограничивать её ценником.
📌Начать обучение
📌 Блог
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Machine learning Interview
🔥 Пошаговый гайд создания системы автоматического распознавания речи с помощью PyTorch и Hugging Face
С эти гайдом вы сможете:
- Загружать и обрабатывать речь данные
- Настраивать предварительно обученную модель Wav2Vec2
- Оценивать производительность модели с помощью коэффициента ошибок слов (WER)
- Развертывать модель для перевода речи в текст в режиме реального времени
🔗 Читать
С эти гайдом вы сможете:
- Загружать и обрабатывать речь данные
- Настраивать предварительно обученную модель Wav2Vec2
- Оценивать производительность модели с помощью коэффициента ошибок слов (WER)
- Развертывать модель для перевода речи в текст в режиме реального времени
🔗 Читать
Forwarded from Борис_ь с ml
У верблюда два горба, потому что жизнь - борьба...
#иб_для_ml
Таквозможно сказал Николас Карлини, так как сегодня вышла статья с его соавторством "🐫 Defeating Prompt Injections by Design". Остальной авторский коллектив этой статьи тоже серьезный - исследователи из Google и ETH Zurich.
Система защиты CaMeL
В этой работе представлена система защиты ИИ-агентов от промпт-атак CaMeL (расшифровывается как CApabilities for MachinE Learning). Основывается она на двухгорбах LLM (Priveleged и Quarantined) и специальном интерпретаторе языка Python. По сути, эта методика вытаскивает логику действий агента в явную плоскость, заставляя программу "написать свой код", к которой благодаря кастомному интерпретатору применятся все ограничения безопасности.
Область применения и ограничения
CaMeL, в первую очередь, нацелен на предотвращение несанкционированных действий ИИИ-агентов, которые могут привести к утечкам данных, или использованию данных из ненадежных источников. Однако он совершенно не предназначен для защиты от атак, не влияющих на порядок действий агента или поток данных (например, от фишинга, или изменения содержания сгенерированного текста). Поэтому как компонент системы безопасности ИИ-агентов это решение может быть полезно, но не выполнит ее роль полностью.
Алгоритм работы CaMeL
1. Поступление запроса пользователя: Пользователь формулирует запрос на естественном языке, например, "Отправь Бобу документ, который он просил на прошлой встрече".
2. Генерация кода: Privileged LLM (P-LLM), которой доверяют, берет запрос пользователя и генерирует псевдо-код на Python, который выражает намерения пользователя. Важно, что P-LLM видит только запрос пользователя, но не данные из ненадежных источников (например, содержимое файлов).
3. Интерпретация кода: Созданный код обрабатывается CaMeL Interpreter, который:
— Строит граф потока данных (data flow graph), отслеживая зависимости между переменными.
— Проверяет политики безопасности на основе capabilities (некоторых метаданных, присвоенных различным объектам информации), определяя, какие действия разрешены.
— Выполняет код, вызывая инструменты (например, для отправки email) или блокирует выполнение, если нарушается политика безопасности.
— Использует Quarantined LLM (Q-LLM) для обработки ненадежных данных, таких как извлечение информации из текста.
4. Применение политик безопасности: перед выполнением каждого инструмента агента, CaMeL Interpreter применяет политики безопасности, основанные на capabilities данных. Если политика нарушена, выполнение блокируется, и пользователю может быть запрошено подтверждение.
Что такое capabilities и security policies?
Capabilities — это метаданные (теги), присваиваемые каждому отдельному объекту данных для описания контроля и взаимосвязей потока данных. Capabilities определяют, кому разрешено читать данную часть данных или ее происхождение. Перевести на русский можно как "метки доступа". В статье не указывается их полное содержание, но раскрываются два главных элемента:
— разрешенные читатели (public, или перечень конкретных пользователи),
— происхождение данных (user, camel, inner tool source). С user понятно, camel - порожденные кодом данные, inner tool source - поступившие из инструмента данные, например отправителя полученного email сообщения.
Security policies - код функций на python, в которых реализуются политики безопасности. Например, если данные происходят из недоверенного источника, ответ прерывается. Или если у пользователя нет разрешения на запрошенную информацию, ответ прерывается.
В общем, конечно же интересно увидеть, что будет дальше, так что продолжим следить за работами этих ученых)
#иб_для_ml
Так
Система защиты CaMeL
В этой работе представлена система защиты ИИ-агентов от промпт-атак CaMeL (расшифровывается как CApabilities for MachinE Learning). Основывается она на двух
Область применения и ограничения
CaMeL, в первую очередь, нацелен на предотвращение несанкционированных действий ИИИ-агентов, которые могут привести к утечкам данных, или использованию данных из ненадежных источников. Однако он совершенно не предназначен для защиты от атак, не влияющих на порядок действий агента или поток данных (например, от фишинга, или изменения содержания сгенерированного текста). Поэтому как компонент системы безопасности ИИ-агентов это решение может быть полезно, но не выполнит ее роль полностью.
Алгоритм работы CaMeL
1. Поступление запроса пользователя: Пользователь формулирует запрос на естественном языке, например, "Отправь Бобу документ, который он просил на прошлой встрече".
2. Генерация кода: Privileged LLM (P-LLM), которой доверяют, берет запрос пользователя и генерирует псевдо-код на Python, который выражает намерения пользователя. Важно, что P-LLM видит только запрос пользователя, но не данные из ненадежных источников (например, содержимое файлов).
3. Интерпретация кода: Созданный код обрабатывается CaMeL Interpreter, который:
— Строит граф потока данных (data flow graph), отслеживая зависимости между переменными.
— Проверяет политики безопасности на основе capabilities (некоторых метаданных, присвоенных различным объектам информации), определяя, какие действия разрешены.
— Выполняет код, вызывая инструменты (например, для отправки email) или блокирует выполнение, если нарушается политика безопасности.
— Использует Quarantined LLM (Q-LLM) для обработки ненадежных данных, таких как извлечение информации из текста.
4. Применение политик безопасности: перед выполнением каждого инструмента агента, CaMeL Interpreter применяет политики безопасности, основанные на capabilities данных. Если политика нарушена, выполнение блокируется, и пользователю может быть запрошено подтверждение.
Что такое capabilities и security policies?
Capabilities — это метаданные (теги), присваиваемые каждому отдельному объекту данных для описания контроля и взаимосвязей потока данных. Capabilities определяют, кому разрешено читать данную часть данных или ее происхождение. Перевести на русский можно как "метки доступа". В статье не указывается их полное содержание, но раскрываются два главных элемента:
— разрешенные читатели (public, или перечень конкретных пользователи),
— происхождение данных (user, camel, inner tool source). С user понятно, camel - порожденные кодом данные, inner tool source - поступившие из инструмента данные, например отправителя полученного email сообщения.
Security policies - код функций на python, в которых реализуются политики безопасности. Например, если данные происходят из недоверенного источника, ответ прерывается. Или если у пользователя нет разрешения на запрошенную информацию, ответ прерывается.
В общем, конечно же интересно увидеть, что будет дальше, так что продолжим следить за работами этих ученых)
Forwarded from Находки в опенсорсе
PEP765: больше никакой грязи в finally
Ссылка на PEP: https://peps.python.org/pep-0765
Одна из самых сломанных частей питона была пофикшена в 3.14
В чем проблема?
Ранее такой код вел себя крайне странно:
Так как из функции может быть только один
Или такой код:
Тут вообще жесть. У нас подавляется исключение без
Аналогично можно делать не только с
Такой код позволял создавать ошибки на ровном месте.
Как исправили?
Теперь такой код генерирует
Скоро – будет
Но, WPS, например, запрещал такое делать уже очень давно.
Как работает?
Сам патч очень маленький и простой:
1. Добавляет список текущего контекста
Храним внутри структуры вида:
2. При обходе дерева, добавляет нужные данные в текущий контекст: находимся ли мы в
3. Если находим
4. Внутри
Готово!
Обсуждение: вы знали про такую проблему? Стреляли так себе в ногу?
P.S. Пока писал пост, нашел багу в питоне и важную опечатку :)
| Поддержать | YouTube | GitHub | Чат |
Ссылка на PEP: https://peps.python.org/pep-0765
Одна из самых сломанных частей питона была пофикшена в 3.14
В чем проблема?
Ранее такой код вел себя крайне странно:
>>> def some():
... try:
... return 1
... finally:
... return 2
>>> some()
2
Так как из функции может быть только один
return, а код в finally всегда выполняется – то получаем, что получаем.Или такой код:
>>> def other():
... try:
... 1 / 0
... finally:
... return 2
>>> other()
2
Тут вообще жесть. У нас подавляется исключение без
except 🫠Аналогично можно делать не только с
return, но и с break / continue в циклах:
>>> def cycle():
... for i in range(2):
... try:
... i / 0
... finally:
... print(i)
... continue
... return 2
>>> cycle()
# prints: 0
# prints: 1
# returns: 2
Такой код позволял создавать ошибки на ровном месте.
Как исправили?
Теперь такой код генерирует
SyntaxWarning в 3.14:
>>> def some():
... try:
... return 1
... finally:
... return 2
<python-input-14>:5: SyntaxWarning: 'return' in a 'finally' block
Скоро – будет
SyntaxError, в будущих версиях.Но, WPS, например, запрещал такое делать уже очень давно.
Как работает?
Сам патч очень маленький и простой:
1. Добавляет список текущего контекста
_Py_c_array_t cf_finally; в ast_opt.cХраним внутри структуры вида:
typedef struct {
bool in_finally; // мы в `finally`?
bool in_funcdef; // мы в `def` или `async def`?
bool in_loop; // мы в `for`, `async for` или `while`?
} ControlFlowInFinallyContext;
2. При обходе дерева, добавляет нужные данные в текущий контекст: находимся ли мы в
finally, функции, цикле3. Если находим
return, break или continue, то выполняем проверку синтаксиса; вот код для return:
static int
before_return(_PyASTOptimizeState *state, stmt_ty node_)
{
if (state->cf_finally_used > 0) {
ControlFlowInFinallyContext *ctx = get_cf_finally_top(state);
// если нашли `return` в `finally`, но не во вложенной функции,
// то показываем warning пользователю:
if (ctx->in_finally && ! ctx->in_funcdef) {
if (!control_flow_in_finally_warning("return", node_, state)) {
return 0;
}
}
}
return 1;
}
4. Внутри
control_flow_in_finally_warning используем специальное АПИ для SyntaxWarning:
static int
control_flow_in_finally_warning(const char *kw, stmt_ty n, _PyASTOptimizeState *state)
{
PyObject *msg = PyUnicode_FromFormat("'%s' in a 'finally' block", kw);
if (msg == NULL) {
return 0;
}
int ret = _PyErr_EmitSyntaxWarning(msg, state->filename, n->lineno,
n->col_offset + 1, n->end_lineno,
n->end_col_offset + 1);
Py_DECREF(msg);
return ret < 0 ? 0 : 1;
}
Готово!
Обсуждение: вы знали про такую проблему? Стреляли так себе в ногу?
P.S. Пока писал пост, нашел багу в питоне и важную опечатку :)
| Поддержать | YouTube | GitHub | Чат |
Forwarded from Valuable AI / Валентин Малых
новая работа про токенизацию - SuperBPE - наводит на меня мысли о том, что история развивается по спирали; своим студентам я на первой лекции рассказываю про словосочетания (Multi-Word Expression), которые можно выделять из текста статистически; а потом использовать, например, для лучшего представления в TF-IDF (придуман в 1970-е)
прошло 50 лет, наши представления о токенизации сильно изменились, особенно в 2015 году, с адаптацией алгоритма сжатия ZIP к токенизации (это, собственно, и есть BPE), и теперь мы вышли на новый круг, чтобы снова учитывать словосочетания в токенизации...
прошло 50 лет, наши представления о токенизации сильно изменились, особенно в 2015 году, с адаптацией алгоритма сжатия ZIP к токенизации (это, собственно, и есть BPE), и теперь мы вышли на новый круг, чтобы снова учитывать словосочетания в токенизации...
Forwarded from DLStories
С 2022 по 2023 годы я вела в МГУ курс по основам AI. У курса был формат, где на каждом занятии был один jupyter notebook с теорией и практикой, и мы по нему шли. Курс я уже не веду, но ноутбуки у меня остались, и мне нравится, как я их сделала. И у меня была мысль перевести их на английский, немного дополнить, причесать и выложить на GitHub как открытый курс "DL Intro". И я даже потихоньку начала это делать, вот репозиторий, там уже есть первые два урока (Intro to NN, PyTorch, Backprop).
Но вот недавно я думала о том, какой рисерч делать дальше после недавней статьи (статья кстати вот, чуть позже о ней тоже напишу), и мне стало интересно исследовать многообразия, которые составляют векторы-выходы разных слоев диффузионной модели. Я начала читать статьи и думать над тем, как вообще такое делают, и в итоге залезла куда-то в дифференциальную геометрию. И тут ко мне пришла очень гениальная мысль: а что если спросить у GPT объяснить мне то, что я не понимаю? Или спросить что-то типа "вот я хочу вот это понять про многообразие, могу ли я это сделать и как?"
Тут если вам кажется, что эта мысль ничерта не гениальна и все делают так каждый день, то я до этого момента GPT не использовала вообще. Ну, 3-4 раза за все время, может, и по каким-то совсем отвлеченным поводам. Чувстсвую себя бабкой, честное слово))
Так вот, на мои эти вопросы GPT выдала очень классные саммари и предложения, и для некоторых вещей даже код написала (и даже почти совсем правильный). И если веруться к разговору про курс: теперь я думаю о том, что, возможно, с помощью GPT можно довольно быстро собрать неплохой такой курс по чему угодно. Так-то объяснения по диффгеому GPT выдавала понятные и достаточно развернутые, а если чего-то не хватает, то можно попросить пояснить. И теперь думаю о том, насколько усилия по составлению курсов людьми из головы становятся оправданы)
Думаю, что этот курс я все-таки доделаю и выложу (снова, вот ссылка, буду рада звездочкам🙃 ), все же ноутбуки у меня в основном готовы, нужно их только причесать. Но в то же время пойду понимать, на что способна GPT, у меня теперь есть подписка на GPT и Claude, буду их мучить. Все-таки преподавание — это значительная часть моей работы, которую я люблю и хочу развивать, и хочется понимать, как делать эту работу лучше и быстрее. И не делать того, что можно не делать. Правда, в создании курсов я перфекционист, мне редко нравятся чужие объяснения, и я очень долго продумываю свои. Но посмотрим, может, GPT справится и удивит меня еще больше) Пока думаю, что, как минимум, в качестве помощника в составлении общей структуры курса и поиска дополнительных материалов GPT точно должна быть полезна.
Но вот недавно я думала о том, какой рисерч делать дальше после недавней статьи (статья кстати вот, чуть позже о ней тоже напишу), и мне стало интересно исследовать многообразия, которые составляют векторы-выходы разных слоев диффузионной модели. Я начала читать статьи и думать над тем, как вообще такое делают, и в итоге залезла куда-то в дифференциальную геометрию. И тут ко мне пришла очень гениальная мысль: а что если спросить у GPT объяснить мне то, что я не понимаю? Или спросить что-то типа "вот я хочу вот это понять про многообразие, могу ли я это сделать и как?"
Тут если вам кажется, что эта мысль ничерта не гениальна и все делают так каждый день, то я до этого момента GPT не использовала вообще. Ну, 3-4 раза за все время, может, и по каким-то совсем отвлеченным поводам. Чувстсвую себя бабкой, честное слово))
Так вот, на мои эти вопросы GPT выдала очень классные саммари и предложения, и для некоторых вещей даже код написала (и даже почти совсем правильный). И если веруться к разговору про курс: теперь я думаю о том, что, возможно, с помощью GPT можно довольно быстро собрать неплохой такой курс по чему угодно. Так-то объяснения по диффгеому GPT выдавала понятные и достаточно развернутые, а если чего-то не хватает, то можно попросить пояснить. И теперь думаю о том, насколько усилия по составлению курсов людьми из головы становятся оправданы)
Думаю, что этот курс я все-таки доделаю и выложу (снова, вот ссылка, буду рада звездочкам
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from gonzo-обзоры ML статей
Intuitive physics understanding emerges from self-supervised pretraining on natural videos
Quentin Garrido, Nicolas Ballas, Mahmoud Assran, Adrien Bardes, Laurent Najman, Michael Rabbat, Emmanuel Dupoux, Yann LeCun
Статья: https://arxiv.org/abs/2502.11831
Код: https://github.com/facebookresearch/jepa-intuitive-physics
Развитие темы про JEPA, world models и выучивание интуитивной физики из видео.
Интуитивная физика — довольно важный аспект нашей жизни и мышления. Мы ожидаем определённого поведения от объектов — что они не исчезают внезапно, не проходят через препятствия и не меняют произвольно цвета и формы. Подобные способности задокументированы не только у детёнышей человека, но и у приматов, морских млеков, врановых и так далее. Многие AI системы, превосходящие человеческий уровень в языковых или математических задачах, беспомощны в задачах, с которыми справится кошка, иллюстрируя парадокс Моравека.
Люди делали разные подходы к снаряду. Есть структурированные модели с вручную закодированными правилами про репрезентации разных объектов и их отношений. Есть пиксельные генеративные модели, занимающиеся реконструкцией будущих сенсорных входов по прошлым. Текущая работа исследует третий класс моделей, являющихся срединным путём между первыми двумя — собственно Лекуновскую JEPA, Joint Embedding Predictive Architectures (https://openreview.net/pdf?id=BZ5a1r-kVsf).
JEPA мы так и не разобрали, но в двух словах её идея в том, что предсказание надо делать не в пиксельном или ещё каком финальном пространстве, а в выученных внутренних абстрактных репрезентациях. В этом она близка к структурированным моделям. Но в отличие от них, ничего не кодируется, всё выучивается. В JEPA входные данные x (например, пиксели изображения) кодируются энкодером во внутреннюю репрезентацию Enc(x), далее предиктор делает предсказание репрезентации будущего входа y, возможно учитывая какую-то латентную переменную z, влияющую на предсказание (например, выбранное действие какого-то объекта в случае видео), и этот результат сравнивается с реальной репрезентацией следующего входа, Enc(y). Это, кстати, довольно сильно перекликается с другими моделями, например BYOL (https://t.me/gonzo_ML/562), там наличие отдельного предиктора тоже было очень важным для предотвращения коллапса. Энкодеры для x и y могут быть и разными. Преимущество в том, что не надо предсказывать каждую деталь выходного объекта y (с точностью до пикселя), ибо на этом уровне может быть очень много вариантов, разница между которыми не так важна.
JEPA не генеративная модель, она не может легко предсказывать y из x. У JEPA есть несколько развитий: Hierarchical JEPA (H-JEPA, тоже из оригинальной статьи), Image-based JEPA (I-JEPA, https://arxiv.org/abs/2301.08243), Video-JEPA (V-JEPA, https://arxiv.org/abs/2404.08471) и её свежий вариант Video JEPA with Variance-Covariance Regularization (VJ-VCR, https://arxiv.org/abs/2412.10925) — помните VICReg (https://t.me/gonzo_ML/590)?
В текущей работа исследуется V-JEPA, расширение модели на работу с видео и предсказание замаскированных частей кадров. В такой модели можно проверять выучивание интуитивной физики через фреймворк violation-of-expectation, получая меру несоответствия между предсказанием и реальным видео через измерение полученного “сюрприза”. Так же оценивают это и у живых существ (например, они дольше задерживают взгляд на неожиданных исходах).
V-JEPA точно так же как и обычная JEPA включает в себя энкодер и предиктор, оба нейросетевые. Энкодер строит репрезентацию видео, предиктор предсказывает репрезентацию искусственно замаскированной части видео.
Quentin Garrido, Nicolas Ballas, Mahmoud Assran, Adrien Bardes, Laurent Najman, Michael Rabbat, Emmanuel Dupoux, Yann LeCun
Статья: https://arxiv.org/abs/2502.11831
Код: https://github.com/facebookresearch/jepa-intuitive-physics
Развитие темы про JEPA, world models и выучивание интуитивной физики из видео.
Интуитивная физика — довольно важный аспект нашей жизни и мышления. Мы ожидаем определённого поведения от объектов — что они не исчезают внезапно, не проходят через препятствия и не меняют произвольно цвета и формы. Подобные способности задокументированы не только у детёнышей человека, но и у приматов, морских млеков, врановых и так далее. Многие AI системы, превосходящие человеческий уровень в языковых или математических задачах, беспомощны в задачах, с которыми справится кошка, иллюстрируя парадокс Моравека.
Люди делали разные подходы к снаряду. Есть структурированные модели с вручную закодированными правилами про репрезентации разных объектов и их отношений. Есть пиксельные генеративные модели, занимающиеся реконструкцией будущих сенсорных входов по прошлым. Текущая работа исследует третий класс моделей, являющихся срединным путём между первыми двумя — собственно Лекуновскую JEPA, Joint Embedding Predictive Architectures (https://openreview.net/pdf?id=BZ5a1r-kVsf).
JEPA мы так и не разобрали, но в двух словах её идея в том, что предсказание надо делать не в пиксельном или ещё каком финальном пространстве, а в выученных внутренних абстрактных репрезентациях. В этом она близка к структурированным моделям. Но в отличие от них, ничего не кодируется, всё выучивается. В JEPA входные данные x (например, пиксели изображения) кодируются энкодером во внутреннюю репрезентацию Enc(x), далее предиктор делает предсказание репрезентации будущего входа y, возможно учитывая какую-то латентную переменную z, влияющую на предсказание (например, выбранное действие какого-то объекта в случае видео), и этот результат сравнивается с реальной репрезентацией следующего входа, Enc(y). Это, кстати, довольно сильно перекликается с другими моделями, например BYOL (https://t.me/gonzo_ML/562), там наличие отдельного предиктора тоже было очень важным для предотвращения коллапса. Энкодеры для x и y могут быть и разными. Преимущество в том, что не надо предсказывать каждую деталь выходного объекта y (с точностью до пикселя), ибо на этом уровне может быть очень много вариантов, разница между которыми не так важна.
JEPA не генеративная модель, она не может легко предсказывать y из x. У JEPA есть несколько развитий: Hierarchical JEPA (H-JEPA, тоже из оригинальной статьи), Image-based JEPA (I-JEPA, https://arxiv.org/abs/2301.08243), Video-JEPA (V-JEPA, https://arxiv.org/abs/2404.08471) и её свежий вариант Video JEPA with Variance-Covariance Regularization (VJ-VCR, https://arxiv.org/abs/2412.10925) — помните VICReg (https://t.me/gonzo_ML/590)?
В текущей работа исследуется V-JEPA, расширение модели на работу с видео и предсказание замаскированных частей кадров. В такой модели можно проверять выучивание интуитивной физики через фреймворк violation-of-expectation, получая меру несоответствия между предсказанием и реальным видео через измерение полученного “сюрприза”. Так же оценивают это и у живых существ (например, они дольше задерживают взгляд на неожиданных исходах).
V-JEPA точно так же как и обычная JEPA включает в себя энкодер и предиктор, оба нейросетевые. Энкодер строит репрезентацию видео, предиктор предсказывает репрезентацию искусственно замаскированной части видео.
Forwarded from This is Data
Прежде чем искать подвох в данных, стоит понимать работу собственного процессора. Когнитивные искажения — это систематические ошибки в восприятии и мышлении во время обработки информации. Они ведут к ложным суждениям, основывающимся на личных предпочтениях и эмоциях, а не на объективных данных.
Одним из искажений мозга называют предвзятость подтверждения (Confirmation bias). Это склонность замечать доказательства собственной точки зрения и игнорировать данные, которые ей противоречат.
Допустим, дата-аналитик берется за задачу определить, какой канал привлечения клиентов наиболее эффективен. Он считает, что это соцсети. Убеждение искажает изначальную гипотезу в голове аналитика. Неосознанно он ставит задачу доказать, что соцсети эффективнее других каналов.
Дальнейшие действия заведомо необъективны. Он выбирает ключевые метрики, которые могли бы выявить преимущества соцсетей, и собирает исторические данные только за период, когда соцсети были особенно успешны. В итоге компания направляет больше средств в соцсети, не зная реальной рентабельности каждого канала.
Реальность многогранна. Мозг не в состоянии обработать всю информацию о мире. Чтобы не сойти с ума, он научился на основе кусочков данных формировать обобщающие убеждения. Они работают как фильтры, через которые информация попадает (или не попадает) в мозг на обработку. Предвзятость — не бага, а фича, экономящая время и энергию. Но то, что помогает выживать, мешает анализировать данные.
Чтобы быть менее предвзятым, попробуй:
1️⃣ Четко сформулировать вопрос бизнеса, гипотезу и цель сбора данных. Выработай привычки всегда допускать, что твои убеждения повлияли на результат.
2️⃣ Растождествить себя с точкой зрения. Задай себе вопросы: почему я так считаю? Основываюсь ли я на фактах?
3️⃣ Сыграть в игру: если бы я был не прав, какие факты могли указать на это? Ищи доказательства, опровергающие твое убеждение. Можно позвать коллегу-оппонента и выслушать его доводы.
#искажения
Одним из искажений мозга называют предвзятость подтверждения (Confirmation bias). Это склонность замечать доказательства собственной точки зрения и игнорировать данные, которые ей противоречат.
Допустим, дата-аналитик берется за задачу определить, какой канал привлечения клиентов наиболее эффективен. Он считает, что это соцсети. Убеждение искажает изначальную гипотезу в голове аналитика. Неосознанно он ставит задачу доказать, что соцсети эффективнее других каналов.
Дальнейшие действия заведомо необъективны. Он выбирает ключевые метрики, которые могли бы выявить преимущества соцсетей, и собирает исторические данные только за период, когда соцсети были особенно успешны. В итоге компания направляет больше средств в соцсети, не зная реальной рентабельности каждого канала.
Реальность многогранна. Мозг не в состоянии обработать всю информацию о мире. Чтобы не сойти с ума, он научился на основе кусочков данных формировать обобщающие убеждения. Они работают как фильтры, через которые информация попадает (или не попадает) в мозг на обработку. Предвзятость — не бага, а фича, экономящая время и энергию. Но то, что помогает выживать, мешает анализировать данные.
Чтобы быть менее предвзятым, попробуй:
1️⃣ Четко сформулировать вопрос бизнеса, гипотезу и цель сбора данных. Выработай привычки всегда допускать, что твои убеждения повлияли на результат.
2️⃣ Растождествить себя с точкой зрения. Задай себе вопросы: почему я так считаю? Основываюсь ли я на фактах?
3️⃣ Сыграть в игру: если бы я был не прав, какие факты могли указать на это? Ищи доказательства, опровергающие твое убеждение. Можно позвать коллегу-оппонента и выслушать его доводы.
#искажения