AbstractDL – Telegram
AbstractDL
11.5K subscribers
244 photos
16 videos
282 links
Коротко про классные штуки в CV, NLP и AI 🤷‍♂️
By Anton Razzhigaev
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Огромная коллекция примеров и туториалов

Смотрите что нашёл. Похоже тут собрали вообще все крутые колаб ноутбуки и туториалы по CV | NLP. Их там больше 150, поэтому для тех, кому лень листать — отобрал несколько самых интересных 💁‍♂️

Просто классные штуки:
• Deep Fake ~ video face swap (тык)
• YOLOv5 (тык)
• Neural Machine Translation ~100 языков (тык)
• Music VAE (тык)
• Style Transfer (тык)
• Face2Video (тык)
• Training GPT2 (тык)
• Video | Image colorization (тык | тык)
• BERT score evaluation metric (тык)
• StyleGAN 2 (тык)

Туториалы:
• Pix2Pix (тык)
• Detectron2 (тык)
• Neural style transfer (тык)
• CycleGAN (тык)
• BERT for text classification (тык)
• Image captioning (тык)
• Image segmentation (тык)
• ruGPT3 (тык)

P.S. На видео дипфейк, сгенерированный в колабе из первой ссылки.
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Over-the-Air Adversarial Flickering Attacks

Атака на систему видеонаблюдения при помощи мигающего фонарика.

Научным языком это «real-world transferable white-box adversarial attack on action recognition system». Если простым языком, то ребята научились генерировать особую последовательность миганий фонарика, которая заставляет нейронку неправильно распознавать действия на видео.

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

Как это работает?

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

Статья, GitHub
Парсил википедию и заметил какой-то глюк. Ну не может же слово быть таким длинным. Оказалось может 😂

P.S. Это какое-то греческое блюдо
Do Vision Transformers See Like Convolutional Neural Networks? (by Google)

В Google Brain попытались разобраться, чем отличается зрение трансформеров от CNN.

Они обучили оба типа моделей на одном и том же датасете, а затем статистически сравнивали активации с помощью Centered Kernel Alignment.

Выводы:
1. Трансформеры извлекают больше глобальной информации из картинки, чем CNN. Они «видят» картинку целиком.
2. Они сначала учат глобальные фичи, и только потом локальные. Из-за этого receptive field растёт почти мгновенно в отличие от CNN (см. картинку).
3. Но для того чтобы выучить локальные фичи, трансформерам нужно очень много обучающих данных.
4. Skip-connections в трансформерах делают больше полезной работы, чем в резнетах.
5. Информация о позиции объекта в трансформерах сохраняется более точно.
6. MLP-Mixer ведёт себя скорее как ViT, чем ResNet.

P.S. Ещё одно подтверждение того, что сильный inductive bias (e.g., конволюции) только мешает нейронкам учиться 🤦‍♂️

Статья
Forwarded from DLStories
Большой брат следит за тобой еще пристальнее
#tech

NTechLab обновил свою систему FindFace и выпустил FindFace Multi. Это система для распознавания лиц, силуэтов и действий людей, а также детекции автомобилей. В основе FindFace Multi лежит нейросеть kiwi, которая заняла 1 место в мире по точности распознавания лиц в конкурсе NIST в 2021 году.

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

Также FindFace стало сложнее обмануть. В FindFace Multi используется система антиспуфинга: нейросеть обрабатывает сразу несколько кадров с камеры наблюдения и анализирует изменения на лице человека. Так система убеждается, что перед ней — реальный человек, а не фотография на бумаге или с экрана телефона.
Подробнее про новую систему читайте на сайте компании.

Учитывая, что NTechLab плотно сотрудничает с правительством Москвы и поставляет решения для камер наблюдения города, то... кажется, скоро в метро все же придется носить маску. Причем еще и надевать ее строго правильно 😕
А о других применениях этой технологии даже думать не хочется...
🔥 SimVLM: Simple Visual Language Model Pre-training with Weak Supervision (by Google Brain)

Гугл продолжает радовать меня статьями на стыке CV и NLP. На этот раз они придумали ОДНУ МОДЕЛЬ ДЛЯ ВСЕГО (а заодно получили 6 SOTA результатов).

SimVLM умеет:
- Image Captioning
- Image Classification
- Question Answering
- Multimodal Translation
- Visual Reasoning

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

