Сеть умеет только умножать числа. Значит, слово, картинку и звук надо сначала превратить в числа — причём так, чтобы близкие по смыслу оказались рядом. Это и есть главный трюк.
Нейрон умножает и складывает. Слово «конденсатор» умножать нельзя. Значит нужен способ сопоставить каждому понятию набор чисел.
Наивный вариант: пронумеровать все слова. Конденсатор — 1, резистор — 2, кошка — 3. Работать не будет: из такой нумерации следует, что конденсатор ближе к резистору, чем к кошке, только случайно, а ещё что «кошка минус резистор равно конденсатор». Числа появились, смысла в них нет.
Пусть каждое понятие описывается не одним числом, а набором — вектором. Каждая координата отвечает за какое-то свойство.
электронный пассивный накопитель живой конденсатор 0.9 0.9 0.9 0.0 резистор 0.9 0.9 0.1 0.0 аккумулятор 0.7 0.3 0.9 0.0 кошка 0.0 0.0 0.0 1.0
Теперь близость осмысленна: конденсатор и резистор похожи по трём координатам из четырёх, конденсатор и аккумулятор — по свойству «накопитель», кошка не похожа ни на что.
В реальных моделях координат не четыре, а от нескольких сотен до нескольких тысяч. И — важно — никто не задаёт, что означает каждая. Они получаются в процессе обучения, и человеческих названий у них нет. Таблица выше — иллюстрация идеи, а не устройство.
Раз понятия стали точками в пространстве, между ними можно мерить расстояние. Обычно считают не расстояние, а угол между векторами — косинусную близость.
| Значение | Смысл | Пример |
|---|---|---|
| около 1 | Почти одно и то же | «конденсатор» и «ёмкость» |
| около 0.6 | Из одной области | «конденсатор» и «резистор» |
| около 0 | Не связаны | «конденсатор» и «кошка» |
| отрицательное | Противоположны по какому-то признаку | редко и неочевидно |
Длина вектора часто отражает частоту слова или «силу» сигнала, а не смысл. Угол от длины не зависит: он ловит именно направление, то есть о чём слово, а не насколько оно популярно. Для поиска по смыслу это то, что нужно.
Обнаруженное в ранних моделях свойство, которое до сих пор лучше всего объясняет идею: векторы можно складывать и вычитать, и результат осмыслен.
король − мужчина + женщина ≈ королева Париж − Франция + Грузия ≈ Тбилиси идти − настоящее+ прошлое ≈ шёл
Направление «мужское → женское» оказалось одним и тем же направлением в пространстве для множества пар слов. Модель никто этому не учил — оно возникло само, как экономный способ описать язык.
Эти примеры часто приводят как безотказное свойство, а на деле оно работает выборочно и подобрано задним числом: для многих пар слов арифметика даёт ерунду. Как иллюстрация идеи — прекрасна. Как метод — ненадёжна.
Слово «ключ» — это гаечный ключ, ключ от двери, ключ шифрования или родник. Один вектор не может отражать все смыслы сразу.
Современные модели дают контекстные векторы: у одного и того же слова получается разный вектор в зависимости от окружения. «Ключ на тринадцать» и «ключ от квартиры» дадут разные числа.
Чтобы вектор слова зависел от окружения, сеть должна уметь смотреть на другие слова в предложении и решать, какие из них важны. Механизм, который это делает, называется вниманием — глава 08. Всё в этой книге сходится туда.
| Что | Во что превращается | Что даёт |
|---|---|---|
| Слово, фраза, абзац | Вектор смысла | Поиск по смыслу, а не по буквам |
| Изображение | Вектор содержания | Найти похожие картинки |
| Звук | Вектор | Узнать голос, найти похожий звук |
| Пользователь сайта | Вектор интересов | Рекомендации |
| Товар, статья, файл | Вектор | Похожее рядом |
Можно обучить так, что текст и картинки попадают в одно и то же пространство. Тогда вектор фразы «вздутый конденсатор» оказывается рядом с векторами соответствующих фотографий. Отсюда вырастает и поиск картинок словами, и генерация изображений по описанию — глава 14.
Соберём из этого рабочий инструмент: поиск по смыслу в ваших собственных книгах, который запускается на вашем ноутбуке.
Бесплатная книга · tariel.ge · версии инструментов и команды проверяйте в документации проектов
Книга бесплатна для чтения. Автор — Тариел Бежанидзе, компьютерный мастер в Батуми · tariel.ge · все бесплатные книги. Копировать текст целиком на другие сайты — только со ссылкой на источник.