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

@deepschool_support
Download Telegram
CleanLab

Чистые данные — залог хороших метрик :) Но чистить разметку зачастую сложно, долго и скучно. В новой статье расскажем о библиотеке CleanLab, которая поможет вам в чистке аннотаций для задачи классификации. Мы покажем, как быстро прикрутить ее к своим проектам и поделимся личным опытом использования библиотеки на боевых задачах.

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

Читайте наш новый гайд и делайте ваши данные чище: https://deepschool-pro.notion.site/CleanLab-586bc69c23bb429fb2476982fe74a420
👍31🔥123
​​Марк Страхов

Продолжаем знакомить вас с нашими авторами. В прошлый раз мы рассказали о Ксюше, а теперь знакомим с историей Марка:

"Я учился в одной группе с Ксюшей в Кубанском Государственном Университете. Будучи студентом, думал, что мое будущее - продавать апельсинки на рынке в Анапе, однако судьба сложилось иначе. На последнем курсе бакалавриата у нас была дисциплина «Введение в искусственный интеллект», где можно было получить самоэкзамен, если сделать какую-нибудь нейросеть. Сдавать лабораторные и зачеты на прологе мне не улыбалось, поэтому мы с другом обучили сеть, которая обыгрывает преподавателя в реверси. Так я и попал в мир ML\AI.

Мое первое место работы, как и у Ксюши, — лаборатория робототехники Кубанского университета. Основная задача — детектирование объектов (привет, мой родной darknet и darknet detector train…), по мелочи классификация/сегментация и работа со звуком.
После 3 лет в лабе, я перешел в стартап из области AI for Skin Care, где работаю последние 2 года. Задач очень много: от классификации до абстрактных автомл-пайплайнов на AzureML’e, чтобы тимлид радовался и нажимал на кнопочки в UI."

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

Посты, которые Марк написал в нашем канале:
- CleanLab
- Что такое attention?
- Прогресс развития механизма внимания в CV
- Типы механизмов внимания
- Channel Attention
- Self-attention в Computer Vision
- Visual Transformer (ViT)

Если вам нравятся посты Марка и Ксении, дайте ребятам огня, им будет приятно🔥
🔥697👍4
🎞 Запись подкаста с Андреем Шадриковым

Андрей — лид R&D отдела в verigram.ai. Команда Андрея решает задачи распознавания документов и верификации пользователей по фотографии.

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

Более подробно и с таймкодами на нашем ютуб канале: https://www.youtube.com/watch?v=707QRpgZ-WQ
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥184👍3
Covariance shift и Adversarial validation

Смещение в тестовых данных относительно трейна — проблема каждого DS-специалиста. Но иногда ее можно обернуть в свою пользу. Например, во время ML-соревнований :)

В новой статье мы расскажем:
- как проверить, похож ли трейн на тест;
- как можно попробовать улучшить метрики в соревнованиях, используя data leak;
- как понять, актуальна ли наша модель в проде.

Читайте по ссылке: https://deepschool-pro.notion.site/Covariance-shift-Adversarial-validation-32fab6caa55e48eeb5dd2fbe4164378c
🔥324👍4
🎞Запись подкаста с Владом Лялиным

Ура, со второго раза запись удалась!

На подкасте с Владом мы обсудили:
- чем ds-сообщество СНГ отличается от США;
- как попасть на PhD в штаты;
- как подготовиться к интервью на стажировку в Google, Apple, Amazon;
- какие задачи решают стажеры, сколько они зарабатывают, чем отличаются компании между собой.

Еще ответили на вопрос подписчика: “Что делать NLP-инженеру в связи с выходом OpenAI API” — но так как ответ универсальный, то будет работать для всех DL-инженеров (а то после GPT-4 напряглись не только NLP-специалисты).

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

Смотрите подкаст и подписывайтесь на наш yt-канал: https://youtu.be/z0bfVHYMEOU
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥258👍8
​​Матчинг гистограмм

В новой статье разберем и покажем один из методов доменной адаптации. С его помощью вы сможете быстро и дешево расширить датасет.

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

Читайте подробнее по ссылке: https://deepschool-pro.notion.site/884b0a10c9ac4b97b03fc1e23b4cface
🔥227👍5
🧑‍🏫 Приходите на открытую лекцию 21 марта

Помимо ведения телеграм-канала команда DeepSchool развивает курс Ракета в Computer Vision.
На курсе мы повышаем квалификацию инженеров в CV, обучая решать полный цикл CV-задач от сбора данных до деплоя веб-сервисов.

Мы провели уже 3 потока и выпустили 50+ студентов.
За это время мы провели более 100 интервью с инженерами, тимлидами и руководителями из сферы ML.

Исходя из проведенных встреч, мы заметили, что большинство специалистов задаются вопросом: “как оставаться востребованным инженером?”.

Мы решили провести открытую лекцию, на которой ответим на этот вопрос.

Кроме этого мы обсудим:
🔹что требуют от специалистов на рынке в 2023 году;
🔹какие навыки из мира разработки важно развивать DL-инженеру и почему;
🔹как встроить процесс развития этих навыков в работу уже сейчас.

Вам будет полезно, если вы:
🔸 работаете или планируете работать в продуктовых командах (не research);
🔸 переживаете, что есть пробелы в знаниях, не уверены, что сможете легко сменить работу при надобности;
🔸 вам не хватает code review, вы не пишете тесты, не знакомы с CI/CD;
🔸 не знаете куда развиваться.

Лекцию проведёт один из основателей DeepSchool — Тимур Фатыхов

🗓 Встречаемся во вторник 21 марта в 18:00 Мск

