DeepSchool
9.71K subscribers
74 photos
1 video
1 file
415 links
Это канал школы deepschool.ru. Здесь мы будем:
- напоминать вам теорию ML/DL в виде коротких постов,
- задавать вопросы с собеседований,
- рассказывать про полезные фреймворки
- и делиться советами, которые помогут вам в работе.

@deepschool_support
Download Telegram
​​Self- vs Semi- vs Unsupervised learning

Вы наверняка слышали следующие термины — supervised ML, unsupervised ML, semi-supervised ML, self-supervised ML. Но чем различаются перечисленные методы? Такой вопрос задали одному из авторов на собеседовании. Давайте наконец-то разберемся с этими терминами!

🔸Supervised machine learning
Берем размеченные данные, учим на них модель.

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

🔸Unsupervised machine learning
Берем неразмеченные данные, учим на них модель.

Например, кластеризация (KMeans, DBSCAN), понижение размерности (PCA, umap) и, конечно же, автоэнкодеры.

🔸Semi-supervised machine learning
Берем размеченные данные и неразмеченные данные, учим на них модель.

Например, self-training. Это метод, который можно использовать, если у вас чуть-чуть размеченных и много неразмеченных данных. Сначала обучаем модель на размеченных данных, затем используем обученную модель для разметки большого набора неразмеченных данных. Выбираем из этого большого набора примеры с высокими скорами (и низким лоссом) и обучаем на объединенном наборе данных новую модель. Такой процесс можно сделать в несколько итераций, пока все данные не будут размечены “псевдо-лейблами”.

В этой категории стоит также обратить внимание на работу FixMatch — довольно простой для понимания метод. Он легко заводится и иногда выстреливает (особенно вместе с предобучением на какой-нибудь self-supervised задаче).

🔸Self-supervised machine learning
Берем неразмеченные данные, генерируем разметку из данных, учим на них модель.

Например, в NLP так учится BERT или GPT. Этот метод чаще всего используется для претрейна. Допустим, когда в модель подают повернутые на N градусов картинки и просят ее предсказать угол поворота N. После обучения модели становятся в большей степени адаптированными к вашему домену и к структуре данных, получают более “богатые” фичи.

Вообще достаточно много задач решается с помощью данного метода. Например, super-resolution, style transfer (в NLP и в CV) и даже neural architecture search! В каком-то смысле CLiP — тоже self-supervised learning: обучение происходит на тех картинках и подписях к ним, которые собрали скрепером, а далее из этих данных сгенерировали лейблы.

Self-supervised learning — очень многообещающий метод предобучения моделей под свой домен (по нашему мнению). Часто бывает так, что ваш домен довольно сильно отличается от домена ImageNet’a, а предобученные на ImageNet’e модели в этом случае являются субоптимальными. Эту проблему можно попытаться решить с помощью self-supervised learning’a на вашем домене.

Прелесть self-supervised подходов последних лет заключается не только в том, что они могут забустить вашу метрику, но и в том, что, весьма вероятно, вам потребуется меньше данных для решения ваших задач. Также, как правило, такие методы помогают сети на вашем домене быстрее сходиться. Это экономит время и, как следствие, деньги.

Авторы: Ксения Рябинова, Марк Страхов
Редактура: Александр Наздрюхин
🔥36👍96😍3🍾2❤‍🔥11
​​Саша Гончаренко

В предыдущих постах мы начали знакомство с нашими авторами (о себе уже рассказали Ксюша и Марк), а в этот раз о себе расскажет Саша:

"В старших классах я знал, что хочу быть программистом, и поэтому пошел учиться в Омский политех. Правда, я совершил большую ошибку и заключил целевое с заводом)
На первой практике, на вопрос куратора “чем хочешь заниматься” — я ляпнул первое, что пришло в голову: “делать искусственный интеллект”. Так и начался мой путь

Помню, как столкнулся с первой проблемой: не мог установить numpy🙃 Тщетно пытался поставить его на машину несколько дней, и на этом моя история в ML чуть было не закончилась) Но спустя год я прошел курсы по машинному обучению от компании 7bits, понял что такое ML и смог его полюбить.

В конце обучения мы проходили "игрушечные" собеседования с инженерами из разных компаний, где я уже и познакомился со своим нынешним тимлидом. Мне так понравилась встреча, что я решил изучить компанию и наткнулся на вакансию. С мыслями: ”что я теряю?” — отправил резюме и спустя месяц начался мой первый рабочий день в Deeplay!

