This media is not supported in your browser
VIEW IN TELEGRAM
Всем привет! Тут такое дело: оказывается, сегодня день рождения канала DLStories! 🎂
Ровно два года назад, 30.11.2020, я написала в канал первый пост. Он был про создание unsupervised эмбеддингов картинок. Также среди первых постов — тексты о Visual Transformer, первой версии DALL-E и мнения специалистов о том, что сферу ИИ ждет в 2021 году (эх, если б мы только знали, что нас ждет..)
Подумать только, прошло всего (и уже!) два года! Удивительно, насколько за это время продвинулась область, и сколько всего успело произойти.
Хочу сказать вам спасибо, что читаете канал. Я пишу посты потому что мне это нравится: нравится разбираться в статьях, а затем выражать свое понимание в текст. Но при этом мне приятно осознавать, что я, возможно, помогаю кому-то узнать что-то новое. Более того, вы помогаете мне: часто комментарии и обсуждения под постами открывают для меня что-то новое, и это очень-очень классно!
Если (ну вдруг) у вас возникло желание поздравить меня с днем рождения канала, сделать это можно очень просто:
- поставить смайлы на посты;
- рассказать о канале знакомым;
- можно скинуться мне на кофеек/винишко;
- можно просто порадоваться и улыбнуться =)
А у меня, в свою очередь, тоже есть для вас небольшой подарок ⬇️
Ровно два года назад, 30.11.2020, я написала в канал первый пост. Он был про создание unsupervised эмбеддингов картинок. Также среди первых постов — тексты о Visual Transformer, первой версии DALL-E и мнения специалистов о том, что сферу ИИ ждет в 2021 году (эх, если б мы только знали, что нас ждет..)
Подумать только, прошло всего (и уже!) два года! Удивительно, насколько за это время продвинулась область, и сколько всего успело произойти.
Хочу сказать вам спасибо, что читаете канал. Я пишу посты потому что мне это нравится: нравится разбираться в статьях, а затем выражать свое понимание в текст. Но при этом мне приятно осознавать, что я, возможно, помогаю кому-то узнать что-то новое. Более того, вы помогаете мне: часто комментарии и обсуждения под постами открывают для меня что-то новое, и это очень-очень классно!
Если (ну вдруг) у вас возникло желание поздравить меня с днем рождения канала, сделать это можно очень просто:
- поставить смайлы на посты;
- рассказать о канале знакомым;
- можно скинуться мне на кофеек/винишко;
- можно просто порадоваться и улыбнуться =)
А у меня, в свою очередь, тоже есть для вас небольшой подарок ⬇️
🎉255🔥43❤37🍾11❤🔥6👍6
Помните, я летом говорила, что ездила на съемки лекций? Так вот, курс, который мы тогда записывали, наконец готов и выложен на Степик!
#learning
Это полностью бесплатный и довольно подробный курс по машинному обучению с самых азов и до продвинутых тем. Делали мы его частью команды DLS + несколько других отличных специалистов. Ориентирован он на школьников, так что изложение старались делать очень понятным языком. Но проходить, разумеется, могут все желающие.
Темы курса начинаются с введения в Python, знакомства с нужными библиотеками, математики для анализа данных и идеи машинного обучения. Затем переходим к изучению моделей, метрик и других аспектов прикладной машинки. Ну и дальше идут нейросети.
Подробную программу можно посмотреть тут. Она обширнее, чем программа DLS (в DLS мы учим в первую очередь глубокому обучению, и про классическое машинное обучение мы рассказываем не так подробно). Ну и, как обычно, мы постарались дать довольно много практики. В будущем к курсу еще выйдут дополнительные модули с новыми темами (сейчас идет монтаж записей).
Хочу сказать, что работы над курсом было проделано много: он отлично проработан методически. Тексты лекций были составлены заранее и записаны на профессиональное оборудование. Смотреть будет приятно!
К курсу прилагаются чатик для общения/помощи с учебой. В нем также будут ассистенты, которые будут отвечать на ваши вопросы. Ну и я там тоже буду =)
Приходите сами, а также зовите друзей!⬇️
Начать учиться тут
#learning
Это полностью бесплатный и довольно подробный курс по машинному обучению с самых азов и до продвинутых тем. Делали мы его частью команды DLS + несколько других отличных специалистов. Ориентирован он на школьников, так что изложение старались делать очень понятным языком. Но проходить, разумеется, могут все желающие.
Темы курса начинаются с введения в Python, знакомства с нужными библиотеками, математики для анализа данных и идеи машинного обучения. Затем переходим к изучению моделей, метрик и других аспектов прикладной машинки. Ну и дальше идут нейросети.
Подробную программу можно посмотреть тут. Она обширнее, чем программа DLS (в DLS мы учим в первую очередь глубокому обучению, и про классическое машинное обучение мы рассказываем не так подробно). Ну и, как обычно, мы постарались дать довольно много практики. В будущем к курсу еще выйдут дополнительные модули с новыми темами (сейчас идет монтаж записей).
Хочу сказать, что работы над курсом было проделано много: он отлично проработан методически. Тексты лекций были составлены заранее и записаны на профессиональное оборудование. Смотреть будет приятно!
К курсу прилагаются чатик для общения/помощи с учебой. В нем также будут ассистенты, которые будут отвечать на ваши вопросы. Ну и я там тоже буду =)
Приходите сами, а также зовите друзей!⬇️
Начать учиться тут
❤112🔥30👍20🙏1
Если интересно, в этом курсе (который выше) я делала модули:
- “аналитика данных с помощью Pandas и Matplotlib”;
- “линейная регрессия“;
- “производная, градиент и градиентная оптимизация”;
- “конкурсы на Kaggle”;
- ”сверточные нейросети”;
- “архитектуры CNN и Transfer Learning”;
И, пожалуйста, не пугайтесь моего вида в лекциях, меня убеждали, что нужен именно такой макияж 🌝🌝
- “аналитика данных с помощью Pandas и Matplotlib”;
- “линейная регрессия“;
- “производная, градиент и градиентная оптимизация”;
- “конкурсы на Kaggle”;
- ”сверточные нейросети”;
- “архитектуры CNN и Transfer Learning”;
И, пожалуйста, не пугайтесь моего вида в лекциях, меня убеждали, что нужен именно такой макияж 🌝🌝
❤70💋13😁9👍8🔥4
У меня во всех чатах с утра только и говорят, что о ChatGPT
ChatGPT — это новый чат-бот от OpenAI, собранный на основе InstructGPT. От обычной GPT-3 его отличает то, что он намного лучше способен вести диалог: точнее отвечать на вопросы юзера, признавать и исправлять ошибки, дополнять ответы и придерживаться темы диалога. Короче говоря, это GPT-3, затюненный на ведение диалога и ответы на вопросы пользователей.
ChatGPT доступен онлайн, поболтать с ним можно тут. Можно даже на русском языке! Мои знакомые крутят его уже все утро, и прям восхищаются качеством ответов. Посмотрите, например, на картинку к посту: ChatGPT способна даже анализировать сложный код, предлагать и обосновывать идеи исправления проблемы!
Пишите в комментарии, если удастся вытянуть из бота что-то интересное)
P.S. Я вижу, что с российских номеров телефонов не получается зарегаться в OpenAI. Но что с этим делать, я не знаю(
А ниже опишу, как работает InstructGPT⬇️
ChatGPT — это новый чат-бот от OpenAI, собранный на основе InstructGPT. От обычной GPT-3 его отличает то, что он намного лучше способен вести диалог: точнее отвечать на вопросы юзера, признавать и исправлять ошибки, дополнять ответы и придерживаться темы диалога. Короче говоря, это GPT-3, затюненный на ведение диалога и ответы на вопросы пользователей.
ChatGPT доступен онлайн, поболтать с ним можно тут. Можно даже на русском языке! Мои знакомые крутят его уже все утро, и прям восхищаются качеством ответов. Посмотрите, например, на картинку к посту: ChatGPT способна даже анализировать сложный код, предлагать и обосновывать идеи исправления проблемы!
Пишите в комментарии, если удастся вытянуть из бота что-то интересное)
P.S. Я вижу, что с российских номеров телефонов не получается зарегаться в OpenAI. Но что с этим делать, я не знаю(
А ниже опишу, как работает InstructGPT⬇️
🔥26👍3❤2🤮2😁1👌1
InstructGPT — модель, на основе которой работает ChatGPT от OpenAI
#paper
Мы все знаем GPT-3: огромная языковая модель, которая отлично умеет в генерацию правдоподобного, и даже имеющего нужный (почти всегда) смысл текста. Но в роли диалоговой системы (чат-бота) стандартный GPT-3 не слишком хорош: часто случается так, что он генерирует текст, совсем не соответствующий запросу юзера. Это неудивительно, ведь GPT-3 обучался на текстах из интернета, а не парах “запрос-ответ”, и во время обучения цель модели была генерировать правдоподобный текст (предсказывать следующий токен на основе предыдущих), а не “выдать текст, соответствующий запросу юзера”.
В OpenAI решили затюнить GPT-3 специально на задачу взаимодействия с пользователем, и получили InstructGPT. Вот как это сделали:
1. Сгенерировали несколько текстов запросов и наняли 40 людей, которые вручную составили к этим запросам ответы. Получили пары (запрос-ответ), на которых в обычном supervised режиме затюнили GPT-3;
2. Взяли затюненную с первого шага модель и попросили ее выдать несколько вариантов ответов на разные запросы. Попросили людей отранжировать ответы на каждый запрос: от самого релевантного, полного и правильного до самого плохого. На этих размеченных данных натренировали reward model (RM), которая по паре (запрос-ответ) дает оценку, насколько хорош этот ответ на запрос.
3. Используя RM, дообучили GPT-3 с шага 1 в reinforcement learning парадигме.
Вот так просто. В результате получилась модель, которая намного лучше (по мнению реальных людей) ведет диалог с человеком и отвечает на самые сложные вопросы.
Конечно, InstructGPT (и ChatGPT в частности) — далеко не AGI. У него все еще есть серьезные недостатки. Например:
- ChatGPT может врать. Например, на запрос “расскажи об эпохе возрождения” выдать правдоподобный бред. Это, опять же, неудивительно: при обучении ни GPT-3, ни InstsructGPT корректность ответов никак не регулировалась;
- Небольшое изменение текста запроса может сильно поменять ответ модели. Например, в одном случае она может выдать. “я не знаю”, а во втором — сгенерить вполне хороший ответ (проверено в соседнем чатике, это действительно так);
- В идеале авторы хотели бы, чтобы ChatGPT спрашивала уточняющие вопросы, если запрос пользователя не очень понятный. Но вместо этого модель чаще всего начинает сразу писать ответ, как бы “угадывая”, что именно хотел пользователь;
- Ну и наша любимая тема: bias, hate speech и все такое. ChatGPT все же может выдавать плохие шутки и подобное, как бы авторы ни старались это нивелировать ¯\_(ツ)_/¯
Статья InstructGPT
#paper
Мы все знаем GPT-3: огромная языковая модель, которая отлично умеет в генерацию правдоподобного, и даже имеющего нужный (почти всегда) смысл текста. Но в роли диалоговой системы (чат-бота) стандартный GPT-3 не слишком хорош: часто случается так, что он генерирует текст, совсем не соответствующий запросу юзера. Это неудивительно, ведь GPT-3 обучался на текстах из интернета, а не парах “запрос-ответ”, и во время обучения цель модели была генерировать правдоподобный текст (предсказывать следующий токен на основе предыдущих), а не “выдать текст, соответствующий запросу юзера”.
В OpenAI решили затюнить GPT-3 специально на задачу взаимодействия с пользователем, и получили InstructGPT. Вот как это сделали:
1. Сгенерировали несколько текстов запросов и наняли 40 людей, которые вручную составили к этим запросам ответы. Получили пары (запрос-ответ), на которых в обычном supervised режиме затюнили GPT-3;
2. Взяли затюненную с первого шага модель и попросили ее выдать несколько вариантов ответов на разные запросы. Попросили людей отранжировать ответы на каждый запрос: от самого релевантного, полного и правильного до самого плохого. На этих размеченных данных натренировали reward model (RM), которая по паре (запрос-ответ) дает оценку, насколько хорош этот ответ на запрос.
3. Используя RM, дообучили GPT-3 с шага 1 в reinforcement learning парадигме.
Вот так просто. В результате получилась модель, которая намного лучше (по мнению реальных людей) ведет диалог с человеком и отвечает на самые сложные вопросы.
Конечно, InstructGPT (и ChatGPT в частности) — далеко не AGI. У него все еще есть серьезные недостатки. Например:
- ChatGPT может врать. Например, на запрос “расскажи об эпохе возрождения” выдать правдоподобный бред. Это, опять же, неудивительно: при обучении ни GPT-3, ни InstsructGPT корректность ответов никак не регулировалась;
- Небольшое изменение текста запроса может сильно поменять ответ модели. Например, в одном случае она может выдать. “я не знаю”, а во втором — сгенерить вполне хороший ответ (проверено в соседнем чатике, это действительно так);
- В идеале авторы хотели бы, чтобы ChatGPT спрашивала уточняющие вопросы, если запрос пользователя не очень понятный. Но вместо этого модель чаще всего начинает сразу писать ответ, как бы “угадывая”, что именно хотел пользователь;
- Ну и наша любимая тема: bias, hate speech и все такое. ChatGPT все же может выдавать плохие шутки и подобное, как бы авторы ни старались это нивелировать ¯\_(ツ)_/¯
Статья InstructGPT
👍24🔥10🤮1
Пока у меня не очень выходит писать посты чаще, прекрасные подписчики канала находят контент за меня =)
Вот что прислали в этот раз: сообщество PyTorch Lightning запускает бесплатный курс Deep Learning Fundamentals. Спикер курса — Sebastian Raschka, Lead AI Educator в Lightning Ai и профессор статистики в UW Medicine. Вы могли знать Себастьяна по его книге "Python Machine Learning”.
#learning
В курсе будет 10 модулей, разбитых на подмодули с короткими видео. Пока доступны два модуля, остальное в процессе. Второй модуль — про основы Пайторча: тензоры, операции с ними, основы линейной алгебры на тензорах и также немного про то, как дебажить код. Этот модуль, имхо, будет полезен всем, кто начинает изучение PyTorch. После этого более уверенно можно будет идти на другие курсы DL, где прогают на PyTorch.
Ссылки:
Промо-видео курса
Страница курса с уроками
Блог Себастьяна. Тут много интересных заметок на разные темы ML.
Вот что прислали в этот раз: сообщество PyTorch Lightning запускает бесплатный курс Deep Learning Fundamentals. Спикер курса — Sebastian Raschka, Lead AI Educator в Lightning Ai и профессор статистики в UW Medicine. Вы могли знать Себастьяна по его книге "Python Machine Learning”.
#learning
В курсе будет 10 модулей, разбитых на подмодули с короткими видео. Пока доступны два модуля, остальное в процессе. Второй модуль — про основы Пайторча: тензоры, операции с ними, основы линейной алгебры на тензорах и также немного про то, как дебажить код. Этот модуль, имхо, будет полезен всем, кто начинает изучение PyTorch. После этого более уверенно можно будет идти на другие курсы DL, где прогают на PyTorch.
Ссылки:
Промо-видео курса
Страница курса с уроками
Блог Себастьяна. Тут много интересных заметок на разные темы ML.
👍62❤7❤🔥2🤮2💩1
Вот вам еще веселая история на сегодня: последнюю неделю вокруг меня прям все усиленно тестируют ChatGPT. Включая и одного из моих профессоров (у меня их два). Так вот, профессор этот — математик, ведет несколько курсов по матану в универе. Говорит, попробовал скормить ChatGPT примеры из домашек и экзаменов базового курса матана для студентов, и нейронка на половину из них(!) выдала правильный ответ и подробно расписала решение. Походу, придется пересматривать то, как проходят экзамены в универах, иначе студенты начнут просто через ChatGPT их решать🙃
🔥70😁20🤩6🤔2🤮2
CLRS-30: датасет от DeepMind для обучения нейросетей задачам алгоритмического программирования.
В CLRS-30 собраны 30 видов классических задач с курсов по алгоритмам: сортировки (пузырьком/вставками/quicksort), бинарный поиск, динамическое программирование, алгоритмы на строках и графах.
Каждый элемент датасета — это набор траекторий решения одной из тридцати видов задач. Давайте в общем виде поймем, что это такое:
Вход и выход для каждого алгоритма представляется в виде набора элементов и связей между ними. То есть, в виде графа.
Например, для алгоритма сортировки вход и выход — последовательности чисел, и это переводится в вид графа таким образом: каждое число — вершина, два числа соединены ребром, если одно число идет в последовательности перед вторым. Тогда решить задачу сортировки — это значит для каждой вершины найти ее predcessor’а (вершину, идущую до нее в отсортированном массиве).
Примерно так же можно представить в терминах графов и остальные 30 задач.
Возьмем теперь какую-нибудь задачу. Например, сортировку пузырьком. Для этой сортировки можно написать псевдокод. Этот псевдокод можно представить в виде последовательности состояний графа во время работы алгоритма. Такую последовательность состояний в DeepMind назвали hints: “подсказки” для нейросети, которые могут использоваться во время ее обучения.
Таким образом, одна задача с одним конкретным входом представлена в датасете в виде набора (input, hints, output). Цель — используя эти данные обучить нейросеть решать задачи из набора CLRS-30 для любых входных данных (по графу input выдавать граф output)
Важная особенность датасета — он конструируется онлайн. DeepMind выложили код на GitHub, который можно запустить и получить свой уникальный набор графов состояний алгоритма для случайных входных данных. Это очень полезно для обучения нейросетей: каждую эпоху можно генерировать новые графы задач с новыми входными данными (например, графы для задачи сортировки с разными массивами на входе).
Ссылки:
Статья. Тут больше инфы о том, как устроен датасет и примеры input, output, hits для конкретных алгоритмов. И картинки соответствующих им графов.
Код для создания своего датасета на GitHub.
P.S. Пишут, что все 30 видов задач и их псевдокод для генерации hints взяли из книги Кормена 🙃
В CLRS-30 собраны 30 видов классических задач с курсов по алгоритмам: сортировки (пузырьком/вставками/quicksort), бинарный поиск, динамическое программирование, алгоритмы на строках и графах.
Каждый элемент датасета — это набор траекторий решения одной из тридцати видов задач. Давайте в общем виде поймем, что это такое:
Вход и выход для каждого алгоритма представляется в виде набора элементов и связей между ними. То есть, в виде графа.
Например, для алгоритма сортировки вход и выход — последовательности чисел, и это переводится в вид графа таким образом: каждое число — вершина, два числа соединены ребром, если одно число идет в последовательности перед вторым. Тогда решить задачу сортировки — это значит для каждой вершины найти ее predcessor’а (вершину, идущую до нее в отсортированном массиве).
Примерно так же можно представить в терминах графов и остальные 30 задач.
Возьмем теперь какую-нибудь задачу. Например, сортировку пузырьком. Для этой сортировки можно написать псевдокод. Этот псевдокод можно представить в виде последовательности состояний графа во время работы алгоритма. Такую последовательность состояний в DeepMind назвали hints: “подсказки” для нейросети, которые могут использоваться во время ее обучения.
Таким образом, одна задача с одним конкретным входом представлена в датасете в виде набора (input, hints, output). Цель — используя эти данные обучить нейросеть решать задачи из набора CLRS-30 для любых входных данных (по графу input выдавать граф output)
Важная особенность датасета — он конструируется онлайн. DeepMind выложили код на GitHub, который можно запустить и получить свой уникальный набор графов состояний алгоритма для случайных входных данных. Это очень полезно для обучения нейросетей: каждую эпоху можно генерировать новые графы задач с новыми входными данными (например, графы для задачи сортировки с разными массивами на входе).
Ссылки:
Статья. Тут больше инфы о том, как устроен датасет и примеры input, output, hits для конкретных алгоритмов. И картинки соответствующих им графов.
Код для создания своего датасета на GitHub.
P.S. Пишут, что все 30 видов задач и их псевдокод для генерации hints взяли из книги Кормена 🙃
🔥33💩1
A Generalist Neural Algorithmic Learner
#paper
А еще на основе своего датасета CLRS-30 DeepMind обучили графовую нейросеть решать все эти 30 алгоритмических задач.
Модель устроена по тому же принципу, что и большинство моделей для решения сразу большого набора задач. Она состоит из трех частей (см картинку):
- Нескольких отдельных голов-энкодеров, каждая из которых кодирует вход для одной из тридцати задач. Каждый энкодер принимает на вход граф и кодирует информацию в его вершинах и ребрах в общее пространство эмбеддингов. Получается набор (x_i, e_ij, g), где x_i — эмбеддинги вершин графа, e_ij — эмбеддинги ребер графа и g — эмбеддинг графа в целом.
- Одной центральной части-процессора P, который обрабатывает вход из голов. P — это графовая нейросеть, она принимает и выдает на выход информацию в виде набора эмбеддингов вершин, ребер и графа (x_i, e_ij, g)
- Нескольких отдельных голов-декодеров, каждая из которых декодирует выход процессора P из общего пространства эмбеддингов в вид графа;
Работает это вес довольно неплохо, намного лучше других ранее придуманных алгоритмов (DeepMind протестили несколько из них на CLRS-30 и сравнили метрики). По F1-micro в среднем получается 74%, что, кажется, довольно неплохо. У лучшего конкурента F1-micro около 50%
Подробнее о модели читайте в статье
#paper
А еще на основе своего датасета CLRS-30 DeepMind обучили графовую нейросеть решать все эти 30 алгоритмических задач.
Модель устроена по тому же принципу, что и большинство моделей для решения сразу большого набора задач. Она состоит из трех частей (см картинку):
- Нескольких отдельных голов-энкодеров, каждая из которых кодирует вход для одной из тридцати задач. Каждый энкодер принимает на вход граф и кодирует информацию в его вершинах и ребрах в общее пространство эмбеддингов. Получается набор (x_i, e_ij, g), где x_i — эмбеддинги вершин графа, e_ij — эмбеддинги ребер графа и g — эмбеддинг графа в целом.
- Одной центральной части-процессора P, который обрабатывает вход из голов. P — это графовая нейросеть, она принимает и выдает на выход информацию в виде набора эмбеддингов вершин, ребер и графа (x_i, e_ij, g)
- Нескольких отдельных голов-декодеров, каждая из которых декодирует выход процессора P из общего пространства эмбеддингов в вид графа;
Работает это вес довольно неплохо, намного лучше других ранее придуманных алгоритмов (DeepMind протестили несколько из них на CLRS-30 и сравнили метрики). По F1-micro в среднем получается 74%, что, кажется, довольно неплохо. У лучшего конкурента F1-micro около 50%
Подробнее о модели читайте в статье
👍24🔥6🤮2🤔1
Я тут недавно открыла для себя две новые постановки задачи сегментации (кроме стандартных semantic segmentation и instance segmentation). Это referring segmentation и open-vocabulary semantic/instance segmentation.
Referring segmentation — это когда на вход подается картинка и текстовое описание объекта на ней. Например, “мужчина в очках, голубой рубашке и коричневых штанах”. Задача модели — найти и выделить на картинке пиксели объекта, к которому относится текст. Для этой задачи есть даже отдельные датасеты и бенчмарки на paperswithcode.
Open-vocabulary semantic segmentation — это семантическая сегментация без ограничения на классы. То есть, на вход подается картинка, и модель должна выделить на ней все объекты, которые сможет найти, и выдать название классов этих объектов. Для этой задачи, насколько я поняла, используют стандартные датасеты для обычной задачи сегментации. Отдельных бенчмарков также не нашла.
Понятно, что open-vocabulary semantic segmentation — не совсем четко поставленная задача. Непонятно, на какие именно части модель должна поделить картинку. Пусть, например, у нас есть изображения нескольких людей на фоне улицы. Нужно ли выделить каждого человека как отдельный большой объект “человек”? Или нужно отдельно выделить его голову, руки, ноги? А может, еще глубже: нос, глаза и рот?
Но несмотря на нечеткость формулировки, задачей open-vocabulary segmentation занимаются. Можно сказать, что пока “круче тот, у кого модель находит больше разных объектов” и как бы у кого модель “более open-vocabulary, чем у других”.
Так вот, к чему это все. В Meta тоже занялись задачей open-vocabulary segmentation и предложили, как использовать для этого CLIP. Об этом напишу в следующем посте⬇️
Referring segmentation — это когда на вход подается картинка и текстовое описание объекта на ней. Например, “мужчина в очках, голубой рубашке и коричневых штанах”. Задача модели — найти и выделить на картинке пиксели объекта, к которому относится текст. Для этой задачи есть даже отдельные датасеты и бенчмарки на paperswithcode.
Open-vocabulary semantic segmentation — это семантическая сегментация без ограничения на классы. То есть, на вход подается картинка, и модель должна выделить на ней все объекты, которые сможет найти, и выдать название классов этих объектов. Для этой задачи, насколько я поняла, используют стандартные датасеты для обычной задачи сегментации. Отдельных бенчмарков также не нашла.
Понятно, что open-vocabulary semantic segmentation — не совсем четко поставленная задача. Непонятно, на какие именно части модель должна поделить картинку. Пусть, например, у нас есть изображения нескольких людей на фоне улицы. Нужно ли выделить каждого человека как отдельный большой объект “человек”? Или нужно отдельно выделить его голову, руки, ноги? А может, еще глубже: нос, глаза и рот?
Но несмотря на нечеткость формулировки, задачей open-vocabulary segmentation занимаются. Можно сказать, что пока “круче тот, у кого модель находит больше разных объектов” и как бы у кого модель “более open-vocabulary, чем у других”.
Так вот, к чему это все. В Meta тоже занялись задачей open-vocabulary segmentation и предложили, как использовать для этого CLIP. Об этом напишу в следующем посте⬇️
👍55
Open-Vocabulary Semantic Segmentation with Mask-Adapted CLIP
#paper
В Meta придумали, как использовать CLIP для решения задачи open-vocabulary semantic segmentation. Если совсем честно, то у них получился не прям “open-open”-vocabulary, но идея все равно хорошая.
Вот как она работает:
Берем MaskFormer — это сеть для задачи обычной сегментации на С классов. Работает она так: для каждой входной картинки MaskFormer выдает N пар (mask, class). Mask — бинарная маска одного из объектов на входной картинке. Class — вектор длины С — распределение вероятностей по классам для объекта, для которого построена маска.
Теперь немного модифицируем выход MaskFormer и обучающий датасет. Смотрите, берем датасет для сегментации, например, COCO-Staff. В нем для каждой картинки есть набор пар (mask, class). Для каждой такой пары берем текстовое название сlass и прогоняем его через текстовый энкодер CLIP. В итоге получаем, что в нашем датасете для каждой картинки теперь есть набор пар (mask, emb). Тут emb — CLIP-эмбеддинг названия класса, которому принадлежит объект с маской mask.
Ну и будем теперь учить MaskFormer для входной картинки выдавать не пару (mask, class), а (mask, emb). Т.е. наша модель учится не классифицировать найденный объект на один из С классов, а выдавать для него CLIP-like эмбеддинг, который содержит информацию о том, что это за объект. И когда на вход модели приходит новая картинка, мы берем MaskFormer и получаем наборы (mask, emb). Потом сравниваем emb с эмбеддингами CLIP’а для разных названий классов (‘стул’, ‘человек’, …) и выдаем в качестве класса объекта тот, который ближе всего к эмбеддингу emb.
Тут становится понятно, в каком месте модель не слишком “open”-vocabulary. В датасете COCO размечены конечное количество классов (а именно, 171). Ну и не приходится ожидать, что модель, которая училась находить бинарные маски для людей-собак-кошек, вдруг начнет выдавать отдельные маски для носа-глаз-рук-ног.
Но потенциально модель может выдать эмбеддинг emb с произвольным смыслом, это да.
Ну и последнее замечание: описанной выше модели авторам показалось мало. Поэтому они предложили добавить второй способ получения классов для mask:
Как мы сказали, MaskFormer выдает пары (mask, emb). Мы можем взять mask, вырезать кусок картинки, которому соответствует эта mask и подать этот кусок картинки на вход CLIP. CLIP выдаст эмбеддинг этой картинки, который мы так же сможем сравнить с эмбеддингами для разных названий классов (‘стул’, ‘человек’, …), и таким образом получить нужный класс объекта для нашей маски. Правда, в таким виде алгоритм работает не очень хорошо: CLIP все же не был обучен под такой вид картинок. Поэтому в Meta собрали небольшой датасет “кусок картинки — класс” и дообучили на нем CLIP. Как именно собирали датасет и дообучали, читайте в оригинальной статье.
Ну и итоговое предсказание модели сегментации авторы получают, усредняя emb из MaskFormer и эмбеддинг из CLIP, полученный на основе mask. Работает это все хорошо, бьет предыдущие open-vocabulary нейронки по метрике mIoU.
Ссылки:
Страница проекта
Статья
Код на GitHub
Изначально инфу про статью нашла в канале эйай ньюз
#paper
В Meta придумали, как использовать CLIP для решения задачи open-vocabulary semantic segmentation. Если совсем честно, то у них получился не прям “open-open”-vocabulary, но идея все равно хорошая.
Вот как она работает:
Берем MaskFormer — это сеть для задачи обычной сегментации на С классов. Работает она так: для каждой входной картинки MaskFormer выдает N пар (mask, class). Mask — бинарная маска одного из объектов на входной картинке. Class — вектор длины С — распределение вероятностей по классам для объекта, для которого построена маска.
Теперь немного модифицируем выход MaskFormer и обучающий датасет. Смотрите, берем датасет для сегментации, например, COCO-Staff. В нем для каждой картинки есть набор пар (mask, class). Для каждой такой пары берем текстовое название сlass и прогоняем его через текстовый энкодер CLIP. В итоге получаем, что в нашем датасете для каждой картинки теперь есть набор пар (mask, emb). Тут emb — CLIP-эмбеддинг названия класса, которому принадлежит объект с маской mask.
Ну и будем теперь учить MaskFormer для входной картинки выдавать не пару (mask, class), а (mask, emb). Т.е. наша модель учится не классифицировать найденный объект на один из С классов, а выдавать для него CLIP-like эмбеддинг, который содержит информацию о том, что это за объект. И когда на вход модели приходит новая картинка, мы берем MaskFormer и получаем наборы (mask, emb). Потом сравниваем emb с эмбеддингами CLIP’а для разных названий классов (‘стул’, ‘человек’, …) и выдаем в качестве класса объекта тот, который ближе всего к эмбеддингу emb.
Тут становится понятно, в каком месте модель не слишком “open”-vocabulary. В датасете COCO размечены конечное количество классов (а именно, 171). Ну и не приходится ожидать, что модель, которая училась находить бинарные маски для людей-собак-кошек, вдруг начнет выдавать отдельные маски для носа-глаз-рук-ног.
Но потенциально модель может выдать эмбеддинг emb с произвольным смыслом, это да.
Ну и последнее замечание: описанной выше модели авторам показалось мало. Поэтому они предложили добавить второй способ получения классов для mask:
Как мы сказали, MaskFormer выдает пары (mask, emb). Мы можем взять mask, вырезать кусок картинки, которому соответствует эта mask и подать этот кусок картинки на вход CLIP. CLIP выдаст эмбеддинг этой картинки, который мы так же сможем сравнить с эмбеддингами для разных названий классов (‘стул’, ‘человек’, …), и таким образом получить нужный класс объекта для нашей маски. Правда, в таким виде алгоритм работает не очень хорошо: CLIP все же не был обучен под такой вид картинок. Поэтому в Meta собрали небольшой датасет “кусок картинки — класс” и дообучили на нем CLIP. Как именно собирали датасет и дообучали, читайте в оригинальной статье.
Ну и итоговое предсказание модели сегментации авторы получают, усредняя emb из MaskFormer и эмбеддинг из CLIP, полученный на основе mask. Работает это все хорошо, бьет предыдущие open-vocabulary нейронки по метрике mIoU.
Ссылки:
Страница проекта
Статья
Код на GitHub
Изначально инфу про статью нашла в канале эйай ньюз
👍22🤔3🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
На сайте работы, ктстаи, обнаружена отличная гифка с иллюстраницей устройства модели. Тут верхний flow — первый способ получения эмбеддингов классов (emb из MaskFormer), нижний flow — второй способ получения эмбеддингов классов (вырезаем куски картинки, соотв. mask, подаем в CLIP)
👍14
С наступающим! (А для кого-то, может, уже с наступившим)
На картинке — поздравление для вас от ChatGPT. Добавлю к нему и от себя лично: пусть 2023 год вам понравится! Понравится так, что 31 декабря 2023 года вы будете вспоминать его с благодарностью, улыбкой на лице и приятным предвкушением грядущего. И без сарказма скажете: “2024, это будет очень сложно, но давай еще круче!”
И спасибо вам, что читаете канал! Для меня это очень ценно. Надеюсь, в новом году интересных тем для постов не убавится, и мы с вами так же увлеченно будем обсуждать новые архитектуры, курсы и новости AI ❤️
На картинке — поздравление для вас от ChatGPT. Добавлю к нему и от себя лично: пусть 2023 год вам понравится! Понравится так, что 31 декабря 2023 года вы будете вспоминать его с благодарностью, улыбкой на лице и приятным предвкушением грядущего. И без сарказма скажете: “2024, это будет очень сложно, но давай еще круче!”
И спасибо вам, что читаете канал! Для меня это очень ценно. Надеюсь, в новом году интересных тем для постов не убавится, и мы с вами так же увлеченно будем обсуждать новые архитектуры, курсы и новости AI ❤️
❤120🍾23👍9🥰9❤🔥8
Всех еще раз с наступившим! По традиции, первый пост в новом году — о предсказаниях кастельно развития AI на 2023 год.
#ai_inside
Каждый год Forbes делает 10 предсказаний в сфере AI на следующий год. Список за 2022 год можно найти тут, а вот по этой ссылке можно почитать ретроспективу: что оказалось правдой, а что нет. В целом, Forbes считают, что оказались правы в 6/10 случаев, что довольно неплохо. Поэтому давайте посмотрим, что они нам вангуют на год двадцать третий)
Итак, 10 predictions и мои мысли относительно них:
1. В течение следующих пары месяцев выпустят GPT-4, и она будет очень крутой.
Снова первое предсказание — про NLP. Что ж, посмотрим. Я слышала слухи про GPT-4, но почему-то не особо верю, что ее реально выпустят в течение уже пары месяцев.
2. Нам перестанет хватать данных для обучения огромных языковых моделей.
Говорят вот что: ученые посчитали и обнаружили, что вообще во всех текстах достаточно хорошего качества, которые мы можем добыть, не более 17.2 миллиарда токенов. А модели уже обучают на ~1.5 миллиарда токенов. То есть, прям существенно увеличить количество данных для обучения моделей мы не сможем.
Кажется, поэтому сфера поиска новых идей аугментации и очистки текстовых данных будет востребована. Если ищите, чем заняться в ближайшие годы, вот вам хороший вариант)
3. Люди начнут использовать совсем-совсем беспилотные автомобили для ежедневных поездок.
Тут вот не верю, сорри. Я мало знаю про то, как сейчас там обстоит вопрос с регуляцией и законами в беспилотниках, но мне почему-то кажется, что в 2023 никто и ничто к такому еще не готовы. Ну, разве что “ежедневные поездки” будут на медленных беспилотных вагончиках, и не по стандартным автодорогам.
4. Midjourney привлечет венчурное финансирование.
5. Алгоритмы поиска (e.g. Google Search) значительно изменятся. Намного сильнее, чем они изменились в начале 2000-х.
Это все из-за ChatGPT. После выхода ChatGPT уже много где говорили, что моделька часто справляется с поисковыми запросами лучше, чем поиск гугла. Где-то даже видела пост о том, что в Гугле уже запаниковали и думают, что с этим всем делать. Если честно, считаю этот пост набросом: вряд ли для Гугла ChatGPT мог стать таким шоком, и вряд ли он прям вот-вот заменит поиск.
Но в то, что алгоритмы поиска поменяются из-за изобретения новых моделей типа ChatGPT — верю. Не уверена, что успеют поменяться прям за 2023 только.
Продолжение в следующем посте⬇️
#ai_inside
Каждый год Forbes делает 10 предсказаний в сфере AI на следующий год. Список за 2022 год можно найти тут, а вот по этой ссылке можно почитать ретроспективу: что оказалось правдой, а что нет. В целом, Forbes считают, что оказались правы в 6/10 случаев, что довольно неплохо. Поэтому давайте посмотрим, что они нам вангуют на год двадцать третий)
Итак, 10 predictions и мои мысли относительно них:
1. В течение следующих пары месяцев выпустят GPT-4, и она будет очень крутой.
Снова первое предсказание — про NLP. Что ж, посмотрим. Я слышала слухи про GPT-4, но почему-то не особо верю, что ее реально выпустят в течение уже пары месяцев.
2. Нам перестанет хватать данных для обучения огромных языковых моделей.
Говорят вот что: ученые посчитали и обнаружили, что вообще во всех текстах достаточно хорошего качества, которые мы можем добыть, не более 17.2 миллиарда токенов. А модели уже обучают на ~1.5 миллиарда токенов. То есть, прям существенно увеличить количество данных для обучения моделей мы не сможем.
Кажется, поэтому сфера поиска новых идей аугментации и очистки текстовых данных будет востребована. Если ищите, чем заняться в ближайшие годы, вот вам хороший вариант)
3. Люди начнут использовать совсем-совсем беспилотные автомобили для ежедневных поездок.
Тут вот не верю, сорри. Я мало знаю про то, как сейчас там обстоит вопрос с регуляцией и законами в беспилотниках, но мне почему-то кажется, что в 2023 никто и ничто к такому еще не готовы. Ну, разве что “ежедневные поездки” будут на медленных беспилотных вагончиках, и не по стандартным автодорогам.
4. Midjourney привлечет венчурное финансирование.
5. Алгоритмы поиска (e.g. Google Search) значительно изменятся. Намного сильнее, чем они изменились в начале 2000-х.
Это все из-за ChatGPT. После выхода ChatGPT уже много где говорили, что моделька часто справляется с поисковыми запросами лучше, чем поиск гугла. Где-то даже видела пост о том, что в Гугле уже запаниковали и думают, что с этим всем делать. Если честно, считаю этот пост набросом: вряд ли для Гугла ChatGPT мог стать таким шоком, и вряд ли он прям вот-вот заменит поиск.
Но в то, что алгоритмы поиска поменяются из-за изобретения новых моделей типа ChatGPT — верю. Не уверена, что успеют поменяться прям за 2023 только.
Продолжение в следующем посте⬇️
👍32🔥6🤔3❤1🌚1
10 предсказаний Fobes для сферы AI в 2023 году, часть 2.
#ai_inside
6. Усилия по разработке роботов-гуманоидов привлекут значительное внимание, финансирование и таланты. Будет запущено несколько новых инициатив в области роботов-гуманоидов.
Это тоже интересно. Интересно потому, что все больше людей начинают мыслить в сторону AGI (Джефф Хинтон, ЛеКун, например) и логично, что соответствующие стартапы, лабы и инициативы должны появляться. К тому же каких-то роботов уже кто-то собирает (например, Tesla-робот)
В интересное время мы живем =)
7. Концепция «LLMOps» станет модной новой версией MLOps.
Тут не шарю, комментировать не буду.
8. Количество исследовательских проектов, основанных на AlphaFold или цитирующих его, будет расти.
Тут верю: сфера drug discovery сильно развивается, ученых и идей должно стать больше. AlphaFold, имхо — это как language model в NLP. То есть, отличная general модель, умения которой можно использоват для решения кучи разных задач, связанных со строением молекул. К тому же, AlphaFold теперь в опенсорсе.
9. DeepMind, Google Brain и/или OpenAI предпримут усилия по созданию “базовой модели” робототехники.
“Базовая модель” (foundation model) — это огромная general-purpose AI-модель, обученная на большом количестве различных данных. Например, GPT-3 — это foundation model в NLP, stable diffusion — своего рода foundation model в text-image домене. С помощью умений foundation model можно решать кучу разных задач в zero-shot или few-shot режиме.
Так вот, Forbes верят, что сильные компании мира сего захотят построить такую модель и для робототехники.
10. Будет объявлено о новых инвестиционных обязательствах на многие миллиарды долларов для строительства заводов по производству микросхем в Соединенных Штатах, поскольку США строят планы на случай непредвиденных обстоятельств для Тайваня.
А этого что, еще не произошло? Ставлю, в общем, что это случится.
Как-то так. По-моему, в этом году предсказания поинтереснее, чем в прошлом. Ждем, что же будет)
Статью Forbes с этими предсказаниями и развернутыми описаниями к ним можно найти тут.
А вы что думаете насчет этого всего?
#ai_inside
6. Усилия по разработке роботов-гуманоидов привлекут значительное внимание, финансирование и таланты. Будет запущено несколько новых инициатив в области роботов-гуманоидов.
Это тоже интересно. Интересно потому, что все больше людей начинают мыслить в сторону AGI (Джефф Хинтон, ЛеКун, например) и логично, что соответствующие стартапы, лабы и инициативы должны появляться. К тому же каких-то роботов уже кто-то собирает (например, Tesla-робот)
В интересное время мы живем =)
7. Концепция «LLMOps» станет модной новой версией MLOps.
Тут не шарю, комментировать не буду.
8. Количество исследовательских проектов, основанных на AlphaFold или цитирующих его, будет расти.
Тут верю: сфера drug discovery сильно развивается, ученых и идей должно стать больше. AlphaFold, имхо — это как language model в NLP. То есть, отличная general модель, умения которой можно использоват для решения кучи разных задач, связанных со строением молекул. К тому же, AlphaFold теперь в опенсорсе.
9. DeepMind, Google Brain и/или OpenAI предпримут усилия по созданию “базовой модели” робототехники.
“Базовая модель” (foundation model) — это огромная general-purpose AI-модель, обученная на большом количестве различных данных. Например, GPT-3 — это foundation model в NLP, stable diffusion — своего рода foundation model в text-image домене. С помощью умений foundation model можно решать кучу разных задач в zero-shot или few-shot режиме.
Так вот, Forbes верят, что сильные компании мира сего захотят построить такую модель и для робототехники.
10. Будет объявлено о новых инвестиционных обязательствах на многие миллиарды долларов для строительства заводов по производству микросхем в Соединенных Штатах, поскольку США строят планы на случай непредвиденных обстоятельств для Тайваня.
А этого что, еще не произошло? Ставлю, в общем, что это случится.
Как-то так. По-моему, в этом году предсказания поинтереснее, чем в прошлом. Ждем, что же будет)
Статью Forbes с этими предсказаниями и развернутыми описаниями к ним можно найти тут.
А вы что думаете насчет этого всего?
👍39🔥8🤔4🤯1
Forwarded from Earth&Climate Tech
eBook-How-to-Build-a-Career-in-AI.pdf
3.5 MB
Как построить карьеру в AI. Руководство от Andrew Ng
Новый Год 🎄, время строить планы. Если хочется научиться что-то делать в AI, но не знали с чего начать, то читайте дальше!😉
Самый главный популяризатор AI выложил в открытый доступ руководство как построить карьеру в AI.
Руководство очень просто написано и является сборником полезных советов. Можно использовать вместо ментора. Состоит из 3-х основных глав:
1️⃣ Как научиться
2️⃣ Как выбрать проект
3️⃣ Как найти работу
Эндрю дает простые, но важные советы как побороть синдром самозванца, нужно ли глубоко знать математику, и пожалуй самое главное, как правильно выбирать проекты для своего AI портфолио (спойлер, лучше сразу делайте что-то на пересечении вашей экспертизы/того что вам интересно и AI)
Инджой
Новый Год 🎄, время строить планы. Если хочется научиться что-то делать в AI, но не знали с чего начать, то читайте дальше!😉
Самый главный популяризатор AI выложил в открытый доступ руководство как построить карьеру в AI.
Руководство очень просто написано и является сборником полезных советов. Можно использовать вместо ментора. Состоит из 3-х основных глав:
1️⃣ Как научиться
2️⃣ Как выбрать проект
3️⃣ Как найти работу
Эндрю дает простые, но важные советы как побороть синдром самозванца, нужно ли глубоко знать математику, и пожалуй самое главное, как правильно выбирать проекты для своего AI портфолио (спойлер, лучше сразу делайте что-то на пересечении вашей экспертизы/того что вам интересно и AI)
Инджой
❤65👍8
Google Research представили очередную text-to-image модель Muse, которая (как обычно) бьет SOTA в задаче генерации картинок по метрикам FID и CIP. Но кроме качественной генерации у модели есть интересная особенность — она не использует диффузию.
#paper
Устройство Muse — на второй картинке к посту. Вот что там происходит:
1. Текст прогоняется через предобученную большую языковую модель (конкретно в этой работе это T5-XXL), на выходе получается эмбеддинг текста. Тут ничего нового: все недавние text-to-image получают эмбеддинги текста таким способом.
2. На картинках датасета обучается VGGAN. Это автоэнкодер, у которого дискретное латентное пространство. То есть, латентное представление картинки — это набор дискретных токенов. В Muse латентное представление имеет размер 16х16, т.е. одна картинка — это 16х16 дискретных векторов.
3. Далее берется Transformer и обучается под следующую задачу:
- берем картинку, прогоняем через энкодер VQGAN’а, получаем 16х16 латентных токенов;
- случайным образом заменяем несколько из этих латентных токенов на специальный токен [MASK].
- Подаем эти токены вместе с positional encoding, а также эмбеддинг текста из T5 в качестве кондишена на вход Transformer. Задача Transformer — используя информацию из текста восстановить замаскированные токены. Т.е. на выходе Transformer должен выдать латентное представление VQGAN’а для входящей картинки размера 16х16.
4. На этапе инференса мы получаем эмбеддинг входящего текста из T5. Его подаем в обученный Transformer из 3 пункта вместе с латентным вектором размера 16х16, состоящим полностью из токенов [MASK]. Далее в течение нескольких шагов Transformer генерирует токены VQGAN’а вместо всех токенов [MASK]. После того, как все токены [MASK] заменены на токены VQGAN’а, эти токены подаются в декодер VQGAN’а, который выдает итоговую картинку.
Muse использует два набора VQGAN+Transformer: один для первичной генерации low-res картинок размера 256х256, второй для генерации high-res картинок размера 512х512. VQGAN+Transformer для low-res картинок работают ровно так, как описано выше. В случае генерации high-res картинок есть одно отличие: Transformer учится восстанавливать замаскированные токены основываясь не только на эмбеддингах текста, но и на токенах VQGAN’а меньшего разрешения. (на картинке это показано пунктирной стрелкой).
Авторы Muse утверждают, что генерация картинки в две стадии (low-res -> high-res) повышает качество итоговых изображений.
Вот такое устройство модели позволяет ей генерировать качественные картинки, обгоняя по FID и CLIP метрикам другие популярные модели типа Imagen, Parti, GLIDE, DALL-E 2. При этом Muse работает еще и намного быстрее (сравнение скоростей — на 3 картинке к посту).
Стоит еще сказать, что идея устройства Muse позволяет легко делать text-based image editing и image inpainting. Делается так: берем картинку, которую хотим изменить, получаем с помощью VGGAN латентные токены. Заменяем на [MASK] те из них, которые относятся к части картинки, которую хотим изменить, и затем позволяем модели восстановить картинку на основе нового текста.
Ссылки:
Страница проекта
Статья. Там — больше деталей устройства и обучения модели.
Инфу о Muse нашла в канале Мишин Лернинг
#paper
Устройство Muse — на второй картинке к посту. Вот что там происходит:
1. Текст прогоняется через предобученную большую языковую модель (конкретно в этой работе это T5-XXL), на выходе получается эмбеддинг текста. Тут ничего нового: все недавние text-to-image получают эмбеддинги текста таким способом.
2. На картинках датасета обучается VGGAN. Это автоэнкодер, у которого дискретное латентное пространство. То есть, латентное представление картинки — это набор дискретных токенов. В Muse латентное представление имеет размер 16х16, т.е. одна картинка — это 16х16 дискретных векторов.
3. Далее берется Transformer и обучается под следующую задачу:
- берем картинку, прогоняем через энкодер VQGAN’а, получаем 16х16 латентных токенов;
- случайным образом заменяем несколько из этих латентных токенов на специальный токен [MASK].
- Подаем эти токены вместе с positional encoding, а также эмбеддинг текста из T5 в качестве кондишена на вход Transformer. Задача Transformer — используя информацию из текста восстановить замаскированные токены. Т.е. на выходе Transformer должен выдать латентное представление VQGAN’а для входящей картинки размера 16х16.
4. На этапе инференса мы получаем эмбеддинг входящего текста из T5. Его подаем в обученный Transformer из 3 пункта вместе с латентным вектором размера 16х16, состоящим полностью из токенов [MASK]. Далее в течение нескольких шагов Transformer генерирует токены VQGAN’а вместо всех токенов [MASK]. После того, как все токены [MASK] заменены на токены VQGAN’а, эти токены подаются в декодер VQGAN’а, который выдает итоговую картинку.
Muse использует два набора VQGAN+Transformer: один для первичной генерации low-res картинок размера 256х256, второй для генерации high-res картинок размера 512х512. VQGAN+Transformer для low-res картинок работают ровно так, как описано выше. В случае генерации high-res картинок есть одно отличие: Transformer учится восстанавливать замаскированные токены основываясь не только на эмбеддингах текста, но и на токенах VQGAN’а меньшего разрешения. (на картинке это показано пунктирной стрелкой).
Авторы Muse утверждают, что генерация картинки в две стадии (low-res -> high-res) повышает качество итоговых изображений.
Вот такое устройство модели позволяет ей генерировать качественные картинки, обгоняя по FID и CLIP метрикам другие популярные модели типа Imagen, Parti, GLIDE, DALL-E 2. При этом Muse работает еще и намного быстрее (сравнение скоростей — на 3 картинке к посту).
Стоит еще сказать, что идея устройства Muse позволяет легко делать text-based image editing и image inpainting. Делается так: берем картинку, которую хотим изменить, получаем с помощью VGGAN латентные токены. Заменяем на [MASK] те из них, которые относятся к части картинки, которую хотим изменить, и затем позволяем модели восстановить картинку на основе нового текста.
Ссылки:
Страница проекта
Статья. Там — больше деталей устройства и обучения модели.
Инфу о Muse нашла в канале Мишин Лернинг
🔥37👍17😁1🤔1