Pix2Seq: Object Detection as Language Modeling (by Google)
Это гениально! Image Captioning, который вместо описаний картинок генерирует КООРДИНАТЫ ОБЪЕКТОВ (и лэйблы тоже)!
Зачем мучиться с bounding boxes, region proposals и прочими неприятными штуками в object detection? Оказалось, можно решить задачу детекции как задачу image captioning! (см. картинку)
P.S. Теперь этот подход кажется мне более очевидным, чем всякие Faster R-CNN. И почему это не придумали раньше?
Статья, GitHub
Это гениально! Image Captioning, который вместо описаний картинок генерирует КООРДИНАТЫ ОБЪЕКТОВ (и лэйблы тоже)!
Зачем мучиться с bounding boxes, region proposals и прочими неприятными штуками в object detection? Оказалось, можно решить задачу детекции как задачу image captioning! (см. картинку)
P.S. Теперь этот подход кажется мне более очевидным, чем всякие Faster R-CNN. И почему это не придумали раньше?
Статья, GitHub
👍1
On Isotropy Calibration of Transformers
Давно известно, что трансформеры очень слабо используют своё пространство эмбеддингов, и, более того, это пространство анизотропно. Практически все эмбеддинги находятся в узком конусе, а не занимают гиперсферу полностью (см. картинку).
Это приводит к тому, что угол между этими репрезентациями очень маленький, следовательно, косинус близок к 1, и все слова похожи друг на друга. Но плохо ли это?
Долгое время считали, что это плохо, и за несколько лет придумали кучу способов восстановления изотропии. Но тут оказалось, что всё-таки трансформеры лучше знают, что им нужно от пространства эмбеддингов 😂
И вообще, они локально изотропны (тык), а тщательные эксперименты со всеми типами трансформеров на всевозможных бенчмарках показали, что нет никакого статистически значимого улучшения от калибровки изотропии 🤷♂️
Статья
Давно известно, что трансформеры очень слабо используют своё пространство эмбеддингов, и, более того, это пространство анизотропно. Практически все эмбеддинги находятся в узком конусе, а не занимают гиперсферу полностью (см. картинку).
Это приводит к тому, что угол между этими репрезентациями очень маленький, следовательно, косинус близок к 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
Обычно, позу моделируют как связный граф ключевых точек. Авторы статьи предлагают во время обучения использовать меру «центральности» узлов этого графа как дополнительные веса внутри лосса. Это позволило учесть важность различных кусков в человеке.
Таким образом, они получили соту на 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, видео, блог
Идея довольно простая: нужно использовать для обучения 3D симуляцию. В виртуальной среде в любой момент времени доступна точная информация о координатах всех препятствий. Таким образом сэмплируются collision-free траектории методом Монте-Карло (см. гифку), а затем нейронка учится предсказывать эти траектории на основе симуляции шумного и ограниченного зрения дрона.
Несмотря на то, что дрон учился только на синтетических данных, в реальном мире он летает очень круто. Пишут, что он может разгоняться до 40(!) км/ч в густом лесу.
P.S. новость подсмотрел тут.
Статья, GitHub, видео, блог
Forwarded from Мишин Лернинг 🇺🇦🇮🇱
Media is too big
VIEW IN TELEGRAM
🎴 NVIDIA выкатили StyleGAN3
Как и планировалось сегодня NVIDIA выложила в доступ (код и модели) StyleGAN3, который описали 23 июня 2021 в пейпере Alias-Free Generative Adversarial Networks.
Имя StyleGAN3 планировали дать в день публикации кода и моделей.
p.s.: думаю, что на днях мы увидим колаб и поиск в латентщине CLIP’ом
🤖сайт проекта 💻 код 📰 paper
Как и планировалось сегодня 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 я писал тут.
Текстуры свободно перемещаются и вращаются по всему кадру, нет выделенных позиций, пульсаций и прочих артефактов старых ГАНов. Просто волшебно)
P.S. Как работает StyleGan3 я писал тут.
Zero-Shot NLP Task Generalization
Huggingface совместно с исследователями из 250(!) институтов представили модель T0, которая обходит GPT-3 и при этом в десятки раз компактнее.
Ещё в статьях про GPT-2 и GPT-3 показали, что языковые модели умеют не только дописывать текст, но и кучу всего классного: QA, summarization, translation и тд. Главное, в правильном формате текст подавать — например, для summarization в конце нужно дописать «TL;DR:» и модель выдаст краткое содержание всего что выше. Это называется prompt engineering, и, по сути, это побочный эффект.
А что если во время обучения сфокусироваться на этом «побочном эффекте»? Авторы статьи создали prompted-task датасет: они взяли все главные NLP бэнчмарки и переписали их в prompted формате. Потом они взяли модель T5 и дообучили на всём этом.
В итоге они получили SOTA почти везде, даже на тех задачах, которые модель никогда не видела (они проверили). Это и есть zero-shot task generalization.
Статья, GitHub, Huggingface
Huggingface совместно с исследователями из 250(!) институтов представили модель T0, которая обходит GPT-3 и при этом в десятки раз компактнее.
Ещё в статьях про GPT-2 и GPT-3 показали, что языковые модели умеют не только дописывать текст, но и кучу всего классного: QA, summarization, translation и тд. Главное, в правильном формате текст подавать — например, для summarization в конце нужно дописать «TL;DR:» и модель выдаст краткое содержание всего что выше. Это называется prompt engineering, и, по сути, это побочный эффект.
А что если во время обучения сфокусироваться на этом «побочном эффекте»? Авторы статьи создали prompted-task датасет: они взяли все главные NLP бэнчмарки и переписали их в prompted формате. Потом они взяли модель T5 и дообучили на всём этом.
В итоге они получили SOTA почти везде, даже на тех задачах, которые модель никогда не видела (они проверили). Это и есть zero-shot task generalization.
Статья, GitHub, Huggingface
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 GPT-CC: GitHub Copilot для бедных
Уже все слышали про GitHub Copilot? Это расширение для VS Code, которое дописывает код за вас. В основе этой штуки лежит нейросеть CodeX, которая по сути является GPT-3.
К сожалению, доступа ни к Copilot, ни к CodeX у простых смертных нет — нужно вставать в waitlist на бета-тестирование.
Так вот, оказывается есть open source версия этих штук! Ребята сами собрали датасет запарсив GitHub и обучили на этом GPT-Neo (аналог GPT-3).
GitHub, dataset, demo, models
Уже все слышали про GitHub Copilot? Это расширение для VS Code, которое дописывает код за вас. В основе этой штуки лежит нейросеть CodeX, которая по сути является GPT-3.
К сожалению, доступа ни к Copilot, ни к CodeX у простых смертных нет — нужно вставать в waitlist на бета-тестирование.
Так вот, оказывается есть open source версия этих штук! Ребята сами собрали датасет запарсив GitHub и обучили на этом GPT-Neo (аналог GPT-3).
GitHub, dataset, demo, models
8-битный оптимизатор (by Facebook)
Твой ноутбук не тянет обучение глубоких трансформеров? А если видео-памяти станет в 4 раза больше? Facebook представил 8-битный оптимизатор, который уменьшает потребление памяти во время обучения на 75%.
8-бит это что-то сверхъестественное. Только представьте, у 32-битных чисел значений больше 4 млрд, а тут их всего 256! Как такое вообще можно оптимизировать😅
Главная хитрость в динамической квантизации, которая адаптируется к каждому тензору с помощью подвижного разделителя мантиссы и порядка в экспоненциальной записи числа.
Для использования этого чуда достаточно всего двух строчек кода (см. картинку). Даже не надо заново гиперпараметры подбирать — судя по экспериментам из статьи, замена оптимизатора почти ни на что не повлияет.
P.S. Советую посмотреть видео, там простым языком описано как это работает (и зачем).
Статья, GitHub, видео
Твой ноутбук не тянет обучение глубоких трансформеров? А если видео-памяти станет в 4 раза больше? Facebook представил 8-битный оптимизатор, который уменьшает потребление памяти во время обучения на 75%.
8-бит это что-то сверхъестественное. Только представьте, у 32-битных чисел значений больше 4 млрд, а тут их всего 256! Как такое вообще можно оптимизировать😅
Главная хитрость в динамической квантизации, которая адаптируется к каждому тензору с помощью подвижного разделителя мантиссы и порядка в экспоненциальной записи числа.
Для использования этого чуда достаточно всего двух строчек кода (см. картинку). Даже не надо заново гиперпараметры подбирать — судя по экспериментам из статьи, замена оптимизатора почти ни на что не повлияет.
P.S. Советую посмотреть видео, там простым языком описано как это работает (и зачем).
Статья, GitHub, видео
Как подружить GPT-3 с математикой
Языковые модели приблизились по своим возможностям к человеку, но у них всё ещё остались проблемы с multi-step reasoning и, особенно, с математикой.
В OpenAI предполагают, что дело в авторегрессионной генерации, ведь если модель чуть-чуть ошибётся в начале своих рассуждений, то и дальше всё пойдёт не так.
Как с этим бороться? Для начала, они создали датасет со школьными задачками и подробными текстовыми решениями. Затем они зафайнтюнили на этом две копии GPT-3: одна училась писать решение, а вторая — проверять правильное это решение или нет. Во время теста вторая модель выбирала лучшее решение из 100 сгенерированных.
Кроме этого, если в рассуждениях модели попадались формальные выражения, например «2+2=» то они автоматически вычислялись и заменялись на правильный ответ (да, это читерство 🤷♂️)
В итоге, получилось приблизиться к способностям живых школьников: 55% vs 60%.
Статья, blog, dataset
Языковые модели приблизились по своим возможностям к человеку, но у них всё ещё остались проблемы с multi-step reasoning и, особенно, с математикой.
В OpenAI предполагают, что дело в авторегрессионной генерации, ведь если модель чуть-чуть ошибётся в начале своих рассуждений, то и дальше всё пойдёт не так.
Как с этим бороться? Для начала, они создали датасет со школьными задачками и подробными текстовыми решениями. Затем они зафайнтюнили на этом две копии GPT-3: одна училась писать решение, а вторая — проверять правильное это решение или нет. Во время теста вторая модель выбирала лучшее решение из 100 сгенерированных.
Кроме этого, если в рассуждениях модели попадались формальные выражения, например «2+2=» то они автоматически вычислялись и заменялись на правильный ответ (да, это читерство 🤷♂️)
В итоге, получилось приблизиться к способностям живых школьников: 55% vs 60%.
Статья, blog, dataset
Коллекция русского мата, классификатор токсичности и детоксификатор
Всё это недавно представили исследователи из Сколтеха совместно с МТС.
Классификатор основан на RoBERTa и работает он очень классно. Есть модели для русского (тык) и для английского (тык).
А вот детоксификатор иногда выдаёт странные перлы 🌚
P.S. Да, матерных корня всего 4, но различных форм там собрано больше 130 тысяч. Словообразование у нас очень богатое 💁♂️
Статья, GitHub, маты, блог
Всё это недавно представили исследователи из Сколтеха совместно с МТС.
Классификатор основан на RoBERTa и работает он очень классно. Есть модели для русского (тык) и для английского (тык).
А вот детоксификатор иногда выдаёт странные перлы 🌚
P.S. Да, матерных корня всего 4, но различных форм там собрано больше 130 тысяч. Словообразование у нас очень богатое 💁♂️
Статья, GitHub, маты, блог
🔥Сбер представил ruDALL·E
DALL·E — это крутейшая text2image модель, которая является гибридом GPT и VQVAE. О том как работают такие модели я писал тут.
Вслед за OpenAI и Alibaba, аналогичную модель на русском языке представил и наш Сбер! Есть варианты на 1.3 и 12 млрд параметров.
P.S. Сгенерировал для вас «Рождение вселенной»
GitHub, colab, демо, блог
DALL·E — это крутейшая text2image модель, которая является гибридом GPT и VQVAE. О том как работают такие модели я писал тут.
Вслед за OpenAI и Alibaba, аналогичную модель на русском языке представил и наш Сбер! Есть варианты на 1.3 и 12 млрд параметров.
P.S. Сгенерировал для вас «Рождение вселенной»
GitHub, colab, демо, блог
Размер BPE-словаря влияет на память трансформеров (by Facebook)
Оказалось, что чем крупнее BPE-словарь, тем лучше модель запоминает рандомные синтетические данные, правильнее отвечает на вопросы и чаще воспроизводит фрагменты из обучения.
Эксперименты показали, что дело именно в средней длине токенизированных текстов. Ведь чем больше уникальных токенов, тем короче результат токенизации, а трансформеры лучше воспринимают короткие последовательности.
Но запоминание данных это хорошо или плохо? С одной стороны, это хорошо, потому что модели будет проще вспоминать какие-то факты, но с другой стороны — она может выдать и чьи-то персональные данные (пример). Поэтому вопрос остаётся открытым 🤷♂️
Статья
Оказалось, что чем крупнее BPE-словарь, тем лучше модель запоминает рандомные синтетические данные, правильнее отвечает на вопросы и чаще воспроизводит фрагменты из обучения.
Эксперименты показали, что дело именно в средней длине токенизированных текстов. Ведь чем больше уникальных токенов, тем короче результат токенизации, а трансформеры лучше воспринимают короткие последовательности.
Но запоминание данных это хорошо или плохо? С одной стороны, это хорошо, потому что модели будет проще вспоминать какие-то факты, но с другой стороны — она может выдать и чьи-то персональные данные (пример). Поэтому вопрос остаётся открытым 🤷♂️
Статья
Увидел у Дениса очень интересную идею монетизации адверсариал атак — кто-то продаёт картины, которые классифицируются системами компьютерного зрения как конкретные объекты.
Цены от 90$ до 5000$. Работает c Google Vision api, AWS и Yahoo. Есть категория картин, которые распознаются как порно.
P.S. Может быть тоже что-то такое придумать? У меня уже есть наработки 🤔
Магазин
Цены от 90$ до 5000$. Работает c Google Vision api, AWS и Yahoo. Есть категория картин, которые распознаются как порно.
P.S. Может быть тоже что-то такое придумать? У меня уже есть наработки 🤔
Магазин
Boosting coherence of language models (by Microsoft)
Статья о том, как заставить уже обученные языковые модели лучше понимать дальний контекст.
Идея простая, но удивительно эффективная — чтобы модель лучше понимала старый контекст, нужно уменьшить влияние нового. Для этого через модель прогоняют инпут дважды: сначала целиком, а потом только последние 3-10 слов получая два распределения вероятностей для следующего токена на основе полного и короткого контекстов (см. картинку). Затем первое распределение делят на второе и готово 💁♂️
Несмотря на простоту этого трюка, он даёт огромный прирост (~20%) на LAMBADA тесте, приближая возможности GPT-2 к GPT-3.
Статья, GitHub
Статья о том, как заставить уже обученные языковые модели лучше понимать дальний контекст.
Идея простая, но удивительно эффективная — чтобы модель лучше понимала старый контекст, нужно уменьшить влияние нового. Для этого через модель прогоняют инпут дважды: сначала целиком, а потом только последние 3-10 слов получая два распределения вероятностей для следующего токена на основе полного и короткого контекстов (см. картинку). Затем первое распределение делят на второе и готово 💁♂️
Несмотря на простоту этого трюка, он даёт огромный прирост (~20%) на LAMBADA тесте, приближая возможности GPT-2 к GPT-3.
Статья, GitHub
Оказывается, ruDALL·E неплохо так умеет в pop-art 🤔
Telegram
Нейроэстетика
Энди Уорхол «Модуль 2»