Чтобы попасть на лекцию, регистрируйтесь по ссылке в боте
🎁 При регистрации вы получите список библиотек, фреймворков и сервисов для CV-инженера, которые ускорят вашу работу

Переходите в бот, регистрируйтесь и забирайте список себе
До встречи на лекции!
🔥146👍2
Weight Averaging

Stohastic Weight Averaging и Exponential Weight Averaging зачастую позволяют улучшить качество нейросети на различных задачах. Кроме того, эти методы достаточно просты в использовании.
Давайте вместе вспомним/разберемся как они работают и как быстро встроить их в свой пайплайн.

Читайте новую короткую статью по ссылке: https://deepschool-pro.notion.site/Weight-Averaging-07a2c80c6cf54858887d71fac70d8a31
🔥23👍124🤔1
Встречаемся сегодня в 18:00

Напоминаем, что сегодня мы проводим открытую онлайн-лекцию "Как быть востребованным CV-инженером"
Она пройдёт в 18.00 мск в Zoom

На лекции мы обсудим:
🔹что требуют от специалистов на рынке в 2023 году;
🔹какие навыки из мира разработки важно развивать DL-инженеру и почему;
🔹как встроить процесс развития этих навыков в работу уже сейчас;
🔹и ответим на ваши вопросы из бота и чата встречи

Обязательно приходите, если вы:
🔸 работаете или планируете работать в продуктовых командах (не research);
🔸 переживаете, что есть пробелы в знаниях, не уверены, что сможете легко сменить работу при надобности;
🔸 вам не хватает code review, вы не пишете тесты, не знакомы с CI/CD;
🔸 не знаете куда развиваться

Лекцию проведёт один из основателей DeepSchool, Тимур Фатыхов.

Регистрируйтесь по ссылке в боте!

🎁 При регистрации вы получите список библиотек, фреймворков и сервисов для CV-инженера, которые ускорят вашу работу

До встречи на лекции через 2 часа!
8🔥4🍾3👍2
Как устроены TPU

CPU играет первостепенную роль в обучении и инференсе нейронных сетей. Остальные ускорители выступают как сопроцессоры. Часть из них массивна и самостоятельна, как, например, GPU. А другая часть может выполнять только особые операции, поэтому для их полноценного использования нейросеть должна будет пройти сложные этапы компиляции и перестройки графа. Характерный пример таких ускорителей — Google TPU. И как раз про него мы и расскажем.

Из новой статьи вы узнаете:
- почему GPU избыточны для нейросетей;
- за счет чего TPU столь эффективны;
- как устроен модуль перемножения матриц в TPU.

Читайте по ссылке, чтобы лучше разобраться в ускорителях:
https://deepschool-pro.notion.site/Google-TPU-c3160492e8fa44af81fd640218b290ae
🔥30👍106
Развивайтесь в Computer Vision вместе с DeepSchool

28 марта стартует 4-ый поток курса “Ракета в CV”

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

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

4 месяца вы будете перенимать опыт у 8 практикующих инженеров: опытных разработчиков, руководителей R&D отделов, тимлидов в области Computer Vision.

Мы используем разные подходы, чтобы передать вам свои знания и помочь освоить программу полностью:
🔸end-to-end проекты с подробным code review,
🔸семинары, где отвечаем на вопросы студентов,
🔸групповые задания,
🔸онлайн-лекции,
🔸1-on-1 встречи с куратором,
🔸текстовые гайды к лекциям и инструментам.

Оставляйте заявку на консультацию на нашем сайте.
С вами свяжется один из основателей DeepSchool Тимур Фатыхов.
На встрече он ответит на ваши вопросы, расскажет подробнее о программе и поможет определить, подходит ли наш курс под ваши цели и задачи.
12🔥8👍1
​​CVAT SDK PyTorch Adapter

Если вам надоело вручную выгружать задания от разметчиков и объединять их для загрузки на сервер, то эта статья для вас.

В новом материале обсудим:
- как загрузить данные из CVAT напрямую в torch.utils.data.Dataset;
- советы при работе с CVAT PyTorch SDK;
- недостатки SDK на данный момент.

Читайте новую статью по ссылке, чтобы готовить датасеты быстрее: https://deepschool-pro.notion.site/CVAT-SDK-PyTorch-Adapter-e223563927454322a8d56076e59b8b17
🔥228👍8
​​Хотим с вами поделиться каналом Start Career in DS. Он будет вам полезен, если вы только начинаете карьеру в Data Science. Автор канала - лид команды оптимизации ассортимента Яндекс.Лавки Роман Васильев.

Коротко о Роме:
– выпускник ВМК МГУ
– строит аналитику ассортимента в Яндекс.Лавке
– работал в Мегафоне, где разрабатывал ML-модели для оптимизации маркетинга, проводил собеседования, курировал стажеров и расширял команду
– руководил командой аналитиков и data scientist’ов в Магните

В своём канале
Рома делится информацией, которая поможет вам подготовиться к собеседованиям и получить оффер в крутую компанию

Примеры некоторых постов:
Красивый курс по базовой теории вероятностей и статистике
Python для анализа данных новичкам
Как под капотом работает Яндекс.Такси
– Интерактивные курсы по машинному обучению и Python от Академии Яндекса

Если вы интересуетесь DS, рекомендуем заглянуть
👍133
​​Интерактивная Сегментация

Дедовский способ ускорить разметку большого датасета: размечаем небольшую часть, обучаем на ней модель, делаем предразметку, правим руками, повторяем.

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

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

Читайте новую статью по ссылке: https://deepschool-pro.notion.site/4009a965d795417fa54dc8d5adc4f7db
🔥304👍4
​​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