Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Просто взяли два предобученных энкодера, да и все.
SOS and EOS (represent the start and end of a sequence):sot_token = tokenizer.encoder['<|startoftext|>']
eot_token = tokenizer.encoder['<|endoftext|>']
The focal point of the scene is the Tree Man, whose cavernous torso is supported by what could be contorted arms or rotting tree trunks. His head supports a disk populated by demons and victims parading around a huge set of bagpipes — often used as a dual sexual symbol reminiscent of human scrotum and penis. SOS = 49406, EOS = 49407, PAD = 0 . Остальные токены представляют слова.[49406, 518, 30934, 2301, 539, 518, 3562, 533, 518, 2677,
786, 267, 6933, 772, 2214, 879, 937, 706, 533, 8038,
638, 768, 1510, 655, 616, 937, 775, 5706, 541, 532,
1188, 2677, 38531, 269, 787, 1375, 8336, 320, 17970, 38420,
638, 18388, 537, 7131, 699, 15000, 1630, 320, 2699, 1167,
539, 3408, 16991, 2005, 4864, 2026, 601, 320, 5347, 6749,
13085, 41704, 539, 2751, 30768, 8843, 537, 1501, 533, 49407,
0, 0, 0, 0, 0, 0, 0]после токенизации, я отсортировал токены по количеству вхождений, уникализировал, и передал дальше топ-75 штук

text = clip.tokenize(["Orange boy is riding a blue horse and talking to a squirrel",
"President of the Moon has banned meat from restaurant menu",
"Seahorses don't like when racoons are eating schnitzel on bone",
"A cowboy is passing through prairie",
"An abstract picture with something big"]).to(device)0.03%
41.52%
17.35%
37.31%
3.80%— Почему модели скормили только по одной картинки из категории, а, например, не по 3 или 5?
Давайте скормим модели 10 изображений по одному примеру на класс и их текстовые описания. А потом построим матрицу косинусных расстояний между векторами изображений и векторами текстов (cosine similarity в общем пространстве визуальных и текстовых репрезентаций).
Как мы видим, по матрице cosine similarity, максимальная схожесть векторных репрезентаций изображений и текстовых описаний находится на главной диагонали. Из этого мы можем сделать вывод, что CLIP подходит под нашу задачу.
— Как изменится точность классификации, если число предварительно скормленных картинок увеличить? (и если улучшится, то как это сделать в этом модели)
CLIP в режиме few-shot linear probes будет лучше обучения без обучения, если для каждого класса у нас будет хоть по 8-16 изображений.— На сколько ожидаемо модель будет классифицировать картинки, объекты на которой никогда не встречались в изначальном датасете самой модели, например, классификация портретов людей?


Классификатор животных из мультфильмов
животное, но не похоже ни на одно земное, то мы все равно можем описать его словами. Например:
как это все работает на большом количестве классов (>1000) ?
*текстовое описание картинок для 1000 классов, очевидно, трудоемко. можно, конечно, использовать мультимодальные LLM для описания картинок, чтобы упростить себе работу. но они выдают иногда описание > 77 токенов или очень схожее. речь идет о предметах, допустим, на полке в магазине. текстовое описание получается очень похожим, а на 1000 классах так вообще, все в одно большое пятно сливается.
Собираем нейросети. Классификатор животных из мультфильмов. Без данных и за 5 минут. CLIP: Обучение без Обучения + код