Проработав месяц, я понял, что на завод возвращаться не хочу и расторг целевое. Начал совмещать фултайм работу с учебой (было не так уж и сложно, из-за того, что и работа, и учеба были удаленными). Похвастаюсь — на 4 курсе даже занял первое место в РФ в соревновании Worldskills по машинному обучению.

В Deeplay я уже 3 года. Мы создаем алгоритмы, повышающие вовлеченность людей в видеоиграх: мобильных и компьютерных. С помощью ML мы подстраиваем геймлей под стиль игры пользователей, чтобы они возвращались в игру чаще.
Сейчас в основном занимаюсь mlops, ускоряя наши эксперименты. Мой руководитель любит, когда эксперименты проходят за ночь по одной кнопке, а не за месяц, и я делаю все возможное, чтобы он был рад)"

В комментариях можно пообщаться с Сашей и задать интересующие вопросы)

Посты, над которыми работал Саша в нашем канале:
- Функции активации
- Чем заменить CSV, если у вас очень много данных
- Сравнение метрик двух моделей
- Covariance shift и Adversarial validation
- Weight Averaging
👍307👏5
​​Segment Anything Model (SAM)

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

Недавно вышла статья с описанием новой архитектуры и огромного датасета для interactive segmentation. Авторы собрали более миллиарда масок на 11 миллионах изображений и выложили данные c моделью в открытый доступ.

В новой статье мы рассмотрим архитектуру, процесс тренировки и подход к разметке датасета.
И подробнее разберем детали, которые еще не встретили в других обзорах статьи: как prompt encoder кодирует клики и рамки, как mask decoder создаёт маску.

Читайте новую статью по ссылке: https://www.notion.so/deepschool-pro/Segment-Anything-50ce061b804a4d7e96cd0d6b084d396d?pvs=4
🔥315👍4
​​Оптимизаторы. Часть 1

Однажды Саша Гончаренко сходил на интервью, не смог написать формулу для SGD with momentum и не получил оффер. Поэтому Саша решил упорядочить знания и написать статью. Из нее вы вспомните:
- какие существуют оптимизаторы и как они работают?
- какие у них есть проблемы и как они решаются?

На собеседованиях часто спрашивают про оптимизаторы, поэтому рекомендуем освежить знания, чтобы не повторить опыт Саши :)

Читайте нашу новую статью по ссылке: https://deepschool-pro.notion.site/1-db393ba62f0e49cfa3c29a615006e796
🔥5714👍12
Мы расширяем команду авторов канала

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

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

Мы ожидаем, что у вас есть опыт работы в ML/DL или в научной деятельности в этой сфере. Подробнее про условия мы рассказали в самой форме. Оставляйте отклик по ссылке, мы свяжемся с вами по указанным контактам до 25 апреля :)
👍24🔥94👏2
Kaggle NFL - Player Contact Detection (Часть 1)

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

Из статьи вы узнаете:
- Как можно подготовить данные для обучения в задаче видеоклассификации
- Какие архитектуры использовали участники для анализа трекинг-данных с последовательностью изображений
- Что такое метрика корреляции Мэтьюса и Forward Selection OOF Ensemble
- Какая библиотека читает картинки быстрее, чем OpenCV

Читайте новую статью по ссылке:
https://deepschool-pro.notion.site/Kaggle-NFL-Player-Contact-Detection-1-c88d8e50dc89408b8fe83fe776a65d2b
🔥3955👍3🤩1
​​Знакомство с 3D CV

Все чаще в индустрии встречаются термины из мира 3D Computer Vision. Набирают популярность автономные роботы и автомобили, появляются новые VR/AR игры и приложения. Растет число компаний и стартапов, которые используют эти технологии, и появляются вакансии, требующие быть знакомым со SLAM, SfM, NeRF и другими аббревиатурами.

Мы подготовили статью, в которой рассказали:
- что объединяет большинство задач из области 3D CV,
- как из 2D фотографий получают 3D слепки объектов,
- чем отличаются между собой методы позиционирования роботов,
- что такое NeRF и какие задачи он решает

Это вводная статья, которая даст вам общее представление о происходящем в 3D CV. Если вам интересна эта тема, ставьте реакции и мы поймем, что стоит продолжать в нее углубляться

Читайте по ссылке: https://deepschool-pro.notion.site/3D-CV-33ef6d8e5a7f4742b26f1081eaf74c84
🔥106118👍4🤩1
​​Илья Бакалец

