Pull to refresh
36
0
Руслан Гримов @RGrimov

Software developer

Send message

Как я обучил нейросеть генерировать постеры с Нивой

Level of difficultyEasy
Reading time2 min
Views8.3K

В жизни каждого мужчины наступает момент когда он хочет купить Ниву. Вот в 33 года и мне захотелось приобрести данный автомобиль. А пока я копил деньги на долгожданную покупку, захотелось какого нибудь мерча с Нивой. Быстрый поиск по популярным маркетплейсам не дал результатов, которые бы порадовали моего внутренного эстета.

Было решено сгенерировать изображения с помощью нейросети. Опробовал Dall‑E и Midjorney, Flux — все не то, нейросети никогда не видели нашей отечественной Нивы.

Подумав что я же инженер, решил дообучить Flux на открытых фотографиях Нивы из интернета.

Читать далее
Total votes 18: ↑14 and ↓4+15
Comments8

Sapiens: фундаментальная CV-модель для задач с людьми

Level of difficultyEasy
Reading time4 min
Views3.3K

Почти две недели назад из недр одной из самых прорывных AI лабораторий мира вышла новая классная модель (а точнее — семейство моделей) компьютерного зрения, но данная новость в русскоязычном интернете прошла будто бы без энтузиазма. А зря — штука довольно хороша.

Итак, у нас есть семейство моделей, которое из коробки поможет решить «четыре фундаментальные задачи человека в CV» (цитата авторов) и давайте посмотрим, что же там есть есть и как это работает.

Скажу сразу, что мне хотелось написать скорее напоминательно-обзорный пост о том, что такая модель вообще вышла и чего ожидать от нее в дальнейшем. В живых проектах мы пока это не использовали (но однозначно будем) и свой большой обзор писать рановато, но я поигрался с демками и да — результаты повторяемы. Технических деталей будет минимум — пейпер хорош и не стоит лишать удовольствия его прочитать самому целиком, особенно, если вы занимаетесь похожими задачами.

Читать далее
Total votes 12: ↑12 and ↓0+15
Comments2

Какой трансформер в океане плавает быстрее всех? Тестируем скорость нейросетей для видео-энкодеров

Level of difficultyMedium
Reading time10 min
Views1.9K

Одно из направлений работы нашей команды компьютерного зрения Vision RnD в SberDevices — распознавание жестового языка. Об этой задаче и о том, как мы ее решаем, мы уже писали на Хабре тут и тут (а еще тут и тут). Некоторое время назад перед нами встал вопрос выбора архитектуры нейросети для быстрой и качественной обработки изображений (видео‑энкодера). Хотя сама задача распознавания жестового языка предполагает обработку видео, в качестве первого этапа нужна нейросеть, обрабатывающая изображения на отдельных кадрах. Причем делающая это достаточно быстро, чтобы обеспечить работу всей конструкции в реальном времени. Безусловно, за последний десяток лет человечеству стало известно немало архитектур нейросетей для обработки изображений. Однако, сопоставить их по критерию цена‑качество точность‑производительность и выбрать лидера не так просто. Мы решили собрать несколько популярных решений‑претендентов на звание чемпиона и провести состязание в славном городе Гамбурге тестирование в идентичных условиях. Результатами этого исследования делимся под катом.

Читать далее
Total votes 7: ↑7 and ↓0+10
Comments0

Секреты логических операторов в Python

Level of difficultyMedium
Reading time8 min
Views23K

Логические операции играют важную роль в программировании. Они используются для создания условных конструкций и составления сложных алгоритмов. В Python для проведения логических операций используются логические операторы:

not — логическое отрицание

and — логическое умножение

or — логическое сложение

В этой статье мы поговорим о неочевидных деталях и скрытых особенностях работы логических операторов в Python.

Читать далее
Total votes 46: ↑44 and ↓2+52
Comments37

Продвинутые техники работы с промптами в Midjourney

Reading time18 min
Views7.5K

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

Правильно составленный промпт позволяет направлять нейросеть в нужное русло, задавать стиль, настроение и детали изображения. От качества промпта напрямую зависит качество и соответствие сгенерированных изображений вашему замыслу.

