🧠 Сверточные нейросети. Фильтр
💭 Друзья, приходилось ли вам когда-нибудь повышать резкость на своих фотокарточках? Думаю, лет 5 назад эта тема была особенно актуальна, так как у большинства смартфонов камеры были не столь чувствительны как сейчас.
🧐 Сталкиваясь с такой проблемой, мы обращаемся за помощью к встроенным функциям или программам, которые прорисовывают детали на наших картинках более четко. Чаще всего «под капотом» у таких программ находится архитектура свёрточных нейросетей.
👍 Сверточные нейросети состоят из нескольких слоев взаимосвязанных нейронов. Первый слой обычно применяет серию «фильтров» для извлечения важных функций из входного изображения. Именно с помощью применения фильтров входные изображения могут меняться в зависимости от вашего желания.
📌 Мы можем представить себе изображение, состоящее из отдельных пикселей, как функцию, где каждый пиксель имеет свое значение. Для изображения в градациях серого каждый пиксель будет иметь интенсивность от 0 до 255. Если изображение цветное (RGB), то цвета создаются из комбинации красного, зеленого и синего. Получается каждый пиксель изображения имеет три канала и представляется в виде вектора 1x3.Таким образом, изображение может быть представлено в виде матрицы значений пикселей.
📌 Здесь «фильтр» — это небольшая матрица чисел, которая применяется к части входных данных, обходя изображение полностью. Фильтр скользит по входным данным и в каждом месте выполняет скалярное произведение между собой и той частью входных данных, которую он в настоящее время покрывает.
✅ Фильтр повышения резкости можно разделить на два этапа: он берет сглаженное изображение, вычитает его из исходного изображения, чтобы получить «детали» изображения, и добавляет «детали» к исходному изображению.
💭 Друзья, приходилось ли вам когда-нибудь повышать резкость на своих фотокарточках? Думаю, лет 5 назад эта тема была особенно актуальна, так как у большинства смартфонов камеры были не столь чувствительны как сейчас.
🧐 Сталкиваясь с такой проблемой, мы обращаемся за помощью к встроенным функциям или программам, которые прорисовывают детали на наших картинках более четко. Чаще всего «под капотом» у таких программ находится архитектура свёрточных нейросетей.
👍 Сверточные нейросети состоят из нескольких слоев взаимосвязанных нейронов. Первый слой обычно применяет серию «фильтров» для извлечения важных функций из входного изображения. Именно с помощью применения фильтров входные изображения могут меняться в зависимости от вашего желания.
📌 Мы можем представить себе изображение, состоящее из отдельных пикселей, как функцию, где каждый пиксель имеет свое значение. Для изображения в градациях серого каждый пиксель будет иметь интенсивность от 0 до 255. Если изображение цветное (RGB), то цвета создаются из комбинации красного, зеленого и синего. Получается каждый пиксель изображения имеет три канала и представляется в виде вектора 1x3.Таким образом, изображение может быть представлено в виде матрицы значений пикселей.
📌 Здесь «фильтр» — это небольшая матрица чисел, которая применяется к части входных данных, обходя изображение полностью. Фильтр скользит по входным данным и в каждом месте выполняет скалярное произведение между собой и той частью входных данных, которую он в настоящее время покрывает.
✅ Фильтр повышения резкости можно разделить на два этапа: он берет сглаженное изображение, вычитает его из исходного изображения, чтобы получить «детали» изображения, и добавляет «детали» к исходному изображению.
❤12👍6🔥1
🎨 Как работают text2image модели?
Уже довольно долгое время вовсю гремят модели, генерирующие картинки по текстовому описанию. Этих потрясающих результатов они достигли благодаря такому методу как диффуззия.
🔢 Глобально обучение диффузионных моделей состоит из двух шагов:
⁃ Forward diffusion process: постепенно добавляем случайный шум в изображение до тех пор, пока от картинки не останется ничего, кроме зашумленных пикселей.
⁃ Reverse diffusion process: на этом шаге зашумленное изображение нужно "расшумить" - вернуть к своему начальному состоянию.
❗️В качестве базовой архитектуры для реализации этих шагов обычно используют U-Net и ее модификации. При этом сам процесс генерации можно эффективно реализовывать не для оригинальной размерности картинки, а для ее скрытого сжатого представления.
После обучения такая модель сможет генерировать новые изображения из случайного шума.
🔤 В text2image моделях для генерации изображений по тексту нам нужно подать на вход модели информацию из промпта (исходного текста). И здесь первым делом необходимо превратить слова на входе в их векторные представления, которые используются для генерации "направленного" шума - основы будущего изображения. Для гибкой обработки информации из промпта используется механизм внимания - Attention.
🖼 На сегодняшний день существует достаточно большое количество text2image моделей, в числе которых можно выделить Midjourney, недавно обновленную до пятой версии, а также модель Kandinsky 2.1, позволяющую генерировать картинки по русскоязычным текстам.
Уже довольно долгое время вовсю гремят модели, генерирующие картинки по текстовому описанию. Этих потрясающих результатов они достигли благодаря такому методу как диффуззия.
🔢 Глобально обучение диффузионных моделей состоит из двух шагов:
⁃ Forward diffusion process: постепенно добавляем случайный шум в изображение до тех пор, пока от картинки не останется ничего, кроме зашумленных пикселей.
⁃ Reverse diffusion process: на этом шаге зашумленное изображение нужно "расшумить" - вернуть к своему начальному состоянию.
❗️В качестве базовой архитектуры для реализации этих шагов обычно используют U-Net и ее модификации. При этом сам процесс генерации можно эффективно реализовывать не для оригинальной размерности картинки, а для ее скрытого сжатого представления.
После обучения такая модель сможет генерировать новые изображения из случайного шума.
🔤 В text2image моделях для генерации изображений по тексту нам нужно подать на вход модели информацию из промпта (исходного текста). И здесь первым делом необходимо превратить слова на входе в их векторные представления, которые используются для генерации "направленного" шума - основы будущего изображения. Для гибкой обработки информации из промпта используется механизм внимания - Attention.
🖼 На сегодняшний день существует достаточно большое количество text2image моделей, в числе которых можно выделить Midjourney, недавно обновленную до пятой версии, а также модель Kandinsky 2.1, позволяющую генерировать картинки по русскоязычным текстам.
👍8❤7👏5
🍅 Как стать сеньором помидором с нуля в DS?
Вопрос оч хороший, но в нем кроется очень много подвохов.
Неокрепшие умы студентов, которые ищут курс «как с нуля стать востребованным специалистом с 50-ю годами опыта», довольно сильно подвержены маркетинговым уловкам. Впоследствии это может сильно отразиться на мотивации, а также ударить по кошельку.
💭 Давайте представим, что есть обучающая программа «Как стать гендиректором» в ВУЗе/на курсах и где то там еще. Вас научили определенным инструментам, дали знания, эксперты поделились опытом. Гарантирует ли вам это работу гендиректором? Конечно, нет!
Senior/Lead и так далее - это не только про хардовую часть. Важную роль также играют soft-skills. В IT очень легко опереться на hard-скиллы, потому что есть понимание того, как их измерить. Все логично и понятно: знания ML, умение писать оптимальный код и так далее.
📌 Но за что ценятся специалисты от Senior и выше? За их реальный опыт (позитивный и обязательно негативный), за их набитые шишки, за то, что они могут взять на себя ответственность, за опыт, который они наработали в другой команде и знают, как с нуля построить подобный процесс. Причем они не только знают как, но еще и могут. Такой опыт получают на реальной работе.
Но возможно ли создать образовательную программу, которая бы всему этому учила? Может быть, когда-то это станет реальностью, но в этом нет смысла. Зачем мне учить кого-то на реальных данных, нанимать команду, под это пилить инфраструктуру, если я эти же проекты могу делать на аутсорс для других? Сама компания уже может на этом зарабатывать. И в итоге мы приходим к тому, с чего начинали, а именно - получение реального опыта в реальных компаниях. Палка о двух концах.
Очень хочется получить какую-то готовую инструкцию, которая приведет к успеху. Харды - это уже 50-70% успеха. Дело остается за малым - за софтами.
✅ По опыту работают всеми избитые уже навыки (берем среднее по больнице):
⁃ Коммуникабельность
⁃ Умение брать на себя ответственность
⁃ Настойчивость
⁃ Здоровый оптимизм
⁃ Эмпатия
⁃ Терпеливость
👉 Харды вам нужны обязательно. Развивайте также софты и будет вам счастье. О втором подвохе, который характерен для DS, расскажу в следующих постах.
Вопрос оч хороший, но в нем кроется очень много подвохов.
Неокрепшие умы студентов, которые ищут курс «как с нуля стать востребованным специалистом с 50-ю годами опыта», довольно сильно подвержены маркетинговым уловкам. Впоследствии это может сильно отразиться на мотивации, а также ударить по кошельку.
💭 Давайте представим, что есть обучающая программа «Как стать гендиректором» в ВУЗе/на курсах и где то там еще. Вас научили определенным инструментам, дали знания, эксперты поделились опытом. Гарантирует ли вам это работу гендиректором? Конечно, нет!
Senior/Lead и так далее - это не только про хардовую часть. Важную роль также играют soft-skills. В IT очень легко опереться на hard-скиллы, потому что есть понимание того, как их измерить. Все логично и понятно: знания ML, умение писать оптимальный код и так далее.
📌 Но за что ценятся специалисты от Senior и выше? За их реальный опыт (позитивный и обязательно негативный), за их набитые шишки, за то, что они могут взять на себя ответственность, за опыт, который они наработали в другой команде и знают, как с нуля построить подобный процесс. Причем они не только знают как, но еще и могут. Такой опыт получают на реальной работе.
Но возможно ли создать образовательную программу, которая бы всему этому учила? Может быть, когда-то это станет реальностью, но в этом нет смысла. Зачем мне учить кого-то на реальных данных, нанимать команду, под это пилить инфраструктуру, если я эти же проекты могу делать на аутсорс для других? Сама компания уже может на этом зарабатывать. И в итоге мы приходим к тому, с чего начинали, а именно - получение реального опыта в реальных компаниях. Палка о двух концах.
Очень хочется получить какую-то готовую инструкцию, которая приведет к успеху. Харды - это уже 50-70% успеха. Дело остается за малым - за софтами.
✅ По опыту работают всеми избитые уже навыки (берем среднее по больнице):
⁃ Коммуникабельность
⁃ Умение брать на себя ответственность
⁃ Настойчивость
⁃ Здоровый оптимизм
⁃ Эмпатия
⁃ Терпеливость
👉 Харды вам нужны обязательно. Развивайте также софты и будет вам счастье. О втором подвохе, который характерен для DS, расскажу в следующих постах.
❤🔥29🔥3👍2
👮🏻НАКРУТКА ОПЫТА В DS ⛔️
В настоящий момент довольно популярная тема на просторах IT ютуба. Зародилась она конечно же не вчера, а уже давно, и существовала она еще до того, как о данном способе прохождения собесов начали говорить так много.
🧐 Стоит ли накручивать опыт начинающим специалистам, которые только прошли обучение на DS, с целью попасть на собесы?
Мы поговорили об этом в новом ролике с Юлией Морозовой - экспертом в области подбора технических специалистов. Постарались рассмотреть данный способ не с точки зрения морали, а с точки зрения целесообразности и рисков, да и в целом поделились своим опытом, реально ли есть проблема «попасть на собес начинающему джуну».
И ДОПОЛНИТЕЛЬНО, разобрали все возможные ошибки при поиске работы. Иногда кажется, что вот вас умного и хорошего не берут на собесы, а пет-проект то крутой, питончик знаете на ура, что не так? Что происходит?
Думаю, что вы сможете много подчерпнуть для себя из этого видео, поработать над ошибками и наконец попасть в компанию своей мечты на достойную позицию и ЗП!) Надеюсь, что этот ролик в чем-то станет настольной книгой при поиске работы начинающим специалистам 🫶
https://youtu.be/fA7FHj7wbss
В настоящий момент довольно популярная тема на просторах IT ютуба. Зародилась она конечно же не вчера, а уже давно, и существовала она еще до того, как о данном способе прохождения собесов начали говорить так много.
🧐 Стоит ли накручивать опыт начинающим специалистам, которые только прошли обучение на DS, с целью попасть на собесы?
Мы поговорили об этом в новом ролике с Юлией Морозовой - экспертом в области подбора технических специалистов. Постарались рассмотреть данный способ не с точки зрения морали, а с точки зрения целесообразности и рисков, да и в целом поделились своим опытом, реально ли есть проблема «попасть на собес начинающему джуну».
И ДОПОЛНИТЕЛЬНО, разобрали все возможные ошибки при поиске работы. Иногда кажется, что вот вас умного и хорошего не берут на собесы, а пет-проект то крутой, питончик знаете на ура, что не так? Что происходит?
Думаю, что вы сможете много подчерпнуть для себя из этого видео, поработать над ошибками и наконец попасть в компанию своей мечты на достойную позицию и ЗП!) Надеюсь, что этот ролик в чем-то станет настольной книгой при поиске работы начинающим специалистам 🫶
https://youtu.be/fA7FHj7wbss
👍25🔥5❤2😁1
📝 ВАЖНАЯ ЗАМЕТКА НАЧИНАЮЩИМ СПЕЦИАЛИСТАМ
Друзья, сегодня не будет нового сложного контента, пятница все-таки. Хочу зафиксировать здесь одну важную мысль, про которую часто забывают (или не придают значение начинающие специалисты).
Давайте сразу к делу. Допустим вам необходимо внедрить новое бизнес-правило в уже работающую модель или написать кусочек нового функционала. Не нужно сразу бросаться в огонь и писать код с нуля!
✅ Что нужно сделать:
- Изучить репозиторий, где находится модель. Просмотреть несколько файлов с кодом, конфигурационных файлов…
- Отметить для себя общий стиль написания кода в этом репозитории. Какие структуры данных используются, как обращаются с библиотеками, в какой последовательности запускаются методы и так далее.
- Возможно даже найти части кода, которые помогут вам решить поставленную задачу.
- И еще! Часто одна команда работает над различными задачами, поэтому репозиториев может быть больше, чем один. Попросите к ним доступы, просмотрите как пишется код там.
Вообще читать чужой код очень полезный навык. Много нового можно для себя подчерпнуть. Не пугайтесь, что сначала будет трудно. Здесь важна практика.
📌 P.S. А еще можно зайти в закрытые мерж реквесты и почитать замечания к коду, которые получали другие разработчики, и не повторять их ошибок)
Друзья, сегодня не будет нового сложного контента, пятница все-таки. Хочу зафиксировать здесь одну важную мысль, про которую часто забывают (или не придают значение начинающие специалисты).
Давайте сразу к делу. Допустим вам необходимо внедрить новое бизнес-правило в уже работающую модель или написать кусочек нового функционала. Не нужно сразу бросаться в огонь и писать код с нуля!
✅ Что нужно сделать:
- Изучить репозиторий, где находится модель. Просмотреть несколько файлов с кодом, конфигурационных файлов…
- Отметить для себя общий стиль написания кода в этом репозитории. Какие структуры данных используются, как обращаются с библиотеками, в какой последовательности запускаются методы и так далее.
- Возможно даже найти части кода, которые помогут вам решить поставленную задачу.
- И еще! Часто одна команда работает над различными задачами, поэтому репозиториев может быть больше, чем один. Попросите к ним доступы, просмотрите как пишется код там.
Вообще читать чужой код очень полезный навык. Много нового можно для себя подчерпнуть. Не пугайтесь, что сначала будет трудно. Здесь важна практика.
📌 P.S. А еще можно зайти в закрытые мерж реквесты и почитать замечания к коду, которые получали другие разработчики, и не повторять их ошибок)
👍27❤3😁1
📈 Эволюция GPT моделей от GPT-1 до ChatGPT
24 апреля Сбер объявил о выходе модели GigaChat - русской версии ChatGPT, способной генерировать тексты, картинки и решать разнообразные задачи.
На фоне подобных новостей кажется, что внезапно произошел скачок, приблизивший нас к появлению сильного искусственного интеллекта, однако развитие больших языковых моделей (Large Language Models) происходило более поступательно. Давайте кратко пробежимся по основным вехам эволюции таких моделей.
✅ Для начала стоит сказать, что все языковые модели глобально решают одну задачу - предсказание следующего слова. Сама аббревиатура GPT расшифровывается как Generative Pretrained Transformer - генеративный предобученный трансформер. GPT-1 - первая из этой серии, появилась в 2018-ом году и представляла собой двенадцатислойную модель со 117 миллионами обучаемых параметров. Такое огромное, по меркам того времени, количество параметров позволило модели добиться SOTA-качества в 9 из 12 задач при тестировании по сравнению с моделями, специально натренированными на соответствующие задачи.
✅ Следующим скачком стал выход в 2019-ом году модели GPT-2. Для ее обучения был собран набор данных объемом 40 гигабайт, тогда как GPT-1 училась на гораздо более скромном датасете из книг. Кроме того, по сравнению с первой моделью, исследователи увеличили число параметров в 10 раз - до 1.5 миллиардов. Безусловно, такие изменения не могли не отразиться на качестве модели: она снова достигла SOTA-качества во множестве задач на различных языках, научилась писать длинные эссе, переводить тексты и решать простые задачки.
✅ В 2020-ом году пришло время GPT-3. Для ее обучения набор данных увеличили до 420 гигабайт, в которые вошли статьи из Википедии, несколько книжных корпусов, а также тексты из интернета. При этом количество параметров модели и вовсе увеличилось до 175 миллиардов. GPT-3 снова показала SOTA-качество в различных NLP задачах, таких как Question Answering, машинный перевод, языковое моделирование, продемонстрировала понимание арифметики, способность решать логические задачи, программировать и многое другое.
✅ Обычно, когда мы имеем дело с языковыми моделями, обученными на огромных датасетах, неизбежно приходится сталкиваться с токсичными сгенерированными ответами или просто ложными фактами. Однако в 2022-ом году компания OpenAI заявила, что ей удалось сделать модель на на базе GPT-3, ответы которой более корректны и правдоподобны. Для этого поверх обученной GPT-3 применялось обучение с подкреплением на основе отзывов людей (RLHF), чтобы дать модели понять, какой ответ для человека является более предпочтительным. Эту обновленную модель назвали InstructGPT.
✅ И уже в ноябре 2022-го года вышла всем известная ChatGPT. Технических деталей про нее известно не так много, но удобный интерфейс позволил значительно облегчить ее использование для всех, вне зависимости от технических навыков, что, вероятно, подогрело интерес широкой публики.
✅ Также стоит остановиться на уже упомянутом GigaChat - эта модель, в отличие от ChatGPT представляет собой целый ансамбль нейросетевых моделей, объединенных в одном интерфейсе. В качестве базовой языковой модели была взята ruGPT-3, которую дообучали, в том числе на данных в инструктивной форме. Вполне возможно, что для русскоязычных данных эта модель будет показывать качество сопоставимое с ChatGPT.
24 апреля Сбер объявил о выходе модели GigaChat - русской версии ChatGPT, способной генерировать тексты, картинки и решать разнообразные задачи.
На фоне подобных новостей кажется, что внезапно произошел скачок, приблизивший нас к появлению сильного искусственного интеллекта, однако развитие больших языковых моделей (Large Language Models) происходило более поступательно. Давайте кратко пробежимся по основным вехам эволюции таких моделей.
✅ Для начала стоит сказать, что все языковые модели глобально решают одну задачу - предсказание следующего слова. Сама аббревиатура GPT расшифровывается как Generative Pretrained Transformer - генеративный предобученный трансформер. GPT-1 - первая из этой серии, появилась в 2018-ом году и представляла собой двенадцатислойную модель со 117 миллионами обучаемых параметров. Такое огромное, по меркам того времени, количество параметров позволило модели добиться SOTA-качества в 9 из 12 задач при тестировании по сравнению с моделями, специально натренированными на соответствующие задачи.
✅ Следующим скачком стал выход в 2019-ом году модели GPT-2. Для ее обучения был собран набор данных объемом 40 гигабайт, тогда как GPT-1 училась на гораздо более скромном датасете из книг. Кроме того, по сравнению с первой моделью, исследователи увеличили число параметров в 10 раз - до 1.5 миллиардов. Безусловно, такие изменения не могли не отразиться на качестве модели: она снова достигла SOTA-качества во множестве задач на различных языках, научилась писать длинные эссе, переводить тексты и решать простые задачки.
✅ В 2020-ом году пришло время GPT-3. Для ее обучения набор данных увеличили до 420 гигабайт, в которые вошли статьи из Википедии, несколько книжных корпусов, а также тексты из интернета. При этом количество параметров модели и вовсе увеличилось до 175 миллиардов. GPT-3 снова показала SOTA-качество в различных NLP задачах, таких как Question Answering, машинный перевод, языковое моделирование, продемонстрировала понимание арифметики, способность решать логические задачи, программировать и многое другое.
✅ Обычно, когда мы имеем дело с языковыми моделями, обученными на огромных датасетах, неизбежно приходится сталкиваться с токсичными сгенерированными ответами или просто ложными фактами. Однако в 2022-ом году компания OpenAI заявила, что ей удалось сделать модель на на базе GPT-3, ответы которой более корректны и правдоподобны. Для этого поверх обученной GPT-3 применялось обучение с подкреплением на основе отзывов людей (RLHF), чтобы дать модели понять, какой ответ для человека является более предпочтительным. Эту обновленную модель назвали InstructGPT.
✅ И уже в ноябре 2022-го года вышла всем известная ChatGPT. Технических деталей про нее известно не так много, но удобный интерфейс позволил значительно облегчить ее использование для всех, вне зависимости от технических навыков, что, вероятно, подогрело интерес широкой публики.
✅ Также стоит остановиться на уже упомянутом GigaChat - эта модель, в отличие от ChatGPT представляет собой целый ансамбль нейросетевых моделей, объединенных в одном интерфейсе. В качестве базовой языковой модели была взята ruGPT-3, которую дообучали, в том числе на данных в инструктивной форме. Вполне возможно, что для русскоязычных данных эта модель будет показывать качество сопоставимое с ChatGPT.
🔥15👍6👌2
🍅 Как стать сеньором помидором с нуля / продолжение
Мне показалось не очень корректным посвящать такой теме еще небольшой пост, поэтому я удосужилась снять отдельное видео.
В прошлом посте мы поговорили о курсах, которые помогут вам стать суперменом/гендиректором/senior, об этом также вскользь упомянула в видео, ведь не все читают мои посты в телеграмм, а надо бы))
Есть еще одна важная деталь. В Data Science есть несколько областей NLP, CV, RecSys, кто-то больше начинает специализироваться на A/B тестировании, RL, а есть еще и MLOps и так далее. И в каждой из этих областей бездна и голубой океан, многие направления еще предстоит открыть.
Мне сложно представить человека, который был бы супер специалист абсолютно во всех областях, возможно, есть такие, давайте не исключать такую вероятность, но она очень и очень мала.
Поэтому хочется спросить, специалист в чем? Обратите внимание на вакансии для опытных специалистов, обычно всегда присылают даже к названию вакансии NLP/CV ….
Сложно представить DS, который специализируется на A/B тестировании, как он успешно проходит собес в команду, где занимаются Self-driving car, а команде нужен человек именно с опытом например в распознании объектов, обработке инфо с датчиков и все что связано с CV, но не с A/B тестированием.
Специалист то может он и неплохой, но не во всем и везде, и это нормально.
https://youtu.be/QmqgPAP0Osw
Мне показалось не очень корректным посвящать такой теме еще небольшой пост, поэтому я удосужилась снять отдельное видео.
В прошлом посте мы поговорили о курсах, которые помогут вам стать суперменом/гендиректором/senior, об этом также вскользь упомянула в видео, ведь не все читают мои посты в телеграмм, а надо бы))
Есть еще одна важная деталь. В Data Science есть несколько областей NLP, CV, RecSys, кто-то больше начинает специализироваться на A/B тестировании, RL, а есть еще и MLOps и так далее. И в каждой из этих областей бездна и голубой океан, многие направления еще предстоит открыть.
Мне сложно представить человека, который был бы супер специалист абсолютно во всех областях, возможно, есть такие, давайте не исключать такую вероятность, но она очень и очень мала.
Поэтому хочется спросить, специалист в чем? Обратите внимание на вакансии для опытных специалистов, обычно всегда присылают даже к названию вакансии NLP/CV ….
Сложно представить DS, который специализируется на A/B тестировании, как он успешно проходит собес в команду, где занимаются Self-driving car, а команде нужен человек именно с опытом например в распознании объектов, обработке инфо с датчиков и все что связано с CV, но не с A/B тестированием.
Специалист то может он и неплохой, но не во всем и везде, и это нормально.
https://youtu.be/QmqgPAP0Osw
YouTube
Как стать Senior Data Scientist с НУЛЯ? С чего начать обучение?
Школа Data Science https://pymagic.ru
Пост про сеньора помидора с нуля в telegram https://t.iss.one/pymagic/428
00:00 Кто такой Senior Data Scientist? За что ценится Senior?
01:26 Существуют ли курсы как стать Middle/Senior/Lead с нуля?
03:18 Почему важно выбирать…
Пост про сеньора помидора с нуля в telegram https://t.iss.one/pymagic/428
00:00 Кто такой Senior Data Scientist? За что ценится Senior?
01:26 Существуют ли курсы как стать Middle/Senior/Lead с нуля?
03:18 Почему важно выбирать…
👍42❤6🤩1
Еще больше ИТ контента и на любой вкус и цвет 👌
У нас есть прекрасное сообщество ityoutubers, где вы можете найти подходящий контент для себя почти по любому языку программирования, направлению ИТ, или можете просто посмотреть интервью с известными ребятами из айтишки https://t.iss.one/addlist/3C6r62d43SZmYWJi
Есть агрегатор ежедневных ИТ-новостей из разных телеграмм каналов https://t.iss.one/ityoutubers_com
У нас есть прекрасное сообщество ityoutubers, где вы можете найти подходящий контент для себя почти по любому языку программирования, направлению ИТ, или можете просто посмотреть интервью с известными ребятами из айтишки https://t.iss.one/addlist/3C6r62d43SZmYWJi
Есть агрегатор ежедневных ИТ-новостей из разных телеграмм каналов https://t.iss.one/ityoutubers_com
Telegram
IT YouTubers
You’ve been invited to add the folder “IT YouTubers”, which includes 51 chats.
👍10🤯4
ЗАЧЕМ В НЕЙРОННЫХ СЕТЯХ НУЖНЫ НЕЛИНЕЙНОСТИ?
Друзья, давайте сегодня поговорим про нелинейность в нейросетях. И обсудим достаточно важный вопрос, ответ на который нужно хорошо понимать.
👁️🗨️ Перейдем сразу к рассуждению. Нелинейность достигается за счет использования функций активации в нейронах сети. Функция активации — это нелинейная функция, которая применяется к выходу каждого нейрона, что позволяет сети фиксировать нелинейные отношения между входами и выходами. Обратите внимание на иллюстрацию.
✏️ Примером функции активации может быть сигмоидальная функция (или сигмоида), которая принимает входное значение и сжимает его в диапазоне от 0 до 1. Но чаще всего применяется ReLU (Rectified Linear Unit) или Leaky ReLU, где если входное значение больше 0, выходное значение будет таким же, как и входное значение. Однако, если входное значение меньше или равно 0, выходное значение будет равно 0.
👌 Нелинейность позволяет нейросети моделировать сложные отношения между входными и выходными данными. Другими словами, позволяет моделировать паттерны, которые нельзя выразить в виде простой линейной функции.
✅ Таким образом, даже если мы накручиваем в модели несколько линейных слоев, то на выходе мы получим комбинацию линейных признаков. Соответственно, набор линейных слоев ничем не лучше одного линейного слоя. С добавлением слоев мы будем получать линейную модель над линейными моделями. А наша задача - не ограничивать модель линейными взаимосвязями.
Друзья, давайте сегодня поговорим про нелинейность в нейросетях. И обсудим достаточно важный вопрос, ответ на который нужно хорошо понимать.
👁️🗨️ Перейдем сразу к рассуждению. Нелинейность достигается за счет использования функций активации в нейронах сети. Функция активации — это нелинейная функция, которая применяется к выходу каждого нейрона, что позволяет сети фиксировать нелинейные отношения между входами и выходами. Обратите внимание на иллюстрацию.
✏️ Примером функции активации может быть сигмоидальная функция (или сигмоида), которая принимает входное значение и сжимает его в диапазоне от 0 до 1. Но чаще всего применяется ReLU (Rectified Linear Unit) или Leaky ReLU, где если входное значение больше 0, выходное значение будет таким же, как и входное значение. Однако, если входное значение меньше или равно 0, выходное значение будет равно 0.
👌 Нелинейность позволяет нейросети моделировать сложные отношения между входными и выходными данными. Другими словами, позволяет моделировать паттерны, которые нельзя выразить в виде простой линейной функции.
✅ Таким образом, даже если мы накручиваем в модели несколько линейных слоев, то на выходе мы получим комбинацию линейных признаков. Соответственно, набор линейных слоев ничем не лучше одного линейного слоя. С добавлением слоев мы будем получать линейную модель над линейными моделями. А наша задача - не ограничивать модель линейными взаимосвязями.
👍27😍2
📝 Суммаризация текста: основные подходы
Мы каждодневно сталкиваемся с потоком различной информации, в том числе и текстовой. Зачастую не хочется читать длинный текст целиком, чтобы понять его суть, и тогда мы пытаемся найти краткое содержание или читать только отдельные абзацы. Со временем так появилась задача суммаризации, которая ставит своей целью получение краткой аннотации длинного текста.
Глобально все модели для суммаризации делятся на два класса: экстрактивные и абстрактивные.
1️⃣ В процессе экстрактивной суммаризации аннотация составляется из отдельных частей исходного текста, например, целых предложений или абзацев. В качестве конкретных методов можно выделить семейство алгоритмов на графах, таких как TextRank и LexRank - в этих моделях строится граф, в котором вершинами являются сегменты текста, а ребрами - связи между ними. Затем для каждой вершины рассчитывается ее вес для создания итоговой аннотации.
В целом экстрактивные модели, как правило, проще - их гораздо легче реализовать, однако качество работы оставляет желать лучшего: полученные тексты будут лишены гибкости, связности и согласованности между собой.
2️⃣ В случае абстрактивной суммаризации модель генерирует новый текст, содержащий основную информацию из исходного. Фактически, модель для абстрактивной суммаризации обычно является нейросетевой моделью с архитектурой Encoder-Decoder. Эта архитектура предполагает, что нейросеть состоит из двух частей, первая - энкодер, создает скрытое представление текста на входе и передает его второй части - декодеру, который и генерирует аннотацию.
Разумеется, подобные модели сложнее в реализации, но и качество полученных результатов намного превосходит экстрактивные методы. На практике, сегодня пальму первенства в этой задаче, как и во многих других, держат трансформеры, при этом многие модели выложены в open-source, а, значит, доступны и для ваших проектов.
Мы каждодневно сталкиваемся с потоком различной информации, в том числе и текстовой. Зачастую не хочется читать длинный текст целиком, чтобы понять его суть, и тогда мы пытаемся найти краткое содержание или читать только отдельные абзацы. Со временем так появилась задача суммаризации, которая ставит своей целью получение краткой аннотации длинного текста.
Глобально все модели для суммаризации делятся на два класса: экстрактивные и абстрактивные.
1️⃣ В процессе экстрактивной суммаризации аннотация составляется из отдельных частей исходного текста, например, целых предложений или абзацев. В качестве конкретных методов можно выделить семейство алгоритмов на графах, таких как TextRank и LexRank - в этих моделях строится граф, в котором вершинами являются сегменты текста, а ребрами - связи между ними. Затем для каждой вершины рассчитывается ее вес для создания итоговой аннотации.
В целом экстрактивные модели, как правило, проще - их гораздо легче реализовать, однако качество работы оставляет желать лучшего: полученные тексты будут лишены гибкости, связности и согласованности между собой.
2️⃣ В случае абстрактивной суммаризации модель генерирует новый текст, содержащий основную информацию из исходного. Фактически, модель для абстрактивной суммаризации обычно является нейросетевой моделью с архитектурой Encoder-Decoder. Эта архитектура предполагает, что нейросеть состоит из двух частей, первая - энкодер, создает скрытое представление текста на входе и передает его второй части - декодеру, который и генерирует аннотацию.
Разумеется, подобные модели сложнее в реализации, но и качество полученных результатов намного превосходит экстрактивные методы. На практике, сегодня пальму первенства в этой задаче, как и во многих других, держат трансформеры, при этом многие модели выложены в open-source, а, значит, доступны и для ваших проектов.
👍21⚡1
🥋 ChatGPT vs Программисты: кто победит в битве за будущее?
🤖 В новом ролике мы поговорили с экспертом из области NLP Айдаром Валеевым (Digital Habits, ex EORA) как работает ChatGPT. Обсудили сможет ли такая модель заменить программистов в ближайшей перспективе, причем ответ дали, исходя из того, как устроен алгоритм, это дает больше понимания на что он способен.
Затронули такие интересные темы как суммаризация исходного кода, зачем она нужна программистам, а также поговорили про техдолг.
🚀 Кроме того, мы рады сообщить, что мы запускаем курс по Natural Language Processing для начинающих, где Айдар является автором и лектором. Курс подойдет всем, кто хочет работать в области обработки естественного языка и стать специалистом по NLP.
Помимо теории и практических заданий, мы предусмотрели дополнительные мастер-классы с экспертами из области NLP, которые поделятся реальными примерами использования NLP в компаниях с разбором теории и кода на python.
Самые внимательные зрители получат промокод на скидку в 10% при оплате курса, всего доступно только 30 штук.
https://youtu.be/N9LaI01atZU
🤖 В новом ролике мы поговорили с экспертом из области NLP Айдаром Валеевым (Digital Habits, ex EORA) как работает ChatGPT. Обсудили сможет ли такая модель заменить программистов в ближайшей перспективе, причем ответ дали, исходя из того, как устроен алгоритм, это дает больше понимания на что он способен.
Затронули такие интересные темы как суммаризация исходного кода, зачем она нужна программистам, а также поговорили про техдолг.
🚀 Кроме того, мы рады сообщить, что мы запускаем курс по Natural Language Processing для начинающих, где Айдар является автором и лектором. Курс подойдет всем, кто хочет работать в области обработки естественного языка и стать специалистом по NLP.
Помимо теории и практических заданий, мы предусмотрели дополнительные мастер-классы с экспертами из области NLP, которые поделятся реальными примерами использования NLP в компаниях с разбором теории и кода на python.
Самые внимательные зрители получат промокод на скидку в 10% при оплате курса, всего доступно только 30 штук.
https://youtu.be/N9LaI01atZU
YouTube
ChatGPT: Революция в программировании или конец профессии? Айдар Валеев
Курс Easy Natural Language Processing (NLP) для начинающих https://pymagic.ru/easy-nlp
Промокод скидка 10% на курс EASYNLPMIRACL6
00:00 Айдар Валеев. Какие проекты NLP делал
04:33 Суммаризация исходного кода
06:16 Система CodeAche, которая позволяет отслеживать…
Промокод скидка 10% на курс EASYNLPMIRACL6
00:00 Айдар Валеев. Какие проекты NLP делал
04:33 Суммаризация исходного кода
06:16 Система CodeAche, которая позволяет отслеживать…
👍10❤5❤🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
💭 НЕЙРОСЕТЬ ГЕНЕРИРУЕТ ВИДЕО
NVIDIA показала новую нейросеть VideoLDM, генерирующую короткие видеоролики по текстовому описанию. Компания разработала ее совместно со специалистами из Корнельского университета.
💬 На вход нейросеть получает текстовое описание, а на выходе создается видеоролик - множество разнообразных, согласованных по времени изображений с неплохим качеством. При этом максимальное разрешение генерируемого нейросетью видео составляет 2048 x 1280 пикселей, частотой 24 кадра в секунду.
✅ Video LDM генерирует ролики покадрово, используя при этом Stable Diffusion (нейросеть, которая позволяет генерировать изображения на основе текстового запроса)
👁️ Сейчас VideoLDM тестируют внутри NVIDIA. В компании отмечают, что добились заметных успехов по качеству видео относительно текстового запроса всего за месяц.
Когда именно нейросетью смогут воспользоваться все желающие, неизвестно.
P.S. Друзья, на наших глазах современные технологии создают «новое искусство». Интересно, скоро ли мы увидим боевик, созданный нейросетью по сценарию известного режиссера? 🧐
NVIDIA показала новую нейросеть VideoLDM, генерирующую короткие видеоролики по текстовому описанию. Компания разработала ее совместно со специалистами из Корнельского университета.
💬 На вход нейросеть получает текстовое описание, а на выходе создается видеоролик - множество разнообразных, согласованных по времени изображений с неплохим качеством. При этом максимальное разрешение генерируемого нейросетью видео составляет 2048 x 1280 пикселей, частотой 24 кадра в секунду.
✅ Video LDM генерирует ролики покадрово, используя при этом Stable Diffusion (нейросеть, которая позволяет генерировать изображения на основе текстового запроса)
👁️ Сейчас VideoLDM тестируют внутри NVIDIA. В компании отмечают, что добились заметных успехов по качеству видео относительно текстового запроса всего за месяц.
Когда именно нейросетью смогут воспользоваться все желающие, неизвестно.
P.S. Друзья, на наших глазах современные технологии создают «новое искусство». Интересно, скоро ли мы увидим боевик, созданный нейросетью по сценарию известного режиссера? 🧐
👍13🔥7❤3
Задача классификации целых текстов кажется довольно привычной, но несколько обособленно от нее стоит задача классификации токенов, в которой каждому токену присваивается некоторая метка. К таким задачам можно отнести распознавание именованных сущностей (Named Entity Recognition).
🤔 Распознавание именованных сущностей нацелено на поиск и классификацию последовательностей токенов, представляющих собой имена собственные, адреса, наименования компаний и тп. Сложность представляет то, что в определенных контекстах одно и то же слово может как быть именованной сущностью, так и не быть ей. Например, есть разница между словом "мегафон" - устройством звукоусиления, и наименованием компании "Мегафон". Также очень часто сущности представляют собой связные последовательности из нескольких токенов, поэтому модель должна уметь находить их начало и конец.
📝 Для корректного поиска последовательностей во время разметки, как правило, используют нотацию BIO. Метка B (beginning) обозначает начало именованной сущности, метка I (inside) - внутренний токен, а O (outside) - любое слово, не относящееся к целевой последовательности.
✅ Чтобы оценить качество решения задачи применяют стандартные метрики классификации, такие как точность, полнота и F1-мера.
⌛️ В прошлом NER-задачу решали с помощью rule-based методов - систем, построенных на правилах, например, таких как регулярные выражения. На смену им пришли нейросетевые архитектуры в структуре которых были biLSTM слои - двунаправленные рекуррентные слои, умеющие читать тексты в двух направлениях, слева направо и обратно. Сегодня же SOTA-качество традиционно демонстрируют трансформерные архитектуры.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12👍7
🧠 Как правило, если мы слышим термины "сверточная нейронная сеть" или "сверточные слои", в сознании моментально появляются ассоциации с обработкой изображений. Действительно, именно благодаря сверткам в прошлом произошел прорыв в области компьютерного зрения, и на этом фоне удивительно допускать мысль об использовании подобных моделей в задачах NLP. Тем не менее это возможно.
📌 Фактически операция свертки представляет собой скольжение матрицы-фильтра по матрице входных данных и выполнение операции скалярного произведения. Это приводит нас к необходимости представить тексты на входе в матричном виде, и простейший способ это реализовать – сопоставить каждому тексту матрицу из конкатенированных эмбеддингов токенов.
📌 Казалось бы, после такого преобразования можно смело применять операцию свертки, однако есть нюанс: теперь входные данные имеют два измерения: высота – размерность вектора эмбеддинга, и ширина, равная количеству токенов в тексте. При этом незачем двигать фильтр свертки по вертикали, захватывая отдельные куски эмбеддингов токенов, – для нас они имеют смысл только при рассмотрении векторов полностью. Значит, наш фильтр будет двигаться только в одном измерении, по ширине входной матрицы, и мы получаем так называемую одномерную свертку (1D convolution).
📌 Как правило, после применения сверточного слоя к данным традиционно проводят пулинг – уплотнение карты признаков в виде усреднения или взятия максимального элемента, но в случае текстовых данных используется особый Max Over Time Pooling – взятие максимального элемента по всей ширине полученной матрицы.
Разумеется, в описанной архитектуре можно использовать несколько фильтров свертки разного размера, а также стекать сверточные слои, усложняя конструкцию модели и достигая более хорошей обобщающей способности.
📈 В целом сверточные сети проигрывают рекуррентным сетям в отношении обработки текстовых данных, однако демонстрируют неплохую эффективность в задачах классификации текстов и последовательностей токенов.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤1
This media is not supported in your browser
VIEW IN TELEGRAM
🧠 Компьютерное зрение
В новом ролике поговорили про перспективы такого направления как компьютерное зрение с Александром Мотыко к.т.н., доцентом кафедры телевидения и видеотехники СПбГЭТУ «ЛЭТИ».
🚀 Александр имеет более 80 научных публикаций на тему цифровой обработки изображений, видеоаналитики, интеллектуальных телевизионных систем, колориметрии.
Кстати, он также становился несколько раз лучшим преподавателем по мнению студентов, конечно, мы не могли не обсудить как можно заинтересовать и мотивировать ученика к обучению.
Было очень интересно поговорить про то, как Computer Vision помогает врачам при проведении лапароскопии, смогут ли алгоритмы в будущем заменить врачей, а также про популярные задачи, такие как распознавание лиц, автономную навигацию и распознавание текстов.
https://youtu.be/C6si6HB9ISU
В новом ролике поговорили про перспективы такого направления как компьютерное зрение с Александром Мотыко к.т.н., доцентом кафедры телевидения и видеотехники СПбГЭТУ «ЛЭТИ».
🚀 Александр имеет более 80 научных публикаций на тему цифровой обработки изображений, видеоаналитики, интеллектуальных телевизионных систем, колориметрии.
Кстати, он также становился несколько раз лучшим преподавателем по мнению студентов, конечно, мы не могли не обсудить как можно заинтересовать и мотивировать ученика к обучению.
Было очень интересно поговорить про то, как Computer Vision помогает врачам при проведении лапароскопии, смогут ли алгоритмы в будущем заменить врачей, а также про популярные задачи, такие как распознавание лиц, автономную навигацию и распознавание текстов.
https://youtu.be/C6si6HB9ISU
👍15🔥7⚡1👏1
🚀 Друзья, с 19 июня у нас стартует курс по обработке естественного языка NLP. Это отдельная углубленная программа, которая предназначена для тех, кто в дальнейшем хочет работать NLP специалистом, либо реализовывать свои проекты в данной области.
Студенты курса смогут получать поддержку в Discord. Там вы сможете задавать вопросы по материалам, возможно вам будет нужна помощь в реализации вашего рабочего проекта по NLP.
✅ Кратко пробежимся по программе:
⁃ Что такое NLP? Предобработка текста (токенизация, стемминг и т.д.)
⁃ Напишем свой чат бот на регулярках и запустим его в телеграмм
⁃ Лексический анализ. WordNet, TF-IDF, LSA
⁃ Что такое эмбеддинги? Напишем простейшую нейронную сеть, которую обучим для предсказания следующего слова
⁃ Обучение эмбеддингов для слов с помощью Word2vec, fastText и GloVe
⁃ Как устроены и работают Transformers. Разберем как обучается BERT
⁃ Зачем нужен Transfer Learning? GPT и чем она примечательна
⁃ Пример из опыта: «Классификация намерений и FAQ. Извлечение товаров и жалоб»
⁃ Научимся применять полученные знания для различных задач: распознавание сущностей, получение тематик, анализ тональности, адаптация к домену, генерация эмбеддингов для узкой задачи
Дополнительно у нас будет разбор реальных кейсов из индустрии с примерами кода от специалистов из Ozon Tech и Delivery Hero:
⁃ Как развернуть большие модели (на примере Transformers) и подружить их с инфраструктурой
⁃ Как расшифровывать звонки в текст, сделать классификацию и провести пост анализ
Более подробная информация о курсе на сайте PyMagic
По промокоду EASYNLPTG вы сможете получить доп скидку в 15% при полной оплате
Также мы принимаем платежи из-за рубежа 🌎
Please open Telegram to view this post
VIEW IN TELEGRAM
pymagic.ru
Easy Natural Language Processing — курс для начинающих
Уровень junior-middle
🔥15👍7❤4⚡1
🤑Друзья, поговорим сегодня в вами на тему, которая волнует, кажется, 99% людей, желающих быстро «вкатиться в АйТи» и получать огромные суммы денег.
🫶Уверена, что моя аудитория давно понимает, что «легких больших денег» в нашей сфере заработать не так то просто. Но если ты горишь своим делом, то для тебя это будет как интересное приключение, где каждый раз, преодолевая новые этапы, ты получаешь заряд положительных эмоций и увеличение дохода)
🤕 Работа в сфере data science это ежедневный труд, который требует:
⁃ Постоянного развития
⁃ Колоссальной усидчивости
⁃ Ответственности
⁃ Самодисциплины
⁃ Умения принимать критику
⁃ Интереса к сфере, в которой работаешь
Список можно продолжать бесконечно. В принципе это применимо к любой другой области, где вы хотите стать профессионалом своего дела.
🤓Эта сфера точно не про людей, которые ждут быстрых результатов. Но вы же помните, что если развитие в данной области вам по душе, то можно справиться абсолютно со всеми трудностями.
📍Перейдем к главному вопросу. Реальный опыт в ИТ - это самое ценное, что можно получить. При правильном использовании опыта рождается профессионализм.
✅ У меня есть ни одна история, когда ребята после курсов шли работать стажерами в компании за 20-40 тысяч. Спустя уже пол года эти люди работали, получая достойную зарплату.
«Я пройду это стажировку за 20-30 тысяч, если на данный момент меня не берут на более высокооплачиваемую должность дата саентиста. И вскоре, буду «стоить» дороже, чем те, кто пропускал такую возможность получить ОПЫТ»
💚Никого не призываю рассуждать подобным образом. Понятно, что в этой истории есть тысячу «но»…
Все ситуации разные, главное нужно пробовать и экспериментировать, особенно, если считаете, что это ваше)
А что думаете вы?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32🤔3👌2🔥1
🚀 Друзья, с 19 июня у нас стартует курс по компьютерному зрению. Мы подготовили для вас мощную программу по Computer Vision от экспертов в этой области с огромным количеством теории и практики, а также примерами пайпланов вывода таких решений в продакшн.
📚 В ходе курса вы изучите природу изображений, узнаете о различных задачах компьютерного зрения, включая классификацию изображений, детектирование объектов, сегментацию сцен и многое другое. Познакомитесь с новейшими нейросетевыми архитектурами, а также научитесь использовать современный технический стек: OpenCV, TensorFlow, Keras и PyTorch и другие инструменты.
👩💻 Помимо этого, вам будут доступны мастер-классы с примерами кода от экспертов ведущих компаний, таких как MTS AI, Teads и СКБ Контур. На мастер-классах вы узнаете о:
• Виртуальной рекламе в компьютерном зрении и о том, как вывести такое решение в продакшн • Как при помощи видеоаналитики анализировать поток клиентов, отслеживать наличие сотрудников на рабочем месте и многое другое с разбором пайплайна решения в продакшн • Как вести и внедрять индустриальные Computer Vision проекты на примере проекта по анализу рукописного текстаБолее подробная информация о курсе на сайте PyMagic
По промокоду EASYCVTG вы сможете получить доп скидку в 15% при полной оплате
Также мы принимаем на сайте платежи из-за рубежа 🌎
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12❤2👍2⚡1👏1
This media is not supported in your browser
VIEW IN TELEGRAM
🎞 Text-to-video модели
Всего несколько лет назад появились первые модели генерации изображений по текстовому описанию, и вот теперь мы наблюдаем невероятные арты и реалистичные картинки от Midjourney и подобных моделей. Однако, можно вспомнить о еще более амбициозной задаче - генерации видео по тексту.
Современные модели генерации видео чаще всего основаны на диффузии, но, несмотря на потрясающие достижения диффузионных моделей с изображениями, создание видеоряда все еще остается трудоемким занятием.
🕒 Во-первых, хотя отдельные кадры и являются изображениями, во время их генерации необходимо учесть последовательность, временную согласованность происходящего. Это увеличивает вычислительные затраты модели как во время обучения, так и во время инференса. Фактически необходимо двигаться по последовательности кадров скользящим окном, что значительно замедляет работу и увеличивает вычислительную сложность.
📚 Во-вторых, затрудняет обучение нехватка хорошо аннотированных датасетов. Мультимодальные наборы данных для преобразования текста в видео немногочисленны и часто плохо размечены, что затрудняет выявление паттернов сложной семантики движений.
📝 При наличии набора данных, часто одного предложения или заголовка видео недостаточно, чтобы дать модели всеобъемлющее понимание контекста и динамики сцены. В идеале видео должно быть аннотировано целым набором текстовых описаний сюжета.
🚀 Тем не менее, даже с учетом этих сложностей уже есть модели, успешно генерирующие видео небольшой длины, например, Gen-1 от компании Runway Research. Эта модель синтезирует результат из существующего видео и текстового промпта, сочетая выходы двух диффузионных моделей, одна из которых генерирует общую структуру видео, а другая - изображения по текстовому описанию. А ModelScope text2video напрямую генерирует видео только по тексту, поданному на вход.
Полезные ссылки:
https://modelscope.cn/models/damo/text-to-video-synthesis/summary
https://research.runwayml.com/gen1
Всего несколько лет назад появились первые модели генерации изображений по текстовому описанию, и вот теперь мы наблюдаем невероятные арты и реалистичные картинки от Midjourney и подобных моделей. Однако, можно вспомнить о еще более амбициозной задаче - генерации видео по тексту.
Современные модели генерации видео чаще всего основаны на диффузии, но, несмотря на потрясающие достижения диффузионных моделей с изображениями, создание видеоряда все еще остается трудоемким занятием.
🕒 Во-первых, хотя отдельные кадры и являются изображениями, во время их генерации необходимо учесть последовательность, временную согласованность происходящего. Это увеличивает вычислительные затраты модели как во время обучения, так и во время инференса. Фактически необходимо двигаться по последовательности кадров скользящим окном, что значительно замедляет работу и увеличивает вычислительную сложность.
📚 Во-вторых, затрудняет обучение нехватка хорошо аннотированных датасетов. Мультимодальные наборы данных для преобразования текста в видео немногочисленны и часто плохо размечены, что затрудняет выявление паттернов сложной семантики движений.
📝 При наличии набора данных, часто одного предложения или заголовка видео недостаточно, чтобы дать модели всеобъемлющее понимание контекста и динамики сцены. В идеале видео должно быть аннотировано целым набором текстовых описаний сюжета.
🚀 Тем не менее, даже с учетом этих сложностей уже есть модели, успешно генерирующие видео небольшой длины, например, Gen-1 от компании Runway Research. Эта модель синтезирует результат из существующего видео и текстового промпта, сочетая выходы двух диффузионных моделей, одна из которых генерирует общую структуру видео, а другая - изображения по текстовому описанию. А ModelScope text2video напрямую генерирует видео только по тексту, поданному на вход.
Полезные ссылки:
https://modelscope.cn/models/damo/text-to-video-synthesis/summary
https://research.runwayml.com/gen1
👍15🔥2❤1🤯1