В прошлых постах мы рассказывали как пишем статьи и сколько людей работает над материалами. Мы уже успели познакомить вас с частью команды: Ксюша, Саша, Марк.
В этот раз о себе расскажет Илья:

”Впервые с машинным обучением я познакомился в 2018 году, перед поступлением в магистратуру. Эта область меня заинтересовала и я начал обучение на курсе "Машинное обучение и анализ данных" от МФТИ и Яндекс.

Погружаясь в машинное обучение, я попал в сообщество ODS. В сообществе я узнал об ODS Pet Projects - это митапы, где дата саентисты знакомятся, делятся идеями и совместно или по отдельности пытаются реализовать их. Я начал посещать митапы, объединился в команду с другими ребятами, и мы вместе разработали навык для Яндекс.Алисы, с которым позже выступили на секции ODS Pet Projects на DataFest 2019.

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

Одновременно с первой работой я присоединился к стартапу PTF-Lab, где занимался сегментацией октагона, калибровкой камеры и менеджментом. Ездил на встречу с потенциальным инвестором, и в целом был сильно погружен в жизнь стартапа и занимался его развитием.

В 2021 году я присоединился к компании Магнус Тех. В проектах в которых я принимал участие мне было интересно развивать процессы в команде и общаться с заказчиком. Поэтому на новой работе я начал постепенно брать на себя обязанности и ответственность руководителя, не без ошибок, конечно 🙂. В итоге в Магнус Тех я занял позицию Тимлида.

В Магнус Тех мы работаем с видеоаналитикой дорожного движения и анализируем активность на строительных объектах. Классификация, обнаружение аномалий, трекинг и детекция объектов.”

А еще Илья ведет подкаст «ИИ что?». Недавно там вышел выпуск с Владом Грозиным из ODS, в котором ребята обсудили разработку рекомендательных систем, получение PhD в Америке, системы, предсказывающие желания пользователя и другое. Подписывайтесь на канал, чтобы не пропустить интересного!:)

В комментариях к посту можно пообщаться с Ильей и задать интересующие вопросы)

Посты, над которыми Илья работал в нашем канале:
- Как ускорить разметку при помощи CVAT и Fiftyone
- Unet
- Сегментация без нейросетей
- CVAT SD-K PyTorch Adapter
- Kaggle NFL - Player Contact Detection (Часть 1)
24🔥11👍91❤‍🔥1🤩1
CLIP

Модель CLIP (Contrastive Language-Image Pre-Training) - это нейросеть, разработанная OpenAI. Она способна обрабатывать как язык, так и изображения, и достигла State-of-the-Art результатов на различных датасетах. Эта модель часто используется на kaggle в качестве бекбона. А также она внесла существенный вклад в развитие text2image моделей.

В статье мы расскажем:
- Как собирали датасет для обучения CLIP
- Как выглядит архитектура блоков модели
- Какой лосс использовали для обучения
- Как сделать классификатор из CLIP

Читайте новую статью по ссылке: https://deepschool-pro.notion.site/CLIP-3f406560e5b145f9873f9b67dfeacca3
🔥5985👍1🤔1
​​🎙Онлайн-подкаст с Мишей Моисеевым

В воскресенье, 7 мая, в 12:00 МСК

Помимо постов с теорией мы также проводим подкасты. Или интервью🤔 на самом деле просто болтаем на интересные темы с людьми из ML. Ранее у нас в гостях были Влад Лялин и Андрей Шадриков, теперь ждем Мишу

Коротко о Мише:
- работает Senior AI Engineer в AstraZeneca
- занимал должность Head Of AI в movavi.ru
- с нуля создавал CV-команду в Золотой Короне
- последний год жил в Юго-Восточной Азии, а теперь в Мюнхене

На подкасте мы обсудим:
- как Миша проходил собеседования в зарубежные компании
- какие задачи решает Head Of AI
- зачем нейросети в видеоредакторе
- найм и менеджмент в AI-командах
- возможно ли эффективно работать среди пальм вблизь океана🌴

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

Запись будет! Выложим позднее в этом канале👍

Встречаемся здесь 7 мая в 12:00 МСК🔔
🔥28👍118
🎙Подкаст с Мишей через 1 час!

Подключайтесь онлайн, встречаемся здесь в 12:00 МСК🔔
🔥73
Live stream scheduled for
Live stream started
Live stream finished (1 hour)
​​CVAT serverless functions with nuclio

CVAT serverless functions with nuclio — инструмент, интегрированный в CVAT. С его помощью можно во много раз ускорять процесс разметки. Nuclio быстро разворачивает контейнерезированную модель для разметки и берет на себя всю поддержку этого решения.

В статье мы расскажем:
- Что такое serverless functions и nuclio
- Как развернуть CVAT с возможностью интегрирования моделей
- Что такое хендлеры и как их писать для добавления кастомных моделей
- Как интегрировать для разметки модель SAM

Читайте новую статью по ссылке: https://deepschool-pro.notion.site/CVAT-serverless-functions-with-nuclio-a7d17d3b29894d3c82a3b8d60c6e57c8
👍16🔥1082
​​Prepare your data

После DL-курсов новички часто думают, что на метрики сильнее всего влияют подбор архитектуры и гиперпараметров. Решая соревнования и игрушечные задания, инженеры привыкают перебирать модели, потому что другого не остается: датасет уже фиксирован.
Но на работе данные приходится собирать самим. И чем лучше мы постараемся, тем выше будут метрики.

Ничто не увеличит ваши метрики так, как чистка разметки и сбор данных!

В этой статье мы расскажем на что нужно обращать внимание при выборе и подготовке датасета, читайте по ссылке: https://deepschool-pro.notion.site/Prepare-your-data-e8be3fcec2d2411a836cb51a4b712601
44👍18🔥83🙏1🍾1
​​Курс “3D Computer Vision”

Прошлый пост про 3D CV собрал много реакций, и мы лишний раз убедились, что это актуальное и интересное направление для CV-инженеров.
Студенты нашего курса “Ракета в CV” не раз просили создать программу по 3D, а подписчики спрашивали про это направления во время интервью.

И это не удивительно: в каждом биг-техе есть команды с экспертизой в 3D, расширяется область применения VR/AR, почти в каждой автомобильной компании есть команда self-drive car, разработчики игр и движков используют нейросети для рендеринга.
Только NVidia подала более 20 работ на конференцию по графике SIGGRAPH 2023 — и мы, кстати, готовим обзор нескольких работ оттуда.

Поэтому мы решили создать современный курс по 3D CV. Сейчас мы готовим программу вместе с инженерами и исследователями из этой области. Курс позволит любому CV-инженеру погрузиться в 3D и получить возможность устроиться в команды, работающие в этой сфере.

На курсе студенты изучат:
🔹математику, стоящую за алгоритмами
🔹как реконструировать 3D-объекты и сцены
🔹как анализировать данные с лидаров
🔹как строить карты глубин по rgb-картинкам
🔹и почти половину курса мы уделим современным технологиям: дифференцируемому рендерингу и, конечно же, NeRF

— все это мы закрепим на практике, решая реальные задачи.

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

Если вам интересно это направление, заполните, пожалуйста, гугл-форму. Это займет 3-5 минут и поможет нам в разработке программы.
🔥478👏5👍3🎉1
NeRF

NeRF — это подход, который позволяет получить 3D представление сцены по нескольким фотографиям.

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

Сейчас про нерфы слышно из каждого утюга, и чтобы вам было легче разобраться в этом подходе, мы записали новое видео. Дима Чудаков, спикер DeepSchool, разберёт самый базовый NeRF и расскажет про Instant NGP — применимую на практике модификацию классического NeRF.

Смотрите новое видео и подписывайтесь на наш канал по ссылке: https://youtu.be/eGWpx_OeG7s
🔥40👍17102🤩1🍾1
​​NeRV

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

Рассказали подробнее про этот подход в новой статье, читайте по ссылке: https://deepschool-pro.notion.site/NeRV-Neural-Reflectance-and-Visibility-Fields-for-Relighting-and-View-Synthesis-7ae46ed75c5a4ae6b9414a18925ff266
🔥2784👍1
​​🎙Онлайн-подкаст с Артемом, автором эйай ньюз

Завтра, 21 мая, в 12:00 МСК

Коротко об Артеме:
- Senior Research Scientist в Meta, подразделение GenAI
- PhD в области Computer Vision
- автор канала эйай ньюз с 34к подписчиками

На подкасте мы обсудим:
- историю авторства одного из самых крупных каналов про AI
- личный бренд ученого
- будни ресерчера в Meta
- и куда движется современный CV
- [а здесь может быть ваш вопрос Артему]

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

Встречаемся здесь завтра, в воскресенье, в 12:00 МСК🔔
🔥38👍86👏1