Нейронні мережі навчаються за допомогою чисел, тому кожне слово буде зіставлено з векторами для представлення певного слова. Рівень вбудовування можна розглядати як таблицю пошуку, яка зберігає вбудовування слів і отримує їх за допомогою індексів.
Слова, які мають однакове значення, будуть близькими з точки зору подібності евклідової відстані/косинуса. наприклад, у наведеному нижче слові «субота», «неділя» та «понеділок» пов’язані з тим самим поняттям, тому ми бачимо, що слова подібні.
Визначення позиції слова. Чому нам потрібно визначати позицію слова? оскільки трансформаторний кодер не має повторюваності, як рекурентні нейронні мережі, ми повинні додати деяку інформацію про позиції у вхідні вбудовані дані. Це робиться за допомогою позиційного кодування. Автори статті використали наступні функції для моделювання позиції слова.
Ми спробуємо пояснити позиційне кодування.
Тут «pos» відноситься до позиції «слова» в послідовності. P0 відноситься до вбудовування позиції першого слова; «d» означає розмір вбудованого слова/токена. У цьому прикладі d=5. Нарешті, «i» відноситься до кожного з 5 окремих вимірів вбудовування (тобто 0, 1,2,3,4, XNUMX, XNUMX, XNUMX)
якщо «i» змінюватися у рівнянні вище, ви отримаєте купу кривих із різними частотами. Зчитування значень вбудовування позиції на різних частотах, надання різних значень при різних розмірах вбудовування для P0 і P4.
В цьому запит, Q представляє векторне слово, the ключі К всі інші слова в реченні, і значення V представляє вектор слова.
Мета звернення уваги полягає в тому, щоб обчислити важливість ключового терміна порівняно з терміном запиту, пов’язаним з тією самою особою/реччю чи поняттям.
У нашому випадку V дорівнює Q.
Механізм уваги дає нам значення слова в реченні.
Коли ми обчислюємо нормалізований скалярний добуток між запитом і ключами, ми отримуємо тензор, який представляє відносну важливість кожного слова для запиту.
Під час обчислення скалярного добутку між Q і KT ми намагаємося оцінити, як вирівнюються вектори (тобто слова між запитом і ключами) і повертаємо вагу для кожного слова в реченні.
Потім ми нормалізуємо результат d_k у квадраті, а функція softmax упорядковує доданки та масштабує їх між 0 і 1.
Нарешті, ми множимо результат (тобто ваги) на значення (тобто всі слова), щоб зменшити важливість нерелевантних слів і зосередитися лише на найважливіших словах.
Багатонаправлений вектор виведення уваги додається до оригінального позиційного введення. Це називається залишковим з’єднанням/пропущеним з’єднанням. Вихід залишкового з'єднання проходить через нормалізацію рівня. Нормований залишковий вихід пропускається через поточкову мережу прямого зв’язку для подальшої обробки.
Маска — це матриця такого ж розміру, що й показники уваги, заповнена значеннями 0 і нескінченністю.
Причина маски полягає в тому, що як тільки ви берете softmax замаскованих балів, негативні нескінченності стають нульовими, залишаючи нульові оцінки уваги для майбутніх токенів.
Це говорить моделі не зосереджуватися на цих словах.
Метою функції softmax є отримання дійсних чисел (додатних і від’ємних) і перетворення їх на додатні числа, сума яких дорівнює 1.
Равікумар Надувін зайнятий створенням і розумінням завдань НЛП за допомогою PyTorch.
Оригінал. Повідомлено з дозволу.
- Розповсюдження контенту та PR на основі SEO. Отримайте посилення сьогодні.
- Платоблокчейн. Web3 Metaverse Intelligence. Розширені знання. Доступ тут.
- джерело: https://www.kdnuggets.com/2023/01/concepts-know-getting-transformer.html?utm_source=rss&utm_medium=rss&utm_campaign=concepts-you-should-know-before-getting-into-transformer
- 1
- a
- МЕНЮ
- вище
- доданий
- проти
- вирівняні
- ВСІ
- та
- асоційований
- увагу
- authors
- оскільки
- перед тим
- нижче
- між
- Створюємо
- гроно
- званий
- випадок
- близько
- порівняний
- обчислення
- обчислення
- концепція
- поняття
- зв'язку
- Визначати
- визначення
- різний
- розміри
- DOT
- кожен
- оцінити
- приклад
- Пояснювати
- заповнений
- в кінці кінців
- Перший
- Сфокусувати
- після
- функція
- Функції
- далі
- майбутнє
- отримати
- отримання
- GitHub
- дає
- дає
- йде
- захоплення
- Як
- HTTPS
- значення
- важливо
- in
- індекси
- індивідуальний
- інформація
- вхід
- KDnuggets
- ключ
- ключі
- Знати
- шар
- УЧИТЬСЯ
- догляд
- пошук
- маска
- Матриця
- сенс
- засоби
- механізм
- модель
- найбільш
- Необхідність
- негативний
- мережу
- мереж
- Нейронний
- нейронні мережі
- nlp
- номера
- оригінал
- Інше
- Папір
- приватність
- Пройшов
- дозвіл
- plato
- Інформація про дані Платона
- PlatoData
- положення
- позиції
- позитивний
- обробка
- Product
- мета
- put
- піторх
- читання
- реальний
- причина
- рецидив
- зменшити
- відноситься
- пов'язаний
- представляти
- подання
- представляє
- результат
- в результаті
- повертати
- то ж
- пропозиція
- Послідовність
- Повинен
- аналогічний
- Розмір
- So
- деякі
- в квадраті
- магазинів
- таблиця
- Приймати
- завдання
- розповідає
- terms
- Команда
- думка
- через
- до
- Жетони
- Трансформатори
- ПЕРЕГЛЯД
- розуміння
- us
- значення
- Цінності
- вага
- який
- волі
- слово
- слова
- зефірнет
- нуль