Вграждания: как AI превръща всичко в числа
Проблемът с числата
Компютрите работят с числа. Само с числа. Невронните мрежи? Същото. Просто математика с числа.
Но светът не е от числа. Думи. Изображения. Звуци. Понятия. Как изкуственият интелект обработва всичко това?
Чрез embeddings. Те превръщат всичко в числа по начин, който запазва значението. Ключово понятие. В основата на целия модерен изкуствен интелект.
Какво всъщност представляват embeddings-те
Embedding е плътен вектор от числа, който представя нещо.
Word embedding: „cat“ се превръща в [0.2, -0.5, 0.8, ...] (стотици числа).
Image embedding: снимка се превръща в [0.1, 0.9, -0.3, ...] (хиляди числа).
Числата не са случайни. Те са научени да улавят значението. Подобни неща получават подобни embeddings. Различни неща получават различни embeddings.
Това е ключът: сходството в значението се превръща в сходство в числата. Математическите операции върху embeddings отразяват семантичните връзки.
Защо са ни нужни embeddings
Бихте могли да представите думите като one-hot вектори. „Cat“ = [1,0,0,...,0]. „Dog“ = [0,1,0,...,0]. Уникално число за всяка дума.
Проблемът: не се улавя никаква връзка. „Cat“ и „dog“ са толкова различни, колкото „cat“ и „airplane“. Всички вектори са ортогонални. Без семантично значение.
Embeddings-те решават това. „Cat“ и „dog“ получават подобни embeddings (и двете са животни). „Cat“ и „airplane“ получават различни embeddings. Сходството във векторното пространство отразява сходството в значението.
Сега математическите операции имат смисъл. Аритметиката върху embeddings съответства на разсъждения за значението.
Как се учат embeddings-те
Embeddings-те не са ръчно изработени. Те се учат от данни.
Word Embeddings (подходът Word2Vec):
Обучавате невронна мрежа за проста задача: да предсказва думите от контекста по дадена дума. Или обратното.
Пример: изречението „The cat sat on the mat.“ За целевата дума „cat“ предскажете „the“, „sat“, „on“.
Мрежата се учи: за да предсказва добре контекста, трябва да представя подобни думи по подобен начин. „Cat“ и „dog“ се срещат в подобни контексти. Те получават подобни embeddings.
Embeddings-те са страничен продукт. Не са целта на задачата. Но улавят семантичното значение.
Модерният подход (Transformers):
Embeddings-те се учат като част от по-голям модел. Езиковият модел предсказва следващата дума. Моделът за изображения класифицира обекти. Embeddings-те се появяват като вътрешни представяния.
Те са контекстуални. Една и съща дума получава различни embeddings в различни контексти. „Bank“ (финансова) срещу „bank“ (речна) получават различни представяния.
Семантичното пространство
Embeddings-те създават геометрично пространство, в което значението е геометрия.
- Similarity = Proximity: Similar concepts cluster. Animals cluster. Vehicles cluster. Abstract concepts cluster. Distance measures similarity.
- Relationships = Directions: Famous example: king - man + woman ≈ queen
Vector arithmetic captures relationships. The direction from "man" to "king" (gender to royalty) is similar to "woman" to "queen."
Analogies become vector operations. Mind-blowing but it works.
Dimensions = Attributes:
Each dimension captures some attribute. One dimension might be "animacy" (living vs non-living). Another might be "size." Another "abstractness."
Hundreds of dimensions capture hundreds of attributes. Combined, they represent meaning.
Different Types of Embeddings
- Word Embeddings: Words to vectors. Word2Vec, GloVe, FastText. Foundation of NLP.
- Sentence Embeddings: Entire sentences to vectors. Capture meaning of full sentences, not just words. Used for semantic search.
- Image Embeddings: Images to vectors. CNN features. Vision transformer outputs. Enable image search, similarity comparison.
- Multimodal Embeddings: Different modalities to the same space. Text and images get comparable embeddings. CLIP does this. Enables cross-modal search.
- Graph Embeddings: Nodes in graphs to vectors. Capture network structure. Used in social networks, knowledge graphs.
How Embeddings Are Used
- Търсене по сходство: Намиране на подобни елементи. Най-близки съседи в пространството на embeddings. Търсачки, системи за препоръки.
- Класификация: Използване на embeddings като характеристики за класификация. Семантични характеристики, не сурови данни. По-добро обобщение.
- Клъстеризация: Групиране на подобни елементи. K-means върху embeddings. Тематично моделиране, сегментиране на клиенти.
- Трансферно обучение: Използване на embeddings от голям модел в малка задача. Предварително научените знания се пренасят. Често срещано в компютърното зрение и обработката на естествен език.
- Генериране с обогатено извличане: Вграждане на заявки и документи. Извличане на релевантни документи. Предоставяне на езиковия модел. Фактически отговори от ИИ.
Бинарни embeddings (ефективната алтернатива)
Традиционни embeddings: вектори с плаваща запетая. 32 бита на измерение. Голям отпечатък в паметта.
Бинарни embeddings: 1 бит на измерение. Всяко измерение е +1 или -1. 32 пъти по-малко памет.
Как работят:
Embeddings се обучават нормално. След това се бинаризират: положителните измерения стават +1, отрицателните стават -1.
Сходство: вместо скаларно произведение се използва разстояние на Хеминг или XNOR-popcount. Много по-бързо.
Компромиси:
Губи се известна точност. Но за много задачи това няма значение. Извличането и търсенето на най-близки съседи работят добре с бинарни embeddings.
Печалба: огромна скорост и ефективност на паметта. Внедряване на периферни устройства. Бърза обработка на милиарди вектори.
Подходът на Dweve:
Ограниченията са бинарни модели. По своята същност бинарни embeddings. Хипервектори с 65 536 бита. Ефективно съхранение, бързи операции.
Съпоставяне на модели чрез XNOR и popcount. Сходство чрез преброяване на съвпаденията. Бинарно докрай.
Размерността има значение
Колко измерения? Повече не винаги е по-добре.
Твърде малко измерения: Не може да се улови сложността. Различни понятия се сблъскват. Губят се важни различия.
Твърде много измерения: Изчислителна цена. Използване на памет. Преобучаване. Проклятие на размерността (всичко става еднакво отдалечено при висока размерност).
Типични размери:
Word embeddings: 100-300 измерения
Sentence embeddings: 384-1024 измерения
Image embeddings: 512-2048 измерения
Бинарни хипервектори: 1024-65536 бита (за стабилни свойства)
Изборът зависи от сложността на задачата и изчислителния бюджет.
Какво трябва да запомните
- 1. Embeddings превръщат всичко в числа. Думи, изображения, понятия стават вектори. Това позволява обработка от ИИ.
- 2. Значението става геометрия. Подобни понятия получават подобни вектори. Разстоянието измерва сходството. Посоките улавят връзки.
- 3. Научават се от данни, не се създават ръчно. Невронните мрежи научават embeddings като част от обучението. Моделите в данните определят представянето.
- 4. Позволяват семантични операции. Математиката с вектори отразява разсъждения за значението. Векторната аритметика прави аналогии.
- 5. Няколко типа за различни данни. Думи, изречения, изображения, графи. Всеки има специализирани методи за embeddings.
- 6. Бинарните embeddings предлагат ефективност. 1 бит на измерение вместо 32. Огромни икономии на памет и скорост. Работи за много задачи.
- 7. Размерността е компромис. Повече измерения улавят повече сложност. Но струват изчислителни ресурси. Необходим е баланс.
Изводът
Embeddings са начинът, по който ИИ преодолява разликата между човешките понятия и машинните изчисления. Всичко значимо се преобразува във вектори в пространство, където сходството по смисъл се превръща в сходство по геометрия.
Това не е просто представяне. Това е основата на съвременния ИИ. Търсене, препоръки, генериране, разбиране. Всичко разчита на embeddings.
Векторите не са произволни. Те се обучават да улавят семантичната структура. Геометрията отразява смисъла. Математическите операции съответстват на разсъждения.
Бинарните embeddings показват, че не ви е нужна точност с плаваща запетая, за да изразите семантичен смисъл. Представянията от 1 бит работят. Ефикасно. В мащаб. Разгърнати навсякъде.
Да разберете embeddings означава да разберете как ИИ вижда света. Не като думи или изображения. А като вектори в пространство с висока размерност, където смисълът е математика.
Искате ефикасни embeddings? Разгледайте хипервекторния подход на Dweve. Бинарни модели от 65 536 бита. Сходство на базата на XNOR. Семантичен смисъл в бинарно пространство. Представяне, което работи със скоростта на хардуера.