Вот так выглядит Бог искусственного интеллекта по мнению text2image модели CogView.
P.S. Если, конечно, гугл перевёл мой запрос правильно: «人工智能之神»
P.S. Если, конечно, гугл перевёл мой запрос правильно: «人工智能之神»
This media is not supported in your browser
VIEW IN TELEGRAM
Environments for self-driving tasks
Свежая библиотека для обучения нейронок вождению (и парковке). Тут всё предельно упрощено – надо научить машину ехать как можно быстрее, двигаться по своей полосе и, главное, не врезаться.
Авторы предоставили несколько бэйзлайн решений (в основном RL) и ноутбуки с примерами.
Статья, GitHub, colab.
Свежая библиотека для обучения нейронок вождению (и парковке). Тут всё предельно упрощено – надо научить машину ехать как можно быстрее, двигаться по своей полосе и, главное, не врезаться.
Авторы предоставили несколько бэйзлайн решений (в основном RL) и ноутбуки с примерами.
Статья, GitHub, colab.
A Survey of Data Augmentation Approaches for NLP
Аугментировать картинки — изи, но что же делать с текстом? Оказывается, можно много всего делать, и всё это описано в одной статье.
Основные способы аугментации:
1. Token-level: случайные перестановки, замена на синонимы, удаление рандомных и не рандомных слов.
2. Text-level: paraphrasing (GPT-2), backtranslation c помощью предобученных моделей, замена пропущенных слов с помощью masked-LM (см. картинку).
3. (самое интересное) Activation-level: aугментация внутри модели — зашумлять или смешивать эмбеддинги слов и по-всякому двигать внутренние репрезентации текста и этеншны.
Статья
Аугментировать картинки — изи, но что же делать с текстом? Оказывается, можно много всего делать, и всё это описано в одной статье.
Основные способы аугментации:
1. Token-level: случайные перестановки, замена на синонимы, удаление рандомных и не рандомных слов.
2. Text-level: paraphrasing (GPT-2), backtranslation c помощью предобученных моделей, замена пропущенных слов с помощью masked-LM (см. картинку).
3. (самое интересное) Activation-level: aугментация внутри модели — зашумлять или смешивать эмбеддинги слов и по-всякому двигать внутренние репрезентации текста и этеншны.
Статья
This media is not supported in your browser
VIEW IN TELEGRAM
TextStyleBrush
Facebook AI представили модель для генерации стилизованного текста по единственной референсной картинке.
Выглядит довольно круто. Теперь будет проще подделывать документы, но ни код ни модель пока не опубликовали 🤷♂️
Зато опубликовали размеченный датасет из 135К фотографий с разнообразными прикольными шрифтами.
Статья, блог, датасет
Facebook AI представили модель для генерации стилизованного текста по единственной референсной картинке.
Выглядит довольно круто. Теперь будет проще подделывать документы, но ни код ни модель пока не опубликовали 🤷♂️
Зато опубликовали размеченный датасет из 135К фотографий с разнообразными прикольными шрифтами.
Статья, блог, датасет
Как устроен TextStyleBrush?
Полный фреймворк состоит из 7(!) моделей:
1. Style (image) encoder
2. Content (text) encoder
3. Style mapping model
4. Stylized text generator (StyleGAN2)
5. Pretrained typeface classifier (классификатор шрифтов)
6. Pre-trained OCR (распознавание текста)
7. Discriminator
Модели 1-4 используются для инференса, 5-7 для лоссов.
Обучение здесь вполне типичное для стайл трансфера: учится ган на нескольких лоссах, главные из которых — reconstruction и cycle loss, которые учат модель перегонять текст из одного стиля в другой и обратно.
Также, здесь используются пара дополнительных лоссов на основе моделей 5-6, контролирующих качество сгенерированных текстов на картинке.
Полный фреймворк состоит из 7(!) моделей:
1. Style (image) encoder
2. Content (text) encoder
3. Style mapping model
4. Stylized text generator (StyleGAN2)
5. Pretrained typeface classifier (классификатор шрифтов)
6. Pre-trained OCR (распознавание текста)
7. Discriminator
Модели 1-4 используются для инференса, 5-7 для лоссов.
Обучение здесь вполне типичное для стайл трансфера: учится ган на нескольких лоссах, главные из которых — reconstruction и cycle loss, которые учат модель перегонять текст из одного стиля в другой и обратно.
Также, здесь используются пара дополнительных лоссов на основе моделей 5-6, контролирующих качество сгенерированных текстов на картинке.
This media is not supported in your browser
VIEW IN TELEGRAM
Alias-Free Generative Adversarial Networks (by NVIDIA)
Несмотря на translation-инвариантность конволюций, генеративные модели этим свойством не обладают, и текстуры «приклеиваются» к определённым пикселям. Например, при движении лица волосы будто бы остаются на месте.
Оказывается, это следствие алиасинга (aliasing) — кривого смешивания дискретных сигналов (в этом виновата теорема Найквиста). NVIDIA предлагает простой трюк, который исправляет этот дефект, делая сеть пространственно и вращательно эквивариантной, что позволяет двигаться по латентному пространству ГАНов более реалистично. Говорят, что это открывает им путь в мультипликацию и редактирование видео.
Вся суть aliasing-free модификации — куча правильных фильтров низких частот в нужных местах, которые гарантируют, что условие Найквиста не нарушится (высокие частоты будут не слишком высокими).
Статья, GitHub, блог
Несмотря на translation-инвариантность конволюций, генеративные модели этим свойством не обладают, и текстуры «приклеиваются» к определённым пикселям. Например, при движении лица волосы будто бы остаются на месте.
Оказывается, это следствие алиасинга (aliasing) — кривого смешивания дискретных сигналов (в этом виновата теорема Найквиста). NVIDIA предлагает простой трюк, который исправляет этот дефект, делая сеть пространственно и вращательно эквивариантной, что позволяет двигаться по латентному пространству ГАНов более реалистично. Говорят, что это открывает им путь в мультипликацию и редактирование видео.
Вся суть aliasing-free модификации — куча правильных фильтров низких частот в нужных местах, которые гарантируют, что условие Найквиста не нарушится (высокие частоты будут не слишком высокими).
Статья, GitHub, блог
🔥 Сбербанк сделал ru-CLIP
SberDevices выложили в открытый доступ Русско-язычною версию CLIP — модели от OpenAI (тык), которая в начале этого года придала ОГРОМНЫЙ импульс исследованиям на стыке NLP и CV (прям как я люблю).
По-сути, CLIP состоит из двух моделей: image-encoder и text-encoder. Они эмбеддят картинки и тексты в одно пространство, позволяя делать кучу всего интересного, например zero-shot классификацию картинок, поиск изображений по описанию, image captioning и много другой магии (тык, тык).
Для того чтобы прикрутить поддержку русского языка они заменили text-encoder на RuGPT3Small и вставили пару линейных слоёв после обоих энкодеров. Дальше эти хитрюги обучили только эти линейные слои (забавно, но этого хватило).
Блог, GitHub, HuggingFace
P.S. Астрологи объявили неделю CLIP, поэтому ниже будут ещё посты про эту чудо-модель 😉
SberDevices выложили в открытый доступ Русско-язычною версию CLIP — модели от OpenAI (тык), которая в начале этого года придала ОГРОМНЫЙ импульс исследованиям на стыке NLP и CV (прям как я люблю).
По-сути, CLIP состоит из двух моделей: image-encoder и text-encoder. Они эмбеддят картинки и тексты в одно пространство, позволяя делать кучу всего интересного, например zero-shot классификацию картинок, поиск изображений по описанию, image captioning и много другой магии (тык, тык).
Для того чтобы прикрутить поддержку русского языка они заменили text-encoder на RuGPT3Small и вставили пару линейных слоёв после обоих энкодеров. Дальше эти хитрюги обучили только эти линейные слои (забавно, но этого хватило).
Блог, GitHub, HuggingFace
P.S. Астрологи объявили неделю CLIP, поэтому ниже будут ещё посты про эту чудо-модель 😉
Что такое CLIP и как он работает?
Почти полгода прошло с тех пор, как OpenAI представила CLIP: Contrastive Language–Image Pre-training. Это было то, чего мы так долго ждали — универсальная модель, которая одинаково классно понимает и картинки и текст, открывая возможности для исследований на стыке CV и NLP.
Если коротко, то эта штука энкодит картинки и их описания в близкие (в идеале — одинаковые) эмбеддинги. Но если копнуть глубже, то эта модель научилась выявлять «open-set visual concepts from natural language» и показывает удивительные способности к генерализации. Она понимает высокие уровни абстракции и неявные связи между ними.
CLIP состоит из двух моделей: image-encoder (ViT или resnet50) и text-encoder (transformer). Для обучения собрали огроменный датасет из 400M картинок с описаниями из интернета. Энкодеры одновременно учатся генерировать эмбеддинги для картинок и описаний, максимизируя косинус между правильными парами из батча и минимизирую между всеми остальными.
Статья, GitHub, блог
Почти полгода прошло с тех пор, как OpenAI представила CLIP: Contrastive Language–Image Pre-training. Это было то, чего мы так долго ждали — универсальная модель, которая одинаково классно понимает и картинки и текст, открывая возможности для исследований на стыке CV и NLP.
Если коротко, то эта штука энкодит картинки и их описания в близкие (в идеале — одинаковые) эмбеддинги. Но если копнуть глубже, то эта модель научилась выявлять «open-set visual concepts from natural language» и показывает удивительные способности к генерализации. Она понимает высокие уровни абстракции и неявные связи между ними.
CLIP состоит из двух моделей: image-encoder (ViT или resnet50) и text-encoder (transformer). Для обучения собрали огроменный датасет из 400M картинок с описаниями из интернета. Энкодеры одновременно учатся генерировать эмбеддинги для картинок и описаний, максимизируя косинус между правильными парами из батча и минимизирую между всеми остальными.
Статья, GitHub, блог
CLIP слишком сильно абстрагирует
Было обнаружено, что в мозгу человека есть мульти-модальные нейроны, которые реагируют на одну и ту же абстракцию в разных проявлениях. Такое же свойство было обнаружено и в нейронах CLIP 🤯
Оказалось, что эта модель, подобно человеку, оперирует абстрактными концептами. Кроме того, в пространстве таких концептов действует более-менее линейная алгебра! Например, концепт «копилка» = «игрушка» + «животное» + «деньги».
Но у такой линейной алгебры есть и свой недостаток — adversarial атаки. Особым образом комбинируя концепты можно заставлять модель неправильно интерпретировать увиденное, например, если на собаку приклеить значки доллара, то она распознается как «копилка», а если на яблоке написать «ipod», то оно превратится в Apple Ipod 💁♂️
Статья, GitHub, блог
P.S. Такую овергенерализацию кто-то принимает за недостаток, но я считаю, что это очередной шаг в сторону general AI.
Было обнаружено, что в мозгу человека есть мульти-модальные нейроны, которые реагируют на одну и ту же абстракцию в разных проявлениях. Такое же свойство было обнаружено и в нейронах CLIP 🤯
Оказалось, что эта модель, подобно человеку, оперирует абстрактными концептами. Кроме того, в пространстве таких концептов действует более-менее линейная алгебра! Например, концепт «копилка» = «игрушка» + «животное» + «деньги».
Но у такой линейной алгебры есть и свой недостаток — adversarial атаки. Особым образом комбинируя концепты можно заставлять модель неправильно интерпретировать увиденное, например, если на собаку приклеить значки доллара, то она распознается как «копилка», а если на яблоке написать «ipod», то оно превратится в Apple Ipod 💁♂️
Статья, GitHub, блог
P.S. Такую овергенерализацию кто-то принимает за недостаток, но я считаю, что это очередной шаг в сторону general AI.
Darker than Black-Box: Face Reconstruction from Similarity Queries
Препринт моей статьи про privacy уязвимость систем распознавания лиц.
Получилось осуществить атаку в самом тяжёлом сценарии, когда атакуемая модель (ArcFace) — это чёрный ящик, принимающий на вход фотографию и выдающий только одно число — насколько эта фотография похожа на человека с заданным id.
Обнаруженная уязвимость позволяет за несколько тысяч обращений к модели выяснить как выглядит человек всего лишь по его айдишнику.
Атака производится с помощью специально созданных синтетических изображений, которые последовательно посылаются в систему распознавания лиц, а затем, на основе её ответов, они комбинируются в узнаваемое лицо.
P.S. Теперь получается, что к персональным данным нужно относить не только фото человека, но и его id 🤷♂️
Статья, GitHub
Препринт моей статьи про privacy уязвимость систем распознавания лиц.
Получилось осуществить атаку в самом тяжёлом сценарии, когда атакуемая модель (ArcFace) — это чёрный ящик, принимающий на вход фотографию и выдающий только одно число — насколько эта фотография похожа на человека с заданным id.
Обнаруженная уязвимость позволяет за несколько тысяч обращений к модели выяснить как выглядит человек всего лишь по его айдишнику.
Атака производится с помощью специально созданных синтетических изображений, которые последовательно посылаются в систему распознавания лиц, а затем, на основе её ответов, они комбинируются в узнаваемое лицо.
P.S. Теперь получается, что к персональным данным нужно относить не только фото человека, но и его id 🤷♂️
Статья, GitHub
This media is not supported in your browser
VIEW IN TELEGRAM
Image Super-Resolution via Iterative Refinement (by Google)
Теперь моими любимыми диффузионными моделями занялся и Google, на этот раз для super-resolution (SOTA на CelebA-HQ).
Представленная модель называется «Super-Resolution via Repeated Refinement» (SR3). В её основе лежит UNet-based диффузионная модель (тык) с двумя модификациями:
1. К инпуту всегда конкатенируется bicubic up-sampled low-resolution image. Это нужно для кондишнинга на конкретной картинке, чтобы в высоком разрешении генерировалась именно она.
2. Учится не одна модель, а каскад из 3 юнетов для разных разрешений 64→256→1024. Это улучшает качество генерации и сильно упрощает сложность обучения.
P.S. Теперь можно не играть в MinMax игры Ганов и мучиться с их стабилизацией, ведь есть диффизионные модели с явным лоссом для оптимизации! Надеюсь, что в этом году нас ждёт ещё много крутых работ про них 👀
Статья, блог
Теперь моими любимыми диффузионными моделями занялся и Google, на этот раз для super-resolution (SOTA на CelebA-HQ).
Представленная модель называется «Super-Resolution via Repeated Refinement» (SR3). В её основе лежит UNet-based диффузионная модель (тык) с двумя модификациями:
1. К инпуту всегда конкатенируется bicubic up-sampled low-resolution image. Это нужно для кондишнинга на конкретной картинке, чтобы в высоком разрешении генерировалась именно она.
2. Учится не одна модель, а каскад из 3 юнетов для разных разрешений 64→256→1024. Это улучшает качество генерации и сильно упрощает сложность обучения.
P.S. Теперь можно не играть в MinMax игры Ганов и мучиться с их стабилизацией, ведь есть диффизионные модели с явным лоссом для оптимизации! Надеюсь, что в этом году нас ждёт ещё много крутых работ про них 👀
Статья, блог
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. На видео дипфейк, сгенерированный в колабе из первой ссылки.
Смотрите что нашёл. Похоже тут собрали вообще все крутые колаб ноутбуки и туториалы по 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
Атака на систему видеонаблюдения при помощи мигающего фонарика.
Научным языком это «real-world transferable white-box adversarial attack on action recognition system». Если простым языком, то ребята научились генерировать особую последовательность миганий фонарика, которая заставляет нейронку неправильно распознавать действия на видео.
Представьте такой сюжет: человек заходит в банк, направляет фонарик на камеру видеонаблюдения, и через несколько секунд срабатывает сигнализация, ведь нейронка подумала, что происходит вооружённое ограбление. В ближайшем будущем такие пранки могут стать реальностью.
Как это работает?
Нужно взять классические методы атак, такие как FGM и добавить специальные ограничения однородности и цикличности генерируемого возмущения. В итоге, атака выглядит как последовательность цветных прямоугольников, которые нужно либо добавить к видео, либо повторить с помощью RGB-светодиодов.
Статья, GitHub
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., конволюции) только мешает нейронкам учиться 🤦♂️
Статья
В 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 плотно сотрудничает с правительством Москвы и поставляет решения для камер наблюдения города, то... кажется, скоро в метро все же придется носить маску. Причем еще и надевать ее строго правильно 😕
А о других применениях этой технологии даже думать не хочется...
#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 допишет «в центральном Китае».
В следующем посте расскажу об этой модели более подробно 🧐
Статья
Гугл продолжает радовать меня статьями на стыке CV и NLP. На этот раз они придумали ОДНУ МОДЕЛЬ ДЛЯ ВСЕГО (а заодно получили 6 SOTA результатов).
SimVLM умеет:
- Image Captioning
- Image Classification
- Question Answering
- Multimodal Translation
- Visual Reasoning
Если коротко, то это авторегрессионная модель наподобие GPT, которая обучалась дописывать текстовые описания картинок на основе визуальных токенов.
Например, если загрузить в модель картинку панды и попросить дополнить текст «это животное обитает …», то SimVLM допишет «в центральном Китае».
В следующем посте расскажу об этой модели более подробно 🧐
Статья