Brief:An AI/ML development company requested a translation for a short-form article describing one of the applications of their technology. Russian to English.
Original:Задача: Сегодня машинное обучение — безусловный лидер в области computer vision, однако у нынешних моделей есть ряд ограничений, значительно сужающих область их применения. Для обучения классических генераторов и классификаторов требуются большие объемы размеченных данных для каждого класса изображений, а также подбор наиболее оптимальной архитектуры для конкретной задачи. Хорошим подходом для решения таких проблем является zero-shot learning — “обучение без обучения” — при котором модель изначально предобучается на большом датасете и после этого не требует дообучения на классах, которых в этом датасете не было. Задача состоит в разработке моделей такого типа, которые смогут качественно классифицировать и генерировать изображения.
Решение: CLIP — это композиция нейронных сетей, которая очень точно сопоставляет изображения с их текстовыми описаниями. В отличие от других классификаторов, CLIP не требует дообучения на новых датасетах: для классификации любого объекта достаточно подать на вход список классов, из которых нужно выбрать правильный.
Под капотом CLIP содержит две нейросети — Image Encoder (IE) и Text Encoder (TE). Первая принимает изображение, вторая — текст, обе возвращают векторные репрезентации входных данных. Для согласования размерностей их результатов и к IE и к TE добавляется слой линейного преобразования. В качестве IE авторы советуют использовать ResNet или VisionTransformer, в качестве TE — CBOW.
Для предобучения используются 400 млн. пар вида
(изображение, текст), которые подаются на вход IE и TE. Затем считается матрица, элементом
(i, j) которой является cosine similarity от нормализованной векторной репрезентации i-того изображения и j-того текстового описания. Таким образом, правильные пары окажутся на главной диагонали. В конце, с помощью минимизации перекрестной энтропии по каждой вертикали и горизонтали полученной матрицы мы максимизируем ее значения на главной диагонали.
Теперь, когда CLIP обучена, можно использовать ее для классификации изображений из любого набора классов — достаточно подать этот набор классов, представленных в виде описаний, в TE, а изображение в IE, и посмотреть, с репрезентацией какого класса cosine similarity изображения дает наибольшее значение.
Применение и перспективы: Изначально CLIP была представлена в связке с
DALL-E — генератором изображений по их текстовому описанию. В ней она используется для отбора наилучших результатов. Более того, CLIP можно использовать и с классическими GAN’ами — например, с VQGAN. Для повышения качества результатов можно использовать несколько CLIP-моделей, как например, в этом
colab.
Translation:Goal: These days, machine learning is the undisputed leader in the field of computer vision. However, current models have a number of limitations that significantly narrow the scope of their application. To train classical generators and classifiers, large amounts of labeled data are required for each class of images, as well as the selection of the most optimal architecture for a specific task. A good approach to solving such problems is zero-shot learning, or “learning without training.” With this method, the model is initially pre-trained on a large dataset so that afterwards it does not require additional training on classes that were not in the initial dataset. The challenge is to develop this type of model that can classify and generate images in a quality manner.
Solution: CLIP is a composition of neural networks that very accurately matches images with their textual descriptions. Unlike other classifiers, CLIP does not require additional training on new datasets: to classify any object, one simply inputs a list of classes from which the correct one must be selected.
Under the hood, CLIP contains two neural networks - Image Encoder (IE) and Text Encoder (TE). The first takes an image, the second takes text, both of which return vector representations of the input. To match the dimensions of their results, a linear transformation layer is added to both IE and TE. For IE, the authors advise using ResNet or VisionTransformer, for TE - CBOW.
For pre-training, 400 million pairs of the form (image, text) are used, which are fed to the input of IE and TE. Then a matrix is considered, the element (i, j) of which is the cosine similarity from the normalized vector representation of the “i”-th image and the “j”-th textual description. Thus, the correct pairs will end up on the main diagonal. Finally, by minimizing the cross-entropy along each vertical and horizontal axis of the resulting matrix, we maximize its values on the main diagonal.
Now that CLIP has been trained, you can use it to classify images from any set of classes - simply submit this set of classes, presented as descriptions, to TE, and the image to IE, and see which class represents the cosine similarity of the image with the greatest value.
Potential applications: Initially, CLIP was presented in conjunction with
DALL-E - a generator of images according to their text description. This technology is used to select the best results. Moreover, CLIP can be used with classic GANs - for example, with VQGAN. Several CLIP models can be used to improve the quality of the results, such as in this
collab.