TGTGInsightаналитика telegramLIVE / telegram public index
К списку каналов
DeepSchool avatar

TGINSIGHT CHAT

DeepSchool

@deep_school

Образование

Это канал школы deepschool.ru. Здесь мы будем: - напоминать вам теорию ML/DL в виде коротких постов, - задавать вопросы с собеседований, - рассказывать про полезные фреймворки - и делиться советами, которые помогут вам в работе. @deepschool_support

Подписчики1.1万Текущее число подписчиков
Постов530Проиндексировано постов
Охват47,080Просмотры последних постов
Последние посты

Последние посты

Стр. 40 из 45 · 530 постов

Опубликован 9 янв.

Channel Attention Всех с первым рабочим днем!🧑‍🔬🧑‍🎨🧑‍💻 Решили не нагружать вас постами в праздники, чтобы не отвлекать от отдыха) Начнем год с короткой статьи в телеграфе. Продолжаем про Attention в CV (прошлый пост из серии тут). Рассмотрим поканальный механизм внимания и в частности Squeeze-and-Excitation блок, который используется в семействах MobileNet и EffNet. Переходите по ссылке, чтобы узнать подробнее: https://telegra.ph/Channel-Attention-12-28

4,190 views

Опубликован 1 янв.

Всем доброго новогоднего утра!⭐️ От всей команды DeepSchool желаем вам прекрасного года! Чтобы лоссы падали, метрики росли, но главное: чтобы вы получали от этого удовольствие💙 Спасибо, что читаете нас! Ценим ваше внимание и благодарим за ваши реакции) В следующем году будем еще больше радовать вас полезным контентом!

4,050 views

Опубликован 27 дек.

Как ускорить разметку при помощи CVAT и Fiftyone Задача: разметить тысячи изображений быстро и дешево, чтобы не тратить время на простые кейсы. Решение: предразметить картинки, выбросить мусор и размечать самые полезные. В идеале решить задачу без костылей, чтобы переиспользовать решение в будущих задачах. В новой статье-туториале вы узнаете как с нуля поднять у себя сервис для разметки CVAT и познакомитесь с Fiftyone — сервисом, который ускорит работу с датасетом. Рассказываем про сервисы на примере задачи детекции. Читайте подробнее в телеграфе: https://telegra.ph/Razmechaem-dannye-Bystro-nedorogo-12-27

5,220 views

Опубликован 19 дек.

​​Типы механизмов внимания В целом механизмы внимания в компьютерном зрении можно разделить на следующие категории: 1. Поканальный механизм внимания (Channel attention - НА ЧТО обращать внимание); 2. Пространственный механизм внимания (Spatial attention - КУДА обращать внимание); 3. Временной (эволюционный) механизм внимания (Temporal Attention - КОГДА обращать внимание); 4. Блочный\веточный механизм внимания (Branch attention - ЧТО должно обратить внимание). Также существуют архитектуры, которые являются представителями нескольких категорий механизмов внимания одновременно. Рисунок 1 представляет диаграмму категоризации механизмов внимания в компьютерном зрении. Формула 1 обобщает практически все существующие реализации механизмов внимания. Эту формулу стоит запомнить как для общего развития, так и для ответов на собеседованиях. Формула 2 — известный вам из предыдущего поста self-attention . Формула 3 — SE-блок.

4,520 views

Опубликован 19 дек.