Например, если загрузить в модель картинку панды и попросить дополнить текст «это животное обитает …», то SimVLM допишет «в центральном Китае».

В следующем посте расскажу об этой модели более подробно 🧐

Статья
SimVLM step-by-step

1. Будем учить модель на парах картинка-описание (датасет).
2. Картинку разрезаем на прямоугольники — визуальные токены.
3. Каждый визуальный токен пропускаем сначала через Conv-часть резнета, а затем через ViT и получаем визуальные эмбеддинги.
4. Токенизируем текстовое описание картинки.
5. Делим список текстовых токенов на две части.
6. Левую часть эмбеддим линейным слоем и конкатенируем со списком визуальных эмбеддингов. Это будет инпут модели.
7. Аггрегируем этот список эмбеддингов с помощью bidirectional трансформера (наподобие BERT).
8. Декодим всё это с помощью авторегрессионного трансформера (наподобие GPT).
9. С помощью Cross-Entropy Loss учим модель генерировать именно правую часть описания картинки.
10. Тренируем модель ровно одну эпоху.

Готово!
Встречайте: Нейро Путин!

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

@neural_chat_bot: это нейронный чатбот на основе GPT-2, который думает, что он президент. У бота есть контекстная память, и, если что-то идёт не так — почаще посылайте команду /reset, она удаляет вашу историю сообщений и прочищает боту мозги.

Скриншоты забавных диалогов с ботом кидайте в комменты)

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

UPD: Пофиксил баги и сменил хост, теперь бот будет работать шустрее. Не забывайте использовать /reset, если он начинает нести бред)
Real-World Adversarial Attack with Makeup

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

Ребята из IBM Watson Research Center предлагают генерировать специальный adversarial макияж с помощью Cycle-GAN (см. рисунок) и перерисовывать его на живого человека. Во время обучения они дополнительно накладывают Gaussian Blur, который немного «размазывает» рисунок, делая его более устойчивым к дальнейшим ошибкам и неточностям во время нанесения.

Таким образом, у них получилась targeted & untargeted white-box real-world атака на простенький классификатор (vgg16).

P.S. На картинке представлены и другие методы обмана surveillance систем: очки, футболка и шапка со сгенерированными adversarial рисунками

Статья
🔥LAION-400M открытый датасет из 423M картинок с описаниями

Хотели обучить свой CLIP или DALL•E? Теперь это возможно!
Опубликован самый большой в мире датасет из пар картинка-текст 💁‍♂️

Датасет получен парсингом страниц из Comon Crawl. Затем всякий мусор отфильтровали с помощью CLIP по трешхолду 0.3.

Что есть в датасете?
• Картинки с текстовым описанием
• CLIP эмбеддинги картинок (NumPy)
• KNN индекс эмбеддингов

В итоге: 10TB данных!

P.S. Авторы говорят, что постарались удалить часть NSFW (unsafe) контента, но полностью избавиться от него не удалось. Возможно именно поэтому такие штуки не публикуют крупные компании типа Google.

Dataset
👍3
Дропаут градиентов: как не испортить модель во время файн-тюнинга (Alibaba)

Во время файн-тюнинга очень глубокие модели (e.g. BERT, GPT) начинают тупеть, оверфитясь на новые данные. Ведь для огромной capacity таких моделей, информации во время дообучения просто недостаточно.

Частично эту проблему решала специальная регуляризация: MSE лосс между старыми весами и новыми (RecAdam). Но похоже, что в Alibaba придумали как полностью решить эту проблему — они предлагают дообучать не всю сеть сразу, а только случайно выбранные сабсеты параметров.

По сути они делают dropout градиентов. Во время инференса задействуются все параметры, а во время бэкварда часть градиентов зануляется. Это эффективно уменьшает capacity нейронки и спасат её от оверфита.

В итоге они получили лучшие результаты на NLI и NLU бэнчмарках для кучи трансформеров. Ещё они доказали пару теорем, показывающих, что такая регуляризация позволяет находить flat local minima, что классно для обобщающей способности (тык).

Статья, GitHub
Fine-Tuned Transformers Show Clusters of Similar Representations Across Layers

Оказывается, после файн-тюнинга, некоторые слои в трансформерах начинают «игнорироваться». Видимо, модель считает, что проще их не учить, а просто выключить (перекинуть через skip-connection).

Это ещё одна работа, которая использует новомодный Centered Kernel Alignment для оценки похожести активаций на разных слоях. Тут зафайнтюнили RoBERTa и ALBERT на 12 NLU бэнчмарках, и, оказалось, что у них возникают кластеры слоёв с практически идентичными активациями, которых не было до дообучения.

Раз активации одинаковые на разных слоях, то, может быть, стоит выкинуть всё что между ними? Так авторы и сделали, и увидели, что перформанс моделей упал совсем чуть-чуть (~1%). Выходит, что CKA можно использовать для такого хитрого сжатия трансформеров.

P.S. Вот вам и доказательство того, что даже трансформеры бывают ленивыми 🦥

Статья
Нашёл простенький сайт для генерации картинок по тексту. Подробностей нет, но, скорее всего, это работает как-то так.

P.S. Текст «Neural God»
Forwarded from эйай ньюз
В Google Colab на подписке Pro+ стали выпадать 40-гиговые Nvidia A100. И это хорошо!
Pix2Seq: Object Detection as Language Modeling (by Google)

Это гениально! Image Captioning, который вместо описаний картинок генерирует КООРДИНАТЫ ОБЪЕКТОВ (и лэйблы тоже)!

Зачем мучиться с bounding boxes, region proposals и прочими неприятными штуками в object detection? Оказалось, можно решить задачу детекции как задачу image captioning! (см. картинку)

P.S. Теперь этот подход кажется мне более очевидным, чем всякие Faster R-CNN. И почему это не придумали раньше?

Статья, GitHub
👍1
On Isotropy Calibration of Transformers

Давно известно, что трансформеры очень слабо используют своё пространство эмбеддингов, и, более того, это пространство анизотропно. Практически все эмбеддинги находятся в узком конусе, а не занимают гиперсферу полностью (см. картинку).

Это приводит к тому, что угол между этими репрезентациями очень маленький, следовательно, косинус близок к 1, и все слова похожи друг на друга. Но плохо ли это?

Долгое время считали, что это плохо, и за несколько лет придумали кучу способов восстановления изотропии. Но тут оказалось, что всё-таки трансформеры лучше знают, что им нужно от пространства эмбеддингов 😂

И вообще, они локально изотропны (тык), а тщательные эксперименты со всеми типами трансформеров на всевозможных бенчмарках показали, что нет никакого статистически значимого улучшения от калибровки изотропии 🤷‍♂️

Статья
This media is not supported in your browser
VIEW IN TELEGRAM
Keypoint Communities: новая SOTA в pose estimation

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

Таким образом, они получили соту на COCO WholeBody (human pose estimation) и на ApolloCar3D (car pose estimation).

Для человека модель генерит 133 ключевые точки, включая тело, кисти рук и выражение лица.

Статья, GitHub, Demo
This media is not supported in your browser
VIEW IN TELEGRAM
Как обучить нейронку виртуозно управлять дроном

Идея довольно простая: нужно использовать для обучения 3D симуляцию. В виртуальной среде в любой момент времени доступна точная информация о координатах всех препятствий. Таким образом сэмплируются collision-free траектории методом Монте-Карло (см. гифку), а затем нейронка учится предсказывать эти траектории на основе симуляции шумного и ограниченного зрения дрона.

Несмотря на то, что дрон учился только на синтетических данных, в реальном мире он летает очень круто. Пишут, что он может разгоняться до 40(!) км/ч в густом лесу.

P.S. новость подсмотрел тут.

Статья, GitHub, видео, блог
Media is too big
VIEW IN TELEGRAM
🎴 NVIDIA выкатили StyleGAN3

Как и планировалось сегодня NVIDIA выложила в доступ (код и модели) StyleGAN3, который описали 23 июня 2021 в пейпере Alias-Free Generative Adversarial Networks.

Имя StyleGAN3 планировали дать в день публикации кода и моделей.

p.s.: думаю, что на днях мы увидим колаб и поиск в латентщине CLIP’ом

🤖сайт проекта 💻 код 📰 paper
Media is too big
VIEW IN TELEGRAM
Нашел тут анимацию, полученную при помощи StyleGan3, которая удивительно точно передаёт все генеративные особенности этой модели.

Текстуры свободно перемещаются и вращаются по всему кадру, нет выделенных позиций, пульсаций и прочих артефактов старых ГАНов. Просто волшебно)

P.S. Как работает StyleGan3 я писал тут.