Зайка моя, я твой FILIP: Fine-grained Interactive Language-Image Pre-Training.
Или как, зная базовые концепты, можно сделать инкремент в качестве.
Итак. Все знают или слышали про CLIP. Если базово: есть два стула (энкодера) - текстовый и для картинок. Мы берём captions картиночек, ака тексты и сами картиночки. Эмбеддим с помощью вышеуказанных экнодеров и в contrastive режиме сводим , так получаем позитивы. За счёт full-batching получаем негативы. Full-batching - это когда в батче чужие сэмплы тоже идут врасход расчёт близости, но как штраф.
Такс. Один базовый концепт рассказал. Теперь чутка поведаю про ColBERT. Тут люди тоже пошли путем интеракций , но не на уровне sentence embeddings как текстовый энкодер в CLIP. А на уровне token embeddings. Причем, делается это умно, чтобы использовать полнотекстовый поиск, помимо полноконтекстного. Как? Берут и начинают делать dot prod между токен эмбами запроса и ответа. Замечу, что это N^2 интеракций всё со всеми. Далее для каждого токена запроса ищут max dot prod по токенам ответа. Потом эти max dot prod суммируются и если хотите можно вкинуть слой нормировки а-ля sigmoid или оставить так. Но, в общем, этот скор и максимизируют для релевантных пар и минимизируют для отрицательных.
Крч. К чему я эту телегу везу про CLIP и ColBERT. Тут люди завезли FILIP. И крч это CLIP в стиле ColBERT. Перешли от кэпшн фулл к токенам и к частям картинок. Не хочу повторяться, оч хорошо и подробно описано тут у Тани из DLStories.
Итого. Изучайте базовые архитектуры, популярные решения, микстите их по делу и получайте профит. Всем добра.
Или как, зная базовые концепты, можно сделать инкремент в качестве.
Итак. Все знают или слышали про CLIP. Если базово: есть два стула (энкодера) - текстовый и для картинок. Мы берём captions картиночек, ака тексты и сами картиночки. Эмбеддим с помощью вышеуказанных экнодеров и в contrastive режиме сводим , так получаем позитивы. За счёт full-batching получаем негативы. Full-batching - это когда в батче чужие сэмплы тоже идут в
Такс. Один базовый концепт рассказал. Теперь чутка поведаю про ColBERT. Тут люди тоже пошли путем интеракций , но не на уровне sentence embeddings как текстовый энкодер в CLIP. А на уровне token embeddings. Причем, делается это умно, чтобы использовать полнотекстовый поиск, помимо полноконтекстного. Как? Берут и начинают делать dot prod между токен эмбами запроса и ответа. Замечу, что это N^2 интеракций всё со всеми. Далее для каждого токена запроса ищут max dot prod по токенам ответа. Потом эти max dot prod суммируются и если хотите можно вкинуть слой нормировки а-ля sigmoid или оставить так. Но, в общем, этот скор и максимизируют для релевантных пар и минимизируют для отрицательных.
Крч. К чему я эту телегу везу про CLIP и ColBERT. Тут люди завезли FILIP. И крч это CLIP в стиле ColBERT. Перешли от кэпшн фулл к токенам и к частям картинок. Не хочу повторяться, оч хорошо и подробно описано тут у Тани из DLStories.
Итого. Изучайте базовые архитектуры, популярные решения, микстите их по делу и получайте профит. Всем добра.