​​Прогресс развития механизма внимания в CV Продолжаем про аттеншн в CV. Предыдущий пост. Теперь у вас есть понимание, что по большому счету механизм внимания - это просто умный (обучаемый) способ что-то перевзвесить. Давайте рассмотрим классификацию механизмов внимания в компьютерном зрении, а также историю их развития. На рисунке представлена временная линия с метками, подчеркивающими знаковые статьи того времени. Весь прогресс развития может быть грубо разделен на 4 периода: 1. Первый период начинается с архитектуры RAM. В ней авторы предложили комбинировать глубокие сети с механизмом внимания. Механизм внимания рекуррентно предсказывал “важные” участки изображений и обновлял веса сети с помощью обучения с подкреплением. Главной отличительной особенностью работ этого периода является то, что для реализации механизмов внимания всегда использовали RNN; 2. Второй период начался с архитектуры STN. В STN авторы использовали подсеть, которая предсказывает аффинные преобразования для локализации (за счет растяжения и обрезки) и трансформации (сдвиг, поворот) “важной” области изображения. Затем через сеть пропускается только преобразованная важная область входной картинки. Главной отличительной особенностью второго периода является то, что важные области входных данных предсказывались отдельной подсетью, которая училась вместе с классификатором. 3. Третий период начался с SENet, которая предложила поканальный вариант механизма внимания. В нем адаптивно (обучаемо) выделяются потенциально важные признаки. SE-блоки используются например в EffNet и MobileNet архитектурах. 4. Четвертый период начался с адаптации работы Attention is all you need к работе с изображениями, породив архитектуры под общим названием “visual transformers”.

3,650 views

Опубликован 16 дек.

Основные компоненты AWS Давайте представим, что вам понадобилось обучиться на датасете размером в несколько ТБ. На вашей рабочей машинке всего RTX - 3070, а кластера у вас нет🙁 Или даже машинки нет. Что делать? Надо переезжать в облако! Если вы планируете переезжать или просто хотите узнать как работают в облаке, то читайте нашу новую статью Основные компоненты AWS. В ней мы познакомим вас с основными терминами и дадим несколько советов. https://telegra.ph/Osnovnye-komponenty-AWS-12-14

3,590 views

Опубликован 10 дек.

Что такое attention? Раньше CV инженерам можно было оправдаться, почему они не могут ответить на этот вопрос. Но трансформеры все глубже проникают в компьютерное зрение и оправдания вроде “я же не нлп-шник!” уже точно не сработают :) Чтобы напомнить вам какие бывают механизмы внимания в CV, мы готовим для вас отдельный материал. Но пока давайте вспомним/узнаем что же вообще такое attention! Читайте нашу короткую, но очень полезную статью: https://telegra.ph/CHto-takoe-attention-12-09 — и больше не придется оправдываться)

5,120 views

Опубликован 5 дек.

Вспоминаем статистику! Начинаем серию постов про проверку статистических гипотез. В новой статье рассказали о том, что такое статистические тесты и зачем они вообще нужны. Напомнили что значит «репрезентативная выборка», стат. критерий, стат. значимость, ошибки первого/второго рода и другое. Читайте подробнее в статье: https://telegra.ph/Proverka-statisticheskih-gipotez-Vvedenie-12-05

4,370 views

Опубликован 24 нояб.

MobileNetv1-v3 Разобрали для вас сразу три статьи в одной! В ней мы рассказали про революционное семейство архитектур MobileNet и выписали все трюки, которые использовали авторы в каждой из версий архитектуры. Как можно догадаться из названия, MobileNet — отличная архитектура для инференса на мобильных устройствах. Статьи о ней принесли в мир CV несколько ключевых идей по ускорению и облегчению сетей. Многие из этих идей используются до сих пор и наследуются в других работах (в той же EfficientNet). Поэтому очень сложно переоценить важность этих архитектур. Очень рекомендуем к прочтению! Изложили все идеи простым языком и подчеркнули несколько интересных нюансов. Например, вы знали, зачем в MobileNet v2 убрали нелинейность между некоторыми свертками? Или помните почему свертки 1х1 считаются быстрее других (даже с поправкой на кол-во параметров)? Если нет и хотите узнать или вспомнить, читайте нашу новую статью: https://telegra.ph/MobileNet-v1-v3-11-24🔥

4,550 views

Опубликован 23 нояб.

​​Решение Первое решение, которое может прийти в голову: для каждой картинки в словаре пройдемся по ее дубликатам. И объединим множество дубликатов картинки с множествами дубликатов для каждого дубликата этой картинки. Но такое решение будет работать долго и неправильно. Долго потому что операция объединения множеств имеет линейную сложность, т.е. мы получим итоговую квадратичную сложность. А неправильно потому что может быть такая ситуация (рис. 1): # input { 'img2': {'img1'}, 'img3': {'img1', 'img4'}, 'img1': {'img2', 'img3'}, } # output { 'img2': {'img1', 'img3'}, 'img3': {'img1', 'img4', 'img2'}, 'img1': {'img2', 'img3', 'img4'}, } Т.е. для картинки img2 нужно было не просто объединить ее множество с множеством картинки img1, а еще и провалиться в множество картинки img1 и взять оттуда все множества дубликатов. Думаю, вы поняли, что здесь запахло рекурсией… поэтому забудем про это решение. Корректное и быстрое решение можно сделать при помощи структуры данных система непересекающихся множеств (Disjoint-set). Библиотечка для python. Но там буквально несколько строк, можно и самим написать. В этой структуре данных все объекты хранятся в непересекающихся множествах. У нее есть две операции: - get(x) — возвращает некоторого представителя из множества, которому принадлежит объект x - union(x, y) — объединяет два множества, в которых лежат объекты x и y Разберем на примере. Пусть была такая система множеств: {img1, img2, img3}, {img4, img5}, {img6, img7} get(img1) вернет нам одно из значений из множества {img1, img2, img3}. Т.е. некоторого представителя этого множества union(img2, img4) преобразует систему множеств к такому виду: {img1, img2, img3, img4, img5}, {img6, img7} Обе операции работают почти за О(1). В сложности фигурирует обратная функция Аккермана, но ее можно принять за небольшую константу в реальных задачах. Вообще, есть даже работы, которые утверждают, что нашли ошибку в выводе классической оценки и она может быть улучшена. Приспособить эту структуру данных под нашу задачу можно следующим образом (рис. 2). Вот и все. В итоге у нас получится система множеств картинок-дубликатов, которую мы хотели получить изначально.

2,970 views

Опубликован 22 нояб.

​​Задачка на подумать: Пусть вам нужно дедуплицировать фотографии. Причем дедупликация должна быть умной. Если есть фотка и такая же фотка, но сдвинутая/повернутая/засвеченная, то нужно считать их дублями. Для этой задачки вы решили использовать сетку. Выцепляете эмбеддинги картинок и если расстояние между эмбеддингами меньше порога, то считаете картинки дублями. В итоге может получиться такой словарик (рис. 1): { 'img1': {'img2', 'img10', 'img15'}, 'img2': {'img1', 'img10', 'img15', 'img20'}, ... } Где ключ - это картинка, а значение - это множество картинок, которые мы посчитали дублями по расстоянию между эмбеддингами. В таком подходе возникнет следующая проблема: получившееся отношение дублируемости не транзитивно. Это значит, что по расстоянию между эмбеддингами может получиться что-то такое (рис. 2): { 'img1': {'img2', 'img3'}, 'img2': {'img1'}, 'img3': {'img1'}, } т.е. img2 и img3 дублируют img1, но не дублируют друг друга. Кажется, в такой ситуации мы хотим сказать, что все картинки (img1, img2, img3) являются дубликатами друг друга. Ситуацию, при которой из-за такого подхода мы начнем даже очень непохожие картинки называть дублями, мы не рассматриваем, она малореалистична. Как этого достичь? Ответ опубликуем завтра

2,560 views

Опубликован 22 нояб.

С началом нового потока курса пришлось отвлечься от написания статей в телеграм) Но теперь мы снова встали на рельсы и уже подготовили несколько интересных постов для вас! Начнем с одной довольно популярной задачки…

2,290 views
12•••10•••20•••30•••3839404142•••4445