Векторне представлення (або ембединг) – це відносно низьковимірний простір, у який можна перемістити високовимірні вектори. Докладніше про високовимірні й низьковимірні дані можна прочитати в модулі Категорійні дані.
Векторні представлення полегшують машинне навчання на великих векторах ознак, таких як розріджені вектори, що представляють страви, про які йдеться в попередньому розділі. Теоретично векторне представлення фіксує частину семантики вхідних даних, розміщуючи ті, які є більш схожими за значенням, ближче одне до одного в просторі векторного представлення. Наприклад, при вдалому векторному представленні до слова "автомобіль" ближче буде розміщено слово "гараж", ніж "слон". Векторне представлення можна навчити й повторно використовувати в різних моделях.
Щоб ви отримали уявлення про те, як вектори представлень передають інформацію, розгляньмо одновимірне представлення таких страв, як хот-дог, піца, салат, шаурма й борщ. Їх буде розміщено на шкалі від страви, що "найменш схожа на бутерброд", до тієї, яка "найбільш схожа на бутерброд". "Бутербродність" – єдиний вимір.
Яке місце на цій лінії мав би яблучний струдель? За логікою, його можна розмістити між такими стравами, як hot dog
і shawarma
. Однак яблучний струдель також має додатковий вимір солодкість (наскільки страва солодка) або десертність (наскільки страва схожа на десерт), який відрізняє його від інших варіантів. На рисунку, наведеному нижче, це візуалізували, додавши вимір "десертність".
У векторному представленні кожен об’єкт розташовано в n-вимірному просторі з кількістю чисел із рухомою комою n (зазвичай вона в діапазоні від –1 до 1 або від 0 до 1). Наприклад, векторне представлення на рисунку 4 виражає кожну страву у двовимірному просторі з двома координатами. Об’єкт "яблучний струдель" розташовано у верхньому правому квадранті графіка, і йому можна призначити точку з координатами (0,5, 0,3). А "хот-дог" – у нижньому правому квадранті графіка, тож йому можна призначити точку з координатами (0,2, –0,5).
У векторному представленні відстань між будь-якими двома об’єктами можна обчислити математично й інтерпретувати як їх відносну подібність. Два об’єкти, які розташовано близько один до одного (наприклад, shawarma
і hot dog
на рисунку 4), тісніше пов’язані, ніж два об’єкти, віддалені один від одного (наприклад, apple strudel
і borscht
).
Зауважте також, що у двовимірному просторі на рисунку 4 apple strudel
розташовано набагато далі від таких страв, як shawarma
і hot dog
, ніж це було б в одновимірному просторі. Це відповідає інтуїтивному розумінню: apple strudel
має не так багато спільного з хот-догом чи шаурмою, як хот-доги із шаурмою.
А тепер розглянемо борщ, який набагато рідкіший за інші страви. Це означає, що потрібний третій вимір – рідкість (наскільки страва рідка). Додавши цей вимір, об’єкти можна візуалізувати в тривимірному просторі так:
Яке місце в цьому тривимірному просторі займала б страва тан’юань? Вона схожа на суп, як борщ, але також є солодким десертом, як яблучний струдель, і точно не подібна до бутерброда. Ось де її можна розташувати:
Зверніть увагу на те, скільки інформації дають ці три виміри. Можна уявити додаткові виміри, такі як м’ясистість чи рівень запікання.
Практичні приклади просторів векторного представлення
З прикладів зі стравами, згаданих вище, ви дізналися, що навіть невеликий багатовимірний простір дає свободу групувати разом семантично схожі об’єкти, а різнорідні тримати далеко один від одного. У хорошому векторному представленні положення (відстань і напрямок) у векторному просторі може давати інформацію про семантику. Наприклад, візуалізації реальних векторних представлень, наведені нижче, ілюструють геометричні відносини між словами, що позначають країну і її столицю. Як бачимо, відстань від "Канади" до "Оттави" приблизно така сама, як відстань від "Туреччини" до "Анкари".
Змістовний простір векторного представлення допомагає моделі машинного навчання виявляти шаблони під час навчання.
Вправа
Виконуючи цю вправу, ви будете використовувати інструмент Проектор векторних представлень, щоб візуалізувати векторне представлення слів під назвою word2vec, у векторному просторі якого є понад 70 000 англійських слів у цифровому вигляді.
Завдання 1
Виконайте завдання й дайте відповідь на запитання нижче.
Відкрийте інструмент Проектор векторних представлень.
На правій панелі введіть слово atom (атом) у полі Search (Пошук). Потім натисніть слово atom у результатах нижче [під текстом 4 matches (4 збіги)]. Ваш екран має виглядати так, як показано на рисунку 8.
Далі на правій панелі натисніть кнопку Isolate 101 points (Ізолювати 101 точку) [над полем Search (Пошук)], щоб відобразити 100 найближчих слів до значення atom. Ваш екран має виглядати так, як показано на рисунку 9.
Тепер перегляньте слова, наведені під текстом Nearest points in the original space (Найближчі точки в первинному просторі). Як би ви їх схарактеризували?
Натисніть тут, щоб побачити нашу відповідь
Більшість найближчих слів – це ті, які зазвичай асоціюються зі словом "атом", наприклад форма множини atoms і слова electron (електрон), molecule (молекула) і nucleus (ядро).
Завдання 2
Виконайте завдання й дайте відповідь на запитання, наведене нижче.
Натисніть кнопку Show All Data (Показати всі дані) на правій панелі, щоб скинути візуалізацію даних, яка була потрібна для завдання 1.
На правій панелі введіть слово uranium (уран) у поле Search (Пошук). Ваш екран має виглядати так, як показано на рисунку 10.
Перегляньте слова, наведені під текстом Nearest points in the original space (Найближчі точки в первинному просторі). Чим ці слова відрізняються від найближчих слів для значення atom?
Натисніть тут, щоб побачити нашу відповідь
Слово uranium означає певний радіоактивний хімічний елемент, і багато найближчих слів – це назви інших елементів, таких як цинк, марганець, мідь і алюміній.
Завдання 3
Виконайте завдання й дайте відповідь на запитання, наведене нижче.
Натисніть кнопку Show All Data (Показати всі дані) на правій панелі, щоб скинути візуалізацію даних, яка була потрібна для завдання 2.
На правій панелі введіть слово orange (помаранчевий/апельсин) у поле Search (Пошук). Ваш екран має виглядати так, як показано на рисунку 11.
Перегляньте слова, наведені під текстом Nearest points in the original space (Найближчі точки в первинному просторі). Що ви можете сказати про типи слів, які тут показано, і ті, яких тут немає?
Натисніть тут, щоб побачити нашу відповідь
Майже всі найближчі слова означають інші кольори, наприклад yellow (жовтий), green (зелений), blue (синій), purple (фіолетовий) і red (червоний). Лише одне з найближчих слів – juice (сік) – пов’язане з іншим значенням слова ("цитрусовий фрукт"). Слова на позначення інших очікуваних фруктів, наприклад "яблуко" й "банан", не увійшли до списку найближчих.
Цей приклад ілюструє один із ключових недоліків статичних векторних представлень, зокрема word2vec. Усі можливі значення слова представлено однією точкою у векторному просторі, тому, проводячи аналіз подібності для слова orange, неможливо виділити найближчі точки для певного значення, наприклад "апельсин" (фрукт), але не "помаранчевий" (колір).