Text Inversion is the next big thing? 🤔
Относительно недавно вышла статья от NVIDIA – An Image is Worth One Word. В ней они показывают, как можно тот или иной концепт преобразовать в псевдо-слово, то есть создать в латентном пространстве эмбеддинг несуществующего токена, который будет максимально точно отражать заданный концепт, основываясь на примерах, которые вы предоставите
Так можно натренировать модель всегда генерить именно тот объект, который вы задумали, при чем в любом сеттинге, стиле и с любыми атрибутами. В пейпере авторы заставляют модель запомнить по нескольким фотографиям определенную фигурку полосатого котенка как некий объект S*, чтобы потом генерить “Banksy art of S∗”, “A S∗ themed lunchbox” и так далее
Подробно пр метод можно почитать в статье, в целом идея такова:
– Берем входное описание ‘A photo of zubabobr’. Здесь zubabobr – несуществующий токен. Параллельно заготавливаем несколько картинок с примерами zubabobr. Слово zubabobr получает эмбеддинг v*, его мы обучаем
– Прогоняем эмбеддинги через трансформер, с помощью них кондишеним генерацию Stable Diffusion из случайного шума. Плюс, на каждом этапе позволяем модели подсматривать примеры картинок с zubabobr
– ???
– Profit, теперь мы можем генерить zubabobr и знаем его эмбеддинг
Идея очень быстро была реализована:
✨На huggingface есть Concepts Library – там можно через их UI по нескольким примерам натренировать свои концепты, а также посмотреть концепты других юзеров в открытом доступе
Что самое прикольное, концепты могут обозначать еще и стиль, так что можно генерить что-то типа «A photo of <my_concepts/zubabobr> in a style of <sd-concepts-library/80s-anime-ai-being>»
✨Или можно по харду – не тюнить свой эмбеддинг, а тюнить всю модель с помощью DreamBooth (смысл тот же, это позволяет создать identifier вашего собственного класса). Более подробный пост про него есть у тоже моушн
Post #867
5.68K

- 👍 6
- 🔥 1
- 🤯 1