Цель данного гайда - познакомить вас с продвинутыми техниками работы с промптами в Midjourney. Независимо от того, являетесь ли вы художником, дизайнером или просто энтузиастом, стремящимся исследовать возможности Midjourney, этот гайд поможет вам вывести свои навыки работы с промптами на новый уровень. Надеемся, вы сможете найти в нем что-то новое для себя!

Приятного прочтения:)

Читать далее
Total votes 13: ↑12 and ↓1+12
Comments8

Как создать ассистента для поиска по видео

Reading time9 min
Views1.6K

Всем привет! Меня зовут Георгий, я старший разработчик‑исследователь в MTS AI. Одной из задач, которыми я занимаюсь в компании, является умная видеоаналитика. Это мощный инструмент, особенно с учетом современных технологий искусственного интеллекта, который может использоваться во многих отраслях: от торговли до обслуживания клиентов.

При этом у сегодняшних систем видеоаналитики есть существенное ограничение: они заточены под узкие задачи и конкретные типы событий — например, распознавание автомобильных номеров, пересечение границ, детектирование лиц. Конечно, прогресс не стоит на месте, и за прошедший год появилось много мультимодальных моделей, способных отвечать на широкий спектр вопросов по видео — но они работают лишь на очень коротких роликах и требуют серьезных вложений в «железо».

Тем не менее представьте, что можно создать общую систему видеоаналитики, которая заранее не настроена на определенные события. Она гибкая и умеет понимать задачи во время общения с пользователем. Запросы могут быть разнообразными, например: «предупреди меня, если в кадре произойдет ЧП, например, пожар или драка» или «я хочу найти кадры с желтыми автомобилями такси».

Можно ли найти подход, при котором система сможет отвечать на широкий спектр вопросов по видео, но при этом будет способна обрабатывать длинные видеозаписи и останется нетребовательной к железу? В этой статье я расскажу про один из способов создания такого решения — на примере поиска по видео.

Читать далее
Total votes 11: ↑11 and ↓0+11
Comments1

История LLM-агентов: 10 ярких моментов

Level of difficultyEasy
Reading time9 min
Views1.3K

Привет, Хабр! Меня зовут Руслан Гримов, я Head of ML в проекте idSport в компании Friflex. Мы разрабатываем продукты для оцифровки спорта и используем компьютерное зрение, чтобы организовывать трансляции партий на шахматных турнирах, а также распознавать и записывать интересные моменты в бильярде и футболе.

LLM-агенты связаны с моей работой скорее косвенно, но я вижу в них огромный потенциал и для развития наших продуктов, и для множества других задач. В этой статье собрал десять ярких моментов из истории LLM-агентов. Надеюсь, они помогут понять, какой впечатляющий путь проделали эти системы, и просто вас развлекут.

Как писал Пелевин, «в сущности, функция LLM – это доведенное до немыслимого совершенства автозаполнение. LLM не думает. Она тренируется на огромном корпусе созданных прежде текстов «…» и на этой основе предсказывает, как будет расти и развиваться новая последовательность слов, и как она, вероятней всего, развиваться не будет… Это похоже на процесс формирования юного члена общества на основе ежедневно поступающих вербальных инструкций, подзатыльников и наблюдения за тем, кому дают еду, а кому нет». 

Это определение большой языковой модели (LLM) вольное, но довольно точное. LLM — это нейронная сеть, обученная на большом объеме текста. Она может анализировать, понимать и генерировать тексты на естественном языке, использовать обширные базы данных и понимать контекст. 

Как развивалась идея о том, что машину можно научить понимать и создавать текст, как будто это пишет человек, расскажу дальше. 

Читать далее
Total votes 2: ↑2 and ↓0+2
Comments0

Максимально точное увеличение разрешения изображений: билинейная аппроксимация

Level of difficultyMedium
Reading time8 min
Views5.2K

В этом выпуске: улучшение билинейной интерполяции, больше методов апскейлинга, второй этап сравнения методов с точки зрения наименьшей ошибки, как применять шейдеры к отдельным изображениям, как уменьшить звон на изображении и многое другое...

Продолжаем увеличивать апскейл...
Total votes 17: ↑17 and ↓0+20
Comments21

Простые способы ускорения обучения PyTorch-моделей

Level of difficultyMedium
Reading time13 min
Views6.7K

Не знаю — нужно ли вступление к статье, посвящённой ускорению машинного обучения (Machine Learning, ML)?

Ускорение обучения моделей — это именно то, в чём нуждаются все ML‑инженеры. Более быстрое обучение модели означает ускорение экспериментов, что, в свою очередь, ведёт к ускорению выпуска новых версий программных продуктов. Кроме того — чем выше скорость обучения — тем меньше ресурсов нужно на каждую итерацию обучения модели. Поэтому предлагаю перейти сразу к делу.

Читать далее
Total votes 15: ↑15 and ↓0+25
Comments2

«Пора ли гнать на мороз Computer Vision — scientist'ов ?» (Fondation Models и вокруг)

Level of difficultyMedium
Reading time8 min
Views17K

Прошлый год в Computer Vision запомнился тем, что появилось множество больших претрейненных сетей (Fondation Models). Самая известная - GPT4v (ChatGPT с обработкой изображений).
В статье я попробую простым языком объяснить что это такое (для тех кто пропустил), как меняет индустрию. Какие задачи стало проще решать. Какие продукты появились в последнее время и появятся в будущем.
И можно ли уже выгнать на мороз лишних "ресерчеров"?!

Читать далее
Total votes 51: ↑50 and ↓1+65
Comments9

«Строка бога»/идеальный промт, часть 2, продолжение истории

Level of difficultyMedium
Reading time4 min
Views2.8K

Здравствуйте, уважаемые читатели!

В этой статье я хотел бы продолжить тему появления субъязыка текстовых запросов к нейросетям (которая может быть полезна не только для инженеров, но и всех энтузиастов, которые, как, к примеру, и я проводят значительное время за работой с ИИ-генераторами).

Компания Anthropic, которая разработала семейство больших языковых моделей (LLM) Claude представила новый ИИ-инструмент, суть которого заключается в использовании уже готовых, универсальных, оптимизированных текстовых запросов по соответствующим темам, что позволяет повысить скорость и эффективность работы с нейросетевыми ресурсами.

Инструмент и соответствующий раздел веб-сайта Anthropic, на котором он размещен, получили название Prompt Library – Библиотека Запросов – а в качестве подзаголовка представлена фраза Explore optimized prompts for a breadth of business and personal tasks (Осваивайте оптимизированные запросы для решения широкого спектра деловых и личных задач).

Читать далее
Total votes 11: ↑6 and ↓5+5
Comments14

Геймдев на Lisp. Часть 1: ECS и металингвистическая абстракция

Level of difficultyMedium
Reading time30 min
Views6.7K

В данной серии практических руководств мы подробно рассмотрим создание несложных 2D-игр на Common Lisp. Результатом первой части станет настроенная среда разработки и простая симуляция, отображающая двумерную сцену с большим количеством физических объектов. Предполагается, что читатель владеет некоторым языком программирования высокого уровня, в общих чертах представляет, как на экране компьютера отображается графика, и заинтересован в расширении своего кругозора.

Common Lisp — язык программирования с богатой историей, предоставляющий эффективные инструменты для разработки комплексных интерактивных приложений, каковыми являются видеоигры. Данная серия руководств ставит перед собой задачу наглядно продемонстрировать ряд возможностей CL, отлично вписывающихся в контекст разработки игровых приложений. Общий обзор таковых возможностей и особенностей Common Lisp приводится в статье Юкари Хафнер "Использование высокодинамичного языка для разработки".

Многие возможности, впервые появившиеся в Lisp, такие, как условный оператор if/then/else, функции как объекты первого класса, сборка мусора и другие давно перекочевали в мейнстримные языки программирования, однако есть одна уникальная возможность, которую мы рассмотрим сегодня, и это — металингвистическая абстракция.

Читать далее
Total votes 17: ↑17 and ↓0+17
Comments19

LASSO и Ridge Регрессия. Что же значит та картинка

Reading time8 min
Views25K

Пыталась я вникнуть в устройство регрессии LASSO и Ridge… И сделала объективный вывод, что верхнеуровнево про них много где хорошо и подробно написано. Человеку непосвящённому легко найти понятные объяснения, просто погуглив. Но я-то человек посвящённый! Я хочу понять! Но вот беда — в русскоязычных блогах я нигде не смогла найти толкового прояснения некоторых метаматематических моментов работы лассо и ридж регрессии. Пришлось доходить до понимания самой с опорой на пару англоязычных источников, и я решила изложить некоторую математику, лежащую в основе лассо и ридж в этой статье.

Читать далее
Total votes 11: ↑11 and ↓0+11
Comments7

Экзибит, прокачай мой трансформер или Основные идеи по улучшению модели трансформера с 2018 по 2020 год (часть 1)

Reading time14 min
Views2.9K

В июне 2021 года вышла статья “A Survey of Transformers” - обзор различных нововведений, сделанных с применением архитектуры “трансформер” после ее появления в материале “Attention is all you need”.

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

Представляю в блоге ЛАНИТ обзор статьи “A Survey of Transformers”.

Читать далее
Total votes 22: ↑22 and ↓0+22
Comments2

Обзор архитектур image-to-image translation

Level of difficultyMedium
Reading time13 min
Views6.9K

Привет, Хабр! Я работаю инженером компьютерного зрения в направлении искусственного интеллекта компании Норникель. Мы разрабатываем и внедряем модели с применением машинного обучения на наши производственные площадки.

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

В этой статье я расскажу про основные архитектуры генеративных сетей для задачи перевода изображения из одного домена в другой (image-to-image translation). В конце расскажу, для чего именно мы применяем синтетические данные и приведу примеры изображений, которых нам удалось достичь. Но перед погружением в данную тему рекомендую ознакомиться с тем, что такое свёрточная сеть, U-Net и генеративная сеть. Если же Вы готовы, поехали.

Читать далее
Total votes 12: ↑12 and ↓0+12
Comments2

Edge AI чипы от Kneron. Что это такое и как оно работает

Reading time10 min
Views7.1K

Kneron

Привет, я Антон Маслов, ведущий разработчик в MTS AI.


Некоторое время назад мне довелось глубоко погрузиться в очень необычные чипы на базе технологии Edge AI. Микроконтроллеры со встроенными нейроускорителями. И позапускать на них самые разные кейсы. Оказалось, что это очень классная штука. И стоит недорого, и работает быстро. А, главное, мелкая. Так что можно встроить в любой девайс.


Я расскажу об опыте погружения в технологию Edge AI, про то, как устроен чип с нейроускорителем, а также про то, с какими трудностями пришлось столкнуться, чтоб заставить все это работать.


Читать дальше →
Total votes 21: ↑19 and ↓2+22
Comments3

F-строки в Python мощнее, чем можно подумать

Reading time5 min
Views136K

Форматированные строковые литералы, которые ещё называют f-строками (f-strings), появились довольно давно, в Python 3.6. Поэтому все знают о том, что это такое, и о том, как ими пользоваться. Правда, f-строки обладают кое-какими полезными возможностями, некоторыми особенностями, о которых кто-нибудь может и не знать. Разберёмся с некоторыми интересными возможностями f-строк, которые могут оказаться очень кстати в повседневной работе Python-программиста.

Читать далее
Total votes 73: ↑71 and ↓2+94
Comments25

CatBoost, XGBoost и выразительная способность решающих деревьев

Reading time42 min
Views56K

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

Данный обзор охватывает сразу несколько тем. Мы начнем с устройства решающего дерева и градиентного бустинга, затем подробно поговорим об XGBoost и CatBoost. Среди основных особенностей алгоритма CatBoost:

• Упорядоченное target-кодирование категориальных признаков
• Использование решающих таблиц
• Разделение ветвей по комбинациям признаков
• Упорядоченный бустинг
• Возможность работы с текстовыми признаками
• Возможность обучения на GPU

В конце обзора поговорим о методах интерпретации решающих деревьев (MDI, SHAP) и о выразительной способности решающих деревьев. Удивительно, но ансамбли деревьев ограниченной глубины, в том числе CatBoost, не являются универсальными аппроксиматорами: в данном обзоре приведено собственное исследование этого вопроса с доказательством (и экспериментальным подтверждением) того, что ансамбль деревьев глубины N не способен сколь угодно точно аппроксимировать функцию y = x_1 x_2 \dots x_{N+1}. Поговорим также о выводах, которые можно из этого сделать.

Читать далее
Total votes 48: ↑48 and ↓0+48
Comments9

Как Пифагор, Платон и Будда предвосхитили самую смелую гипотезу современной науки

Reading time16 min
Views76K

Меня всегда поражало, что основы всей нашей цивилизации были заложены людьми, жившими две с половиной тысячи лет назад и не имевшими почти никаких способов получения знаний о мире кроме собственного разума - только лишь с помощью него одного они по капле воды смогли догадаться о существовании океана.

В этом посте я хочу рассказать про трех великих философов античности, чьи идеи о природе сущего находят подтверждение в теориях квантовой механики и самых смелых гипотезах современной теоретической физики.

Как появился Пегас?

Величайшим из древнегреческих философов по праву считается ученик Сократа афинянин Платон. Именно благодаря его "Диалогам" до нас дошла большая часть сведений о греческой философской мысли.

Несмотря на то, что Платон изучал и даже преподавал математику, никаких особенных математических достижений он после себя не оставил. Но все же девизом основанной им Академии он избрал фразу "Не геометр да не войдет", тем самым подчеркнув важность математики для познания мира и формирования ума.

Основной идеей философии Платона была, извините за каламбур, сама "идея". Именно он ввел в оборот это слово, которое на древнегреческом звучало как "эйдос". Для объяснения своей теории Платон обычно использовал аллегорию, позже ставшую известной как миф о пещере. Я вкратце приведу здесь только самую ее суть.

Представьте себе абсолютно пустую белую комнату. В этой комнате нет дверей, на одной из стен почти под потолком располагается единственное окно. Под этим окном стоит кресло, к которому железными цепями крепко-накрепко привязан человек. Его голова и тело зафиксированы таким образом, что единственное, что он видит - противоположную от окна стену. Этот человек в раннем детстве был похищен учеными, подключен к системам жизнеобеспечения и привязан цепями к своему креслу, он вырос в этой комнате и никогда не видел мира за ее пределами. Время от времени ученые проносят за окном какие-то предметы: статуи, изображения животных, растений, зданий. Узник не видит самих предметов, а видит лишь только тени, отбрасываемые ими на противоположную от окна стену комнаты. Он различает в этих тенях схожие паттерны и дает им названия. Узник искренне считает, что те тени на стене, что он видит и которым дает имена - реальны.

Читать далее
Total votes 99: ↑87 and ↓12+97
Comments432

3D ML. Часть 4: дифференциальный рендеринг

Reading time15 min
Views7.9K


В нескольких предыдущих заметках данной серии мы уже упоминали понятие дифференциального рендеринга. Сегодня пришло время разъяснить что это такое и с чем это едят.


Мы поговорим о том, почему традиционный пайплайн рендеринга не дифференцируем, зачем исследователям в области 3D ML потребовалось сделать его дифференцируемым и как это связано с нейронным рендерингом. Какие существуют подходы к конструированию таких систем, и рассмотрим конкретный пример — SoftRasterizer и его реализацию в PyTorch 3D. В конце, с помощью этой технологии, восстановим все пространственные характеристики “Моны Лизы” Леонардо Да Винчи так, если бы картина была не написана рукой мастера, а отрендерена с помощью компьютерной графики.

Читать дальше →
Total votes 17: ↑17 and ↓0+17
Comments3
1

Information

Rating
Does not participate
Location
Россия
Works in
Registered
Activity