Уявіть, що ви розробляєте додаток, який рекомендує страви. Користувачі вводять свої улюблені страви, а додаток пропонує щось схоже, що може їм сподобатися. Ви хочете розробити модель машинного навчання, яка може прогнозувати схожість страв, щоб ваш додаток надавав високоякісні рекомендації (наприклад, такі: "Оскільки ви любите млинці, рекомендуємо вам оладки").
Щоб навчити свою модель, ви готуєте набір даних із 5000 популярних страв, серед яких – борщ, хот-дог, салат, піца й шаурма.
Ви створюєте ознаку meal
, яка містить представлення кожної страви з набору даних як пряме кодування.
Типові помилки в представленнях розріджених даних
Переглядаючи ці вектори прямого кодування, можна помітити, що представлення даних має кілька недоліків.
- Кількість значень ваги. Якщо вектори вхідних даних великі, у нейронній мережі буде дуже багато значень ваги.
Якщо кількість записів у прямому кодуванні дорівнює M, а кількість вузлів першого шару мережі після введення даних – N, навчання моделі має охоплювати M x N значень ваги для цього шару. Велика кількість значень ваги є причиною інших проблем, наведених нижче.
- Кількість точок даних. Що більше значень ваги у моделі, то більше даних потрібно для ефективного навчання.
- Обсяг обчислень. Що більше значень ваги, то більше обчислень потрібно, щоб навчати й використовувати модель. Можна легко перевищити можливості апаратного забезпечення.
- Обсяг пам’яті. Що більше значень ваги в моделі, то більше пам’яті потрібно прискорювачам, які її навчають і обслуговують. Ефективно масштабувати її дуже складно.
- Складність підтримки машинного навчання на пристрої (ODML). Якщо ви маєте намір запустити свою модель машинного навчання на локальних пристроях (а не через платформу), вам потрібно буде зробити її меншою і, відповідно, зменшити кількість значень ваги.
- Відсутність змістовних зв’язків між векторами. Векторні значення в прямому кодуванні страв не дають суттєвої інформації про їх подібність. З погляду математики до індексу 1 ("хот-дог") ближче індекс 2 ("салат"), ніж 4999 ("шаурма"), хоча хот-дог більше схожий на шаурму (обидва містять м’ясо й хліб), ніж на салат.
Із цього модуля ви дізнаєтеся, як створювати векторні представлення – низьковимірні представлення розріджених даних, які вирішують ці проблеми.