Как стать автором
Обновить
36
0
Руслан Гримов @RGrimov

Software developer

Отправить сообщение

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

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров8.4K

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

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

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

Читать далее
Всего голосов 20: ↑15 и ↓5+15
Комментарии8

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

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров3.3K

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

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

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

Читать далее
Всего голосов 12: ↑12 и ↓0+15
Комментарии2

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

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров1.9K

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

Читать далее
Всего голосов 7: ↑7 и ↓0+10
Комментарии0

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

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров24K

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

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

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

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

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

Читать далее
Всего голосов 46: ↑44 и ↓2+52
Комментарии37

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

Время на прочтение18 мин
Количество просмотров8K

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

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

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

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

Читать далее
Всего голосов 13: ↑12 и ↓1+12
Комментарии8

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

Время на прочтение9 мин
Количество просмотров1.6K

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

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

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

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

Читать далее
Всего голосов 11: ↑11 и ↓0+11
Комментарии1

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

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров1.3K

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

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

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

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

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

Читать далее
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

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

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров5.2K

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

Продолжаем увеличивать апскейл...
Всего голосов 17: ↑17 и ↓0+20
Комментарии21

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

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров6.9K

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

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

Читать далее
Всего голосов 15: ↑15 и ↓0+25
Комментарии2

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

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров18K

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

Читать далее
Всего голосов 51: ↑50 и ↓1+65
Комментарии9

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

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров2.8K

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

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

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

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

Читать далее
Всего голосов 11: ↑6 и ↓5+5
Комментарии14

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

Уровень сложностиСредний
Время на прочтение30 мин
Количество просмотров6.8K

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

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

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

Читать далее
Всего голосов 17: ↑17 и ↓0+17
Комментарии19

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

Время на прочтение8 мин
Количество просмотров25K

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

Читать далее
Всего голосов 11: ↑11 и ↓0+11
Комментарии7

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

Время на прочтение14 мин
Количество просмотров3K

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

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

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

Читать далее
Всего голосов 22: ↑22 и ↓0+22
Комментарии2

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

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров7K

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

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

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

Читать далее
Всего голосов 12: ↑12 и ↓0+12
Комментарии2

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

Время на прочтение10 мин
Количество просмотров7.1K

Kneron

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


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


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


Читать дальше →
Всего голосов 21: ↑19 и ↓2+22
Комментарии3

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

Время на прочтение5 мин
Количество просмотров138K

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

Читать далее
Всего голосов 73: ↑71 и ↓2+94
Комментарии25

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

Время на прочтение42 мин
Количество просмотров57K

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

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

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

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

Читать далее
Всего голосов 48: ↑48 и ↓0+48
Комментарии9

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

Время на прочтение16 мин
Количество просмотров76K

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

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

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

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

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

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

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

Читать далее
Всего голосов 99: ↑87 и ↓12+97
Комментарии432

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

Время на прочтение15 мин
Количество просмотров7.9K


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


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

Читать дальше →
Всего голосов 17: ↑17 и ↓0+17
Комментарии3
1

Информация

В рейтинге
Не участвует
Откуда
Россия
Работает в
Зарегистрирован
Активность