Комментарии 24

Если правильно понял суть, то работает это следующим образом: когда мы хотим найти картинку, где дарт вейдер душит штурмовика, то сеть найдёт (даст макс скор) картинку, где максимально точно раскрыты понятия "дарт вейдер", "герой 1 душит героя 2", "штурмовик"?
Если так, то чем это отличается от старого доброго классификатора, обученного под эти понятия и функции, которая на основе скоров на эти три класса даст итоговый класс?
1. Работа в этом направлении велась. Но, то, что Вы описываете не может быть «классическим» классификатором. Описанное Вами решение должно быть детектором + графом «вещь, свойство — отношение». Вот пример подобной работы:

2. Были попытки решения подобной задачи и через Dense Captioning:

Все эти варианты не являются старыми добрыми классификаторами по своей природе. Да и требуют они достаточно сложной и специфической разметки. CLIP же на этапе предобучения требует лишь пары изображения-текст, которых полно в интернете, откуда они и были взяты. Кроме того, CLIP, в отличие от подобных подходов, отлично показывает себя в режиме «обучение без обучения».
1. CLIP, предобученный на 400М пар изображение-текст, доступен. Можно использовать в режиме обучения без обучения (например ViT-B/32 CLIP).
2. Можно взять предобученный CLIP и режиме few-shot linear probes обучить голову на своей базе размеченных фото.
Могу сделать туториал с кодом, где покажу как можно получить свой классификатор на CLIP в режиме обучения без обучения.
Можно использовать в режиме обучения без обучения (например ViT-B/32 CLIP).
Не могли бы еще раз уточнить, чтобы лучше встало на места? Предобученный contrastive CLIP может давать предсказания (inferences) для новых тэгов, которых не было в обучении, просто потому что векторизация тега будет по размерности встроена в существующее пространство параметров модели? То же, для новых фотографий, и даже пар новое фото — новый тэг? Или новые фото уже не укладываются в схему «обучение без обучения»?
А если набор специфичен, то нужно дообучать линейный слой выходов? Например, www.tassphoto.com/en/feature/337476/video-launching-ceremony-for-russian-navy-patrol-boat-sergei-kotov/page/1
Тут никто, по сути, кроме фото-корреспондента не совсем понимает, что происходит. А это «Спуск на воду нового патрульного катера Сергей Котов». Вряд ли дефолтный CLIP тут что-то даст близкое к истинному происходящему. Верно я понял?
Как по мне это пока ещё не впечатляет.
Что именно?
Результат работы этой сетки.
Имхо, одна из важнейших и лучших сетей современности
Ну, в принципе, до момента изобретения следующей "лучшей", может так оно и есть. Не мне об этом судить, я не разбираюсь в нейронках на достаточном уровне.
Я лишь говорю, что результаты её работы по прежнему выглядят недостаточно чтобы сказать "Вау, это комп сам нарисовал? Офигеть, вот это да!".
Опять же, может кому-то и этого достаточно, не претендую на выражение общественного мнения.
Нейронная Сеть CLIP от OpenAI: Классификатор, который не нужно обучать. Да здравствует Обучение